Commit 21397afdeba193a8357d2d0cb065a8f7faf40769
1 parent
6cba22de
树 新增
Showing
8 changed files
with
318 additions
and
103 deletions
App.vue
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
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; | ... | ... |