From a2299a6d4a6f99e9c11132138f5d3e9ec68f03ea Mon Sep 17 00:00:00 2001 From: jiangping <jp@doumee.com> Date: 星期五, 06 六月 2025 19:19:34 +0800 Subject: [PATCH] 开发更新 --- admin/src/views/Inspection/components/OperaYwPatrolPointWindow.vue | 127 ++++++++++++++++++++++++++++++++++-------- 1 files changed, 103 insertions(+), 24 deletions(-) diff --git a/admin/src/views/Inspection/components/OperaYwPatrolPointWindow.vue b/admin/src/views/Inspection/components/OperaYwPatrolPointWindow.vue index 8674bad..2f22cd9 100644 --- a/admin/src/views/Inspection/components/OperaYwPatrolPointWindow.vue +++ b/admin/src/views/Inspection/components/OperaYwPatrolPointWindow.vue @@ -1,8 +1,8 @@ <template> <GlobalWindow :title="title" :visible.sync="visible" width="620px" :confirm-working="isWorking" @confirm="confirm"> <el-form :model="form" ref="form" :rules="rules"> - <el-form-item label="宸℃鐐圭紪鐮�" prop="code"> - <el-input v-model="form.code" placeholder="璇疯緭鍏ュ悕绉�" v-trim /> + <el-form-item label="宸℃鐐圭紪鐮�" required > + <el-input v-model="form.code" disabled readonly placeholder="绯荤粺鑷姩鐢熸垚" v-trim /> </el-form-item> <el-form-item label="宸℃鐐瑰悕绉�" prop="name"> <el-input v-model="form.name" placeholder="璇疯緭鍏ュ贰妫�鐐瑰悕绉�" v-trim /> @@ -18,18 +18,20 @@ label: 'name', value: 'id', children: 'childCategoryList', - checkStrictly: true }"></el-cascader> </el-form-item> <el-form-item label="缁忕含搴�"> - + <el-input v-model="form.lnglat" placeholder="绀轰緥锛�117.297461,31.849234" v-trim /> </el-form-item> + <!-- <el-form-item> + <mapDrag class="mapbox" @center="getCenter" /> + </el-form-item> --> <el-form-item label="宸℃鍐呭" prop="content"> <el-input type="textarea" :rows="4" v-model="form.content" placeholder="璇疯緭鍏�" /> </el-form-item> <el-form-item label="涓婁紶鍥剧墖" prop="imgurl"> - <UploadAvatarImage :file="{ 'imgurlfull': form.imgurlfull, 'imgurl': form.imgurl }" - :uploadData="{ folder: 'projects' }" @uploadSuccess="uploadAvatarSuccess" @uploadEnd="isUploading = false" + <UploadAvatarImage :file="{ 'imgurlfull': form.fileFullUrl, 'imgurl': form.fileUrl }" + :uploadData="{ folder: 'ywPatrol/' }" @uploadSuccess="uploadAvatarSuccess" @uploadEnd="isUploading = false" @uploadBegin="isUploading = true" /> </el-form-item> </el-form> @@ -40,11 +42,14 @@ import BaseOpera from '@/components/base/BaseOpera' import GlobalWindow from '@/components/common/GlobalWindow' import UploadAvatarImage from '@/components/common/UploadAvatarImage' +import mapDrag from '@/components/common/map/mapDrag.vue' import { fetchList } from '@/api/business/category' +import { detail } from '@/api/Inspection/ywPatrolPoint' +import { fetchList as getDeiceList } from '@/api/Inspection/device' export default { name: 'OperaYwPatrolPointWindow', extends: BaseOpera, - components: { GlobalWindow, UploadAvatarImage }, + components: { GlobalWindow, UploadAvatarImage, mapDrag }, data() { return { // 琛ㄥ崟鏁版嵁 @@ -53,7 +58,8 @@ code: '', content: '', imgurl: '', - areaId: '', + areaId: 0, + areaIds: [], addr: '' }, deviceList: [], @@ -61,7 +67,6 @@ // 楠岃瘉瑙勫垯 rules: { name: [{ required: true, message: '璇疯緭鍏�' }], - code: [{ required: true, message: '璇疯緭鍏�' }], }, isUploading: false, } @@ -73,33 +78,107 @@ }) }, methods: { + open(title, row) { + this.title = title + this.visible = true + this.initData() + if (row == null) { + this.$nextTick(() => { + this.form = { + name: '', + // code: '', + content: '', + imgurl: '', + areaId: 0, + areaIds: [], + addr: '' + } + this.$refs.form.resetFields() + + this.form[this.configData['field.id']] = null + }) + fetchList({ + model: { type: 4 }, + capacity: 1000, + page: 1, + }).then(res => { + this.cateList = res.records || [] + }) + return + } + if (row && row.id) { + this.getDetail(row) + } + }, + getDetail(row) { + detail(row.id).then(res => { + this.form = { ...res } + if (res.longitude && res.latitude) { + this.$set(this.form, 'lnglat', res.longitude + ',' + res.latitude) + } + fetchList({ + model: { type: 4 }, + capacity: 1000, + page: 1, + }).then(ress => { + this.cateList = ress.records || [] + const areaId = res.areaId + if (areaId) { + this.cateList.forEach(item => { + if (item.childCategoryList) { + item.childCategoryList.forEach(item2 => { + if (item2.id == areaId) { + this.$set(this.form, 'areaIds', [item.id, item2.id]) + + } + }) + } + }) + } + }) + + }) + }, initData() { - fetchList({ - model: { type: 4 }, + getDeiceList({ + model: {}, capacity: 1000, page: 1, }).then(res => { - this.cateList = res.records || [] + this.deviceList = res.records }) }, - changeSel(e) { - if (e && e.length == 1) { - this.$set(this.form, 'catePId', e[0]) - this.$set(this.form, 'cateId', '') - } else if (e && e.length == 2) { - this.$set(this.form, 'catePId', e[0]) - this.$set(this.form, 'cateId', e[1]) + getCenter(data) { + // console.log(data) + // this.$set(this.form, 'postion', data.address) + if (data.lng) { + this.$set(this.form, 'lnglat', data.lng + ',' + data.lat) } else { - this.$set(this.form, 'catePId', '') - this.$set(this.form, 'cateId', '') + this.$set(this.form, 'lnglat', '') } - this.search() + this.$set(this.form, 'longitude', data.lng) + this.$set(this.form, 'latitude', data.lat) + }, + changeSel(e) { + if (e && e.length == 2) { + this.$set(this.form, 'areaId', e[1]) + } else { + this.$set(this.form, 'areaId', '') + } }, uploadAvatarSuccess(file) { - this.form.imgurl = file.imgurl - this.form.imgurlfull = file.imgurlfull + this.$set(this.form, 'fileUrl', file.imgurl) + this.$set(this.form, 'fileFullUrl', file.imgurlfull) }, } } </script> +<style lang="scss" scoped> +.mapbox { + width: 100%; + height: 400px; + margin-bottom: 20px; + float: left; +} +</style> -- Gitblit v1.9.3