Commit 21397afdeba193a8357d2d0cb065a8f7faf40769

Authored by 刘淇
1 parent 6cba22de

树 新增

... ... @@ -17,7 +17,7 @@ export default {
17 17 <style lang="scss">
18 18 page {
19 19 background-color: #F4F4F4;
20   - color: #333;
  20 + color: #666;
21 21 }
22 22 @import './components/thorui/fui-css/firstui.scss';
23 23 </style>
... ...
api/tree.js 0 → 100644
  1 +
  2 +
  3 +import request from '@/utils/request'
  4 +
  5 +// 权属分类
  6 +export const treeOwnership = (params) => request.get('/system/dict/data/type/tree_ownership', params)
  7 +
  8 +// 新增树
  9 +export const addTree = (params) => request.post('/business/tree', params)
  10 +
  11 +// 树基本详情
  12 +export const treeDetailReq = (params) => request.get('/business/tree/'+params )
  13 +
  14 +
  15 +// 归属公司
  16 +export const belongCompanyreq = (params) => request.get('/system/dict/data/type/belongCompanyId', params)
  17 +
  18 +
  19 +// 班组集合
  20 +export const deptListReq = (params) => request.get('/business/tree/dept/list', params)
  21 +
  22 +// 道路树木列表
  23 +export const treeRoadReq = (params) => request.get('/business/tree/road/list', params)
  24 +
  25 +// 分类
  26 +export const treeLevelReq = (params) => request.get('/system/dict/data/type/tree_level', params)
  27 +
  28 +
  29 +
  30 +// 获取道路数据列表(根据街道id)
  31 +export const apiRoadListByStreetId = (params) => request.get('/road/manager/queryRoadListByStreetId', params)
... ...
config/app.js
... ... @@ -17,7 +17,9 @@ const baseURLMap = {
17 17 // 开发环境
18 18 development: 'https://test.jichengshanshui.com.cn:28303',
19 19 // 生产环境
20   - production: IS_H5 ? location.origin : 'http://125.35.93.94:8986'
  20 + // production: IS_H5 ? location.origin : 'http://125.35.93.94:8986'
  21 + // 生产环境
  22 + production: IS_H5 ? location.origin : 'https://test.jichengshanshui.com.cn:28303'
21 23 }
22 24  
23 25 /** E API BaseURL **/
... ...
manifest.json
... ... @@ -112,7 +112,7 @@
112 112 "quickapp" : {},
113 113 /* 小程序特有相关 */
114 114 "mp-weixin" : {
115   - "appid" : "wx64368a9b9e799172",
  115 + "appid" : "wxcb4cd34066b97d82",
116 116 "setting" : {
117 117 "urlCheck" : false
118 118 },
... ...
subPackages/treePage/addTree.vue
... ... @@ -42,9 +42,35 @@
42 42 </template>
43 43 </tui-form-item>
44 44  
45   - <tui-form-item asterisk label="管护单位" arrow highlight prop="managedutyunit" @click="pickerShow">
46   - <tui-input padding="0" :borderBottom="false" placeholder="请选择" disabled
47   - backgroundColor="transparent" v-model="formData.managedutyunit"></tui-input>
  45 + <tui-col :span="12">
  46 + <tui-form-item
  47 +
  48 + label="纬度"
  49 + class="location-form-item"
  50 +
  51 + prop="latitude"
  52 + >
  53 + {{ formData.latitude }}
  54 + </tui-form-item>
  55 + </tui-col>
  56 + <tui-col :span="12">
  57 + <tui-form-item
  58 + label="经度"
  59 + class="location-form-item"
  60 + prop="latitude"
  61 + >
  62 + {{ formData.longitude }}
  63 + </tui-form-item>
  64 + </tui-col>
  65 +
  66 +
  67 + <tui-form-item asterisk label="管护单位" prop="managedutyunit">
  68 +
  69 + <tui-input padding="0" :borderBottom="false" placeholder="请输入" maxlength="30"
  70 + v-model="formData.managedutyunit"></tui-input>
  71 +
  72 + <!-- <tui-input padding="0" :borderBottom="false" placeholder="请选择" disabled-->
  73 + <!-- backgroundColor="transparent" v-model="formData.managedutyunit"></tui-input>-->
48 74 </tui-form-item>
49 75 <tui-form-item asterisk label="权属分类" arrow highlight prop="oldtreeownership" @click="pickerShow">
50 76 <tui-input padding="0" :borderBottom="false" placeholder="请选择" disabled
... ... @@ -53,23 +79,21 @@
53 79  
54 80 <tui-form-item label="图片信息" asterisk prop="treeImgList">
55 81 <!-- 使用ThorUI的tui-upload组件 -->
56   -<!-- @remove="handleRemove" :multiple="true" :value="formData.treeImgList"-->
  82 + <!-- @remove="handleRemove" :multiple="true" :value="formData.treeImgList"-->
57 83 <tui-upload
58 84 :height="140"
59 85 :width="140"
60   - :value="formData.treeImgList"
  86 + :value="formData.treeImgListFile"
61 87 :serverUrl="serverURL" :header="{'Authorization': userToken}"
62 88 @complete="handleComplete"
63   -
64 89 :limit="3"
65   -
66 90 accept="image/*"
67   - >
68   - <!-- 自定义上传按钮 -->
69   - <view class="upload-btn">
70   - <tui-icon name="plus" size="32" color="#999"></tui-icon>
  91 + >
  92 + <!-- 自定义上传按钮 -->
  93 + <view class="upload-btn">
  94 + <tui-icon name="plus" size="32" color="#999"></tui-icon>
71 95  
72   - </view>
  96 + </view>
73 97 <!-- 提示信息 -->
74 98 <!-- <view class="upload-tips">-->
75 99 <!-- 最多上传3张图片,单张不超过5MB-->
... ... @@ -101,7 +125,7 @@
101 125 </tui-form-item>
102 126 </tui-col>
103 127 <tui-col :span="12">
104   - <tui-form-item label="级别" arrow highlight prop="treelevel" @click="pickerShow">
  128 + <tui-form-item label="级别" arrow highlight prop="treelevel" @click="pickerLevelShow">
105 129 <tui-input padding="0" :borderBottom="false" placeholder="请选择" disabled
106 130 backgroundColor="transparent" v-model="formData.treelevel"></tui-input>
107 131 </tui-form-item>
... ... @@ -176,46 +200,71 @@
176 200 <tui-button bold @click="submit">提交</tui-button>
177 201 </view>
178 202 </tui-form>
179   - <tui-picker :show="show" :pickerData="areaData" @hide="pickerHide" @change="pickerChange">
  203 + <tui-picker :show="show" :pickerData="treeOwnershipData" textField="dictLabel" valueField="dictValue"
  204 + @hide="pickerHide" @change="pickerChange">
  205 + </tui-picker>
  206 +
  207 + <tui-picker :show="levelshow" :pickerData="treeLevelData" textField="dictLabel" valueField="dictValue"
  208 + @hide="pickerLevelHide" @change="pickerLevelChange">
180 209 </tui-picker>
181 210 </view>
182 211 </template>
183 212  
184 213 <script>
185   -import { uploadURL } from '@/config/app'
  214 +import { uploadURL,OSSURL} from '@/config/app'
  215 +import { treeOwnership, addTree, treeLevelReq } from "@/api/tree";
186 216 const rules = [{
187 217 name: "treetype",
188 218 rule: ["required"],
189 219 msg: ["请输入名称"]
190 220 }, {
191 221 name: "treeheight",
192   - rule: ["required", "maxLength:10"],
193   - msg: ["请输入数高", "数高不能超过10个字符"]
  222 + rule: ["required", "maxLength:10", "isAmount"],
  223 + msg: ["请输入数高", "数高不能超过10个字符", "请输入正确"]
194 224 }, {
195 225 name: "dbh",
196   - rule: ["required", "maxLength:10"],
197   - msg: ["请输入胸径", "胸径不能超过10个字符"]
198   -}, {
199   - name: "growlocation",
200   - rule: ["required"],
201   - msg: ["请地图选择位置"]
  226 + rule: ["required", "maxLength:10", "isAmount"],
  227 + msg: ["请输入胸径", "胸径不能超过10个字符", "请输入正确"]
202 228 }, {
203   - name: "managedutyunit",
204   - rule: ["required"],
205   - msg: ["请选择权属单位"]
206   -}, {
207   - name: "oldtreeownership",
208   - rule: ["required"],
209   - msg: ["请选择权属分类"]
210   -},{
211   - name: "treeImgList",
212   - rule: ["required", "custom"], // 增加required强制必选
213   - msg: ["请上传图片", "请至少上传一张图片"], // 对应两个规则的提示
214   - custom: function(value) {
215   - // 即使required通过,再校验数组长度
216   - return value.length > 0;
217   - }
218   -}];
  229 + name: "estimationtreeage",
  230 + rule: ["maxLength:10", "isAmount"],
  231 + msg: ["胸径不能超过10个字符", "请输入正确"]
  232 +},
  233 + {
  234 + name: "weekday",
  235 + rule: ["maxLength:10", "isAmount"],
  236 + msg: ["胸径不能超过10个字符", "请输入正确"]
  237 + },
  238 + {
  239 + name: "canopyeastwest",
  240 + rule: ["maxLength:10", "isAmount"],
  241 + msg: ["胸径不能超过10个字符", "请输入正确"]
  242 + },
  243 + {
  244 + name: "canopysouthnorth",
  245 + rule: ["maxLength:10", "isAmount"],
  246 + msg: ["胸径不能超过10个字符", "请输入正确"]
  247 + }, {
  248 + name: "growlocation",
  249 + rule: ["required"],
  250 + msg: ["请地图选择位置"]
  251 + }, {
  252 + name: "managedutyunit",
  253 + rule: ["required"],
  254 + msg: ["请选择权属单位"]
  255 + }, {
  256 + name: "oldtreeownership",
  257 + rule: ["required"],
  258 + msg: ["请选择权属分类"]
  259 + }, {
  260 + name: "treeImgListFile",
  261 + rule: ["required", "custom"], // 增加required强制必选
  262 + msg: ["请上传图片", "请至少上传一张图片"], // 对应两个规则的提示
  263 + custom: function (value) {
  264 + // 即使required通过,再校验数组长度
  265 + return value.length > 0;
  266 + }
  267 + }];
219 268 export default {
220 269 props: {
221 270 // 外部传入的已上传图片列表
... ... @@ -229,17 +278,10 @@ export default {
229 278 isShow: false, // 控制区域显示/隐藏
230 279 contentHeight: 200, // 内容区域高度
231 280 serverURL: uploadURL,
232   - areaData: [{
233   - text: "中国",
234   - value: "1001"
235   - }, {
236   - text: "美国",
237   - value: "1002"
238   - }, {
239   - text: "俄罗斯",
240   - value: "1003"
241   - }],
  281 + treeOwnershipData: [],
  282 + treeLevelData: [], // 级别
242 283 show: false,
  284 + levelshow: false,
243 285 //仅对部分数据进行收集演示
244 286 formData: {
245 287 //数名
... ... @@ -256,15 +298,17 @@ export default {
256 298 oldtreeownership: '',
257 299 latinname: '', // 拉丁名
258 300 estimationtreeage: '', // 估测树龄
259   - canopysouthnorth:'', // 冠幅南北
  301 + canopysouthnorth: '', // 冠幅南北
260 302 canopyeastwest: '', // 冠幅东西
261 303 weekday: '', // 干周
262   - growlocation:'', // 位置
  304 + growlocation: '', // 位置
263 305 growthenvironment: '', // 生长环境
264   - treeImgList:[], // 图片信息
  306 + treeImgList: [], // 图片信息
  307 + treeImgListFile: [], // 图片信息
265 308 address: '', // 位置名称
266 309 latitude: '', // 纬度
267   - longitude: '' // 经度
  310 + longitude: '', // 经度
  311 + road: ''
268 312 },
269 313 // currentFiles: [...this.value], // 当前已上传文件列表
270 314 // value: []
... ... @@ -282,25 +326,41 @@ export default {
282 326 this.$refs.form && this.$refs.form.immediateValidate(true, rules);
283 327 // this.$refs.form && this.$refs.form.immediateValidate(true, rules)
284 328 },
  329 + onLoad(options) {
  330 + treeLevelReq().then(res => {
  331 + this.treeLevelData = res.data
  332 + })
  333 + this.formData.road = options.roadId
  334 + this.treeOwnership()
  335 + },
285 336 methods: {
  337 + handleInput() {
  338 + this.formData.treeheight = this.formData.treeheight.replace(/^(\d*\.\d{0,2}).*/, '$1');
  339 + },
  340 + treeOwnership() {
  341 + treeOwnership().then(res => {
  342 + console.log(res)
  343 + this.treeOwnershipData = res.data
  344 + })
  345 + },
286 346 // 切换显示/隐藏状态
287 347 toggleArea() {
288 348 this.isShow = !this.isShow;
289 349 },
290 350 // 上传完成回调
291 351 handleComplete(e) {
292   -
293   - if (e.status == 1){
  352 + if (e.status == 1) {
294 353 console.log(e)
295 354 // this.formData.treeImgList.push(e.imgArr);
296   -
297   - this.formData.treeImgList = e.imgArr;
  355 + console.log(e.imgArr[0])
  356 + this.formData.treeImgListFile = e.imgArr
  357 + this.formData.treeImgList = e.imgArr.map(item=>OSSURL+item);
  358 + console.log(this.formData.treeImgList)
  359 + // baseURL
298 360 // 手动触发treeImgList字段的校验
299 361 this.$refs.form.validateField("treeImgList");
300   - console.log(this.formData.treeImgList)
301   - console.log(this.formData.treeImgList.length)
302   - }
303 362  
  363 + }
304 364 // this.formData.treeImgList = e.imgArr;
305 365 // 根据实际接口返回格式调整
306 366 // this.currentFiles.push(e.data);
... ... @@ -314,7 +374,6 @@ export default {
314 374 // this.$emit('input', this.currentFiles);
315 375 // this.$emit('remove', index);
316 376 },
317   -
318 377 pickerShow() {
319 378 this.show = true
320 379 },
... ... @@ -323,16 +382,24 @@ export default {
323 382 },
324 383 pickerChange(e) {
325 384 console.log(e)
326   - this.formData.oldtreeownership = e.text
327   - this.formData.managedutyunit = e.text
328   -
  385 + this.formData.oldtreeownership = e.dictLabel
  386 + },
  387 + pickerLevelShow() {
  388 + this.levelshow = true
  389 + },
  390 + pickerLevelHide() {
  391 + this.levelshow = false
  392 + },
  393 + pickerLevelChange(e) {
  394 + console.log(e)
  395 + this.formData.treelevel = e.dictLabel
329 396 },
330 397 submit() {
331 398 // 3. 打印提交时的数据
332 399 console.log("提交时treeImgList:", this.formData.treeImgList);
333 400 // 手动校验图片
334 401 if (!this.formData.treeImgList || this.formData.treeImgList.length === 0) {
335   - uni.showToast({ title: "请上传图片", icon: "none" });
  402 + uni.showToast({title: "请上传图片", icon: "none"});
336 403 return; // 阻止提交
337 404 }
338 405 //注:结合FormItem校验,validate方法第三个参数必须传true
... ... @@ -340,6 +407,14 @@ export default {
340 407 if (res.isPass) {
341 408 console.log(this.formData)
342 409 console.log('校验通过!')
  410 + // addTree()
  411 + addTree({data: {...this.formData}}).then(res => {
  412 + console.log(res)
  413 + if (res.code == '200') {
  414 + uni.showToast({title: "新增成功", icon: "none"});
  415 + uni.$tui.href(`/subPackages/treePage/treeRecord?roadId=${this.formData.road}`)
  416 + }
  417 + })
343 418 } else {
344 419 console.log(res)
345 420 }
... ...
subPackages/treePage/editTree.vue
... ... @@ -14,6 +14,8 @@
14 14  
15 15 </template>
16 16 <script >
  17 +import { treeDetailReq } from "@/api/tree";
  18 +
17 19 import treeLog from "./treeLog.vue";
18 20 export default {
19 21 components:{treeLog},
... ... @@ -27,8 +29,14 @@ export default {
27 29 },
28 30 onLoad(options){
29 31 this.id = options.id
  32 + this.treeDetailQuery()
30 33 },
31 34 methods:{
  35 + treeDetailQuery(){
  36 + treeDetailReq(this.id).then(res=>{
  37 + console.log(res)
  38 + })
  39 + },
32 40 tabChange(i){
33 41 console.log(i.item.name)
34 42 this.currentName = i.item.name
... ...
subPackages/treePage/treeFiles.vue
... ... @@ -7,7 +7,7 @@
7 7 </tui-form-item>
8 8 <tui-form-item prop="name" :bottom-border="false">
9 9 <tui-input padding="0" :borderBottom="false" placeholder="请输入道路" maxlength="20"
10   - v-model="formData.name"></tui-input>
  10 + v-model="formData.roadName" @confirm="searchChange"></tui-input>
11 11 </tui-form-item>
12 12 </tui-form>
13 13  
... ... @@ -22,37 +22,43 @@
22 22  
23 23 <view class="full-height-row">
24 24 <view class="full-height-col left-con">
25   - <view v-for="(i,index) in 7" class="teamsItem" :key="index"
  25 + <view v-for="(i,index) in depts" class="teamsItem" :key="index"
26 26 @click="teamsChange(i)"
27 27 :class="{teamsActive:index==currentIndex}"
28 28 >
29   - <view class="fs-ellipsis fs-pt16 fs-pb16 fs-pl8 fs-pr8">归属班组归属班组归属班组</view>
  29 + <view class="fs-ellipsis fs-pt16 fs-pb16 fs-pl8 fs-pr8">{{ i.deptName }}</view>
30 30  
31 31 </view>
32 32 </view>
33 33 <view class="full-height-col right-con">
34   - <view class="nodata-wrap">
  34 + <view class="nodata-wrap" v-if="roads.length==0">
35 35 <img src="/static/images/nodata.png" alt="">
36 36 <view style="color: #aaa">暂无数据</view>
37 37  
38   -<!-- <tui-no-data imgUrl="/static/images/nodata.png">暂无数据</tui-no-data>-->
  38 + <!-- <tui-no-data imgUrl="/static/images/nodata.png">暂无数据</tui-no-data>-->
39 39 </view>
40   - <view v-for="i in 6" class="card-wrap">
  40 + <view v-else>
  41 + <view v-for="i in roads" class="card-wrap" @click="toNewPage(i.roadId)">
41 42  
42   - <p class="fs-flex__between">
43   - <span>白菜湾四街</span>
44   - <span>154颗</span>
45   - </p>
  43 + <p class="fs-flex__between">
  44 + <span>{{ i.roadName }}</span>
  45 + <span>{{ i.treeCount }}颗</span>
  46 + </p>
46 47  
47   - <p>已录入行道树:3颗</p>
  48 + <p>已录入行道树:{{ i.recordedCount }}颗</p>
48 49  
49   - <p>起点。。。。。</p>
  50 + <p>起点:{{ i.startRemark }}</p>
  51 + <p>终点:{{ i.endRemark }}</p>
  52 +
  53 + </view>
50 54 </view>
51 55  
  56 +
52 57 </view>
53 58 </view>
54 59  
55   - <tui-picker :show="show" :pickerData="areaData" @hide="pickerHide" @change="pickerChange">
  60 + <tui-picker :show="show" :pickerData="belongCompanyData" textField="dictLabel" valueField="dictValue"
  61 + @hide="pickerHide" @change="pickerChange">
56 62 </tui-picker>
57 63  
58 64 </view>
... ... @@ -60,29 +66,24 @@
60 66  
61 67  
62 68 <script>
  69 +import { belongCompanyreq, deptListReq, treeRoadReq } from "@/api/tree";
63 70 export default {
64 71 name: "treeFiles",
65 72 data() {
66 73 return {
67   - cardList:[],
68   - areaData: [{
69   - text: "中国",
70   - value: "1001"
71   - }, {
72   - text: "美国",
73   - value: "1002"
74   - }, {
75   - text: "俄罗斯",
76   - value: "1003"
77   - }],
  74 + cardList: [],
  75 + belongCompanyData: [],
78 76 show: false,
79 77 currentIndex: 0,
80 78 formData: {
81 79 //道路
82   - name: '',
  80 + roadName: '',
83 81 //归属单位
84 82 area: '',
85 83 },
  84 + companyId: '',// 归属公司
  85 + depts: [],// 归属班组
  86 + roads: [], // 道路树
86 87 card: {
87 88 title: {
88 89 text: '白菜湾四街'
... ... @@ -97,7 +98,46 @@ export default {
97 98 }
98 99 }
99 100 },
  101 + onLoad() {
  102 + // 归属公司
  103 + belongCompanyreq().then(res => {
  104 + this.belongCompanyData = res.data
  105 + if (this.belongCompanyData.length > 0) {
  106 + this.formData.area = this.belongCompanyData[0].dictLabel
  107 + this.companyId = (this.belongCompanyData[0].dictValue).toString()
  108 + this.deptListQuery()
  109 + }
  110 + })
  111 + },
100 112 methods: {
  113 + toNewPage(params){
  114 + console.log('123312')
  115 + uni.$tui.href(`/subPackages/treePage/treeRecord?roadId=${params}`)
  116 +
  117 + },
  118 + searchChange() {
  119 + this.deptListQuery()
  120 + },
  121 + // 归属班组
  122 + deptListQuery() {
  123 + deptListReq({data: {companyId: this.companyId, roadName: this.formData.roadName}}).then(res => {
  124 + if (res.data.length == 0) {
  125 + this.depts = []
  126 + this.roads = []
  127 + } else {
  128 + this.depts = res.data[0].depts
  129 + this.roads = this.depts[0].roads
  130 + }
  131 + // this.treeRoadQuery()
  132 + })
  133 + },
  134 + // 树列表
  135 + treeRoadQuery() {
  136 + treeRoadReq({data: {road: ''}}).then(res => {
  137 + console.log(res)
  138 + })
  139 + },
  140 + // 归属公司
101 141 teamsChange(i) {
102 142 console.log(i)
103 143 this.currentIndex = i
... ... @@ -166,11 +206,12 @@ export default {
166 206 border-radius: 10rpx;
167 207 }
168 208  
169   -.nodata-wrap{
  209 +.nodata-wrap {
170 210 margin: 20px auto;
171 211 text-align: center;
172   - image{
173   - width: 160rpx ;
  212 +
  213 + image {
  214 + width: 160rpx;
174 215 height: 160rpx;
175 216 margin-bottom: 20rpx;
176 217 }
... ...
subPackages/treePage/treeRecord.vue
1 1 <template>
2 2 <view class="container">
3   - <view class="record-wrap">
4   - <view class="record-list-wrap" v-for="i in 10">1</view>
  3 +
  4 + <tui-no-data imgUrl="/static/images/nodata.png" v-if="rows.length==0">暂无数据</tui-no-data>
  5 + <view class="record-wrap" v-else>
  6 + <view class="record-list-wrap" v-for="i in rows" @click="toEditPage(i.id)">
  7 + <view class="record-list-left" :style="`background-image: url(${i.treephoto});`"></view>
  8 + <view class="record-list-right">
  9 + <view class="record-list-right-title">
  10 + <view>{{i.treetype}}</view>
  11 + <view>{{i.updatetime.substring(0,10)}}</view>
  12 + </view>
  13 + <view class="fs-mt8">
  14 + 高度:{{i.treeheight}}
  15 + </view>
  16 + <view class="fs-mt8">
  17 + 胸径:{{i.dbh}}
  18 + </view>
  19 + <view class="fs-mt8">
  20 + 树木编号:{{i.treenumber}}
  21 + </view>
  22 + </view>
  23 + </view>
5 24 </view>
6 25  
7 26  
8   - <tui-button class="addTree">新增树木录入</tui-button>
  27 + <tui-button class="addTree" @click="toAddTreePage">新增树木录入</tui-button>
9 28 </view>
10 29  
11 30 </template>
12 31  
13 32 <script>
14   -
  33 +import { treeRoadReq } from "@/api/tree";
15 34 export default {
16   - name: "treeRecord"
  35 + name: "treeRecord",
  36 + data(){
  37 + return{
  38 + rows:[],
  39 + roadId:''
  40 + }
  41 + },
  42 + onLoad(options){
  43 + this.roadId = options.roadId
  44 + this.treeRoadQuery()
  45 + },
  46 + methods:{
  47 + toEditPage(id){ // 前往修改页面
  48 + uni.$tui.href(`/subPackages/treePage/editTree?id=${id}`)
  49 + },
  50 + toAddTreePage(){
  51 + uni.$tui.href(`/subPackages/treePage/addTree?roadId=${this.roadId}`)
  52 + },
  53 + // 记录列表
  54 + treeRoadQuery(){
  55 + treeRoadReq({data:{road: this.roadId}}).then(res=>{
  56 + console.log(res)
  57 + this.rows = res.rows
  58 + })
  59 + },
  60 + }
17 61 }
18 62 </script>
19 63  
... ... @@ -22,13 +66,27 @@ export default {
22 66 padding-bottom: 120rpx;
23 67 }
24 68 .record-list-wrap{
25   - height: 200rpx;
  69 + height: 130px;
26 70 margin: 20rpx 20rpx 0 20rpx;
27 71 padding: 20rpx;
28 72 box-shadow: 0 1rpx 2rpx 5rpx rgb(0, 0, 0, .3);
29 73 border-radius: 10rpx;
  74 + display: flex;
  75 +}
  76 +.record-list-left{
  77 + height: 100px;
  78 + width: 100px;
  79 + background-size: 100% 100%;
  80 +}
  81 +.record-list-right{
  82 + height: 140px;
  83 + margin-left: 20px;
  84 + flex:1
  85 +}
  86 +.record-list-right-title{
  87 + display: flex;
  88 + justify-content: space-between;
30 89 }
31   -
32 90 .addTree{
33 91 width: 100%;
34 92 position: fixed;
... ...