From 698848bc8586f7c927e0468d6e60711c323d029d Mon Sep 17 00:00:00 2001
From: liukangdong <898885815@qq.com>
Date: 星期四, 06 二月 2025 18:22:43 +0800
Subject: [PATCH] Merge branch '2.0.1' of http://139.186.142.91:10010/r/productDev/funingyunwei into 2.0.1
---
admin/src/views/Inspection/components/OperaYwPatrolPointWindow.vue | 197 +++++++++++++++++++++++++++++++++++++------------
1 files changed, 148 insertions(+), 49 deletions(-)
diff --git a/admin/src/views/Inspection/components/OperaYwPatrolPointWindow.vue b/admin/src/views/Inspection/components/OperaYwPatrolPointWindow.vue
index cc134ed..d17b360 100644
--- a/admin/src/views/Inspection/components/OperaYwPatrolPointWindow.vue
+++ b/admin/src/views/Inspection/components/OperaYwPatrolPointWindow.vue
@@ -1,46 +1,38 @@
<template>
- <GlobalWindow
- :title="title"
- :visible.sync="visible"
- :confirm-working="isWorking"
- @confirm="confirm"
- >
+ <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="creator">
- <el-input v-model="form.creator" placeholder="璇疯緭鍏ュ垱寤轰汉缂栫爜" v-trim/>
+ <el-form-item label="宸℃鐐圭紪鐮�" prop="code">
+ <el-input v-model="form.code" placeholder="璇疯緭鍏ュ悕绉�" v-trim />
</el-form-item>
- <el-form-item label="鍒涘缓鏃堕棿" prop="createDate">
- <el-date-picker v-model="form.createDate" value-format="yyyy-MM-dd" placeholder="璇疯緭鍏ュ垱寤烘椂闂�"></el-date-picker>
+ <el-form-item label="宸℃鐐瑰悕绉�" prop="name">
+ <el-input v-model="form.name" placeholder="璇疯緭鍏ュ贰妫�鐐瑰悕绉�" v-trim />
</el-form-item>
- <el-form-item label="鏇存柊浜虹紪鐮�" prop="editor">
- <el-input v-model="form.editor" placeholder="璇疯緭鍏ユ洿鏂颁汉缂栫爜" v-trim/>
+ <el-form-item label="宸℃璁惧">
+ <el-select v-model="form.deviceId">
+ <el-option v-for="item in deviceList" :key="item.id" :label="item.name" :value="item.id"></el-option>
+ </el-select>
</el-form-item>
- <el-form-item label="鏇存柊鏃堕棿" prop="editDate">
- <el-date-picker v-model="form.editDate" value-format="yyyy-MM-dd" placeholder="璇疯緭鍏ユ洿鏂版椂闂�"></el-date-picker>
+ <el-form-item label="鎵�灞炲尯鍩�" prop="areaId">
+ <el-cascader v-model="form.areaIds" @change="changeSel" placeholder="璇烽�夋嫨宸℃鍖哄煙" clearable :options="cateList"
+ :props="{
+ label: 'name',
+ value: 'id',
+ children: 'childCategoryList',
+ }"></el-cascader>
</el-form-item>
- <el-form-item label="鏄惁鍒犻櫎0鍚� 1鏄�" prop="isdeleted">
- <el-input v-model="form.isdeleted" placeholder="璇疯緭鍏ユ槸鍚﹀垹闄�0鍚� 1鏄�" v-trim/>
+ <el-form-item label="缁忕含搴�">
+ <el-input v-model="form.lnglat" placeholder="绀轰緥锛�117.297461,31.849234" v-trim />
</el-form-item>
- <el-form-item label="鍚嶇О" prop="name">
- <el-input v-model="form.name" placeholder="璇疯緭鍏ュ悕绉�" v-trim/>
+ <!-- <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="remark">
- <el-input v-model="form.remark" placeholder="璇疯緭鍏ュ娉�" v-trim/>
- </el-form-item>
- <el-form-item label="鐘舵�� 0鍚敤 1绂佺敤" prop="status">
- <el-input v-model="form.status" placeholder="璇疯緭鍏ョ姸鎬� 0鍚敤 1绂佺敤" v-trim/>
- </el-form-item>
- <el-form-item label="鎺掑簭鐮�" prop="sortnum">
- <el-input v-model="form.sortnum" placeholder="璇疯緭鍏ユ帓搴忕爜" v-trim/>
- </el-form-item>
- <el-form-item label="鍥炬爣" prop="imgurl">
- <el-input v-model="form.imgurl" placeholder="璇疯緭鍏ュ浘鏍�" v-trim/>
- </el-form-item>
- <el-form-item label="鍖哄煙缂栫爜锛堝叧鑱攃ategory)" prop="areaId">
- <el-input v-model="form.areaId" placeholder="璇疯緭鍏ュ尯鍩熺紪鐮侊紙鍏宠仈category)" v-trim/>
- </el-form-item>
- <el-form-item label="鍦板潃" prop="addr">
- <el-input v-model="form.addr" placeholder="璇疯緭鍏ュ湴鍧�" v-trim/>
+ <el-form-item label="涓婁紶鍥剧墖" prop="imgurl">
+ <UploadAvatarImage :file="{ 'imgurlfull': form.fileFullUrl, 'imgurl': form.fileUrl }"
+ :uploadData="{ folder: 'ywPatrol/' }" @uploadSuccess="uploadAvatarSuccess" @uploadEnd="isUploading = false"
+ @uploadBegin="isUploading = true" />
</el-form-item>
</el-form>
</GlobalWindow>
@@ -49,38 +41,145 @@
<script>
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 },
- data () {
+ components: { GlobalWindow, UploadAvatarImage, mapDrag },
+ data() {
return {
// 琛ㄥ崟鏁版嵁
form: {
- id: null,
- creator: '',
- createDate: '',
- editor: '',
- editDate: '',
- isdeleted: '',
name: '',
- remark: '',
- status: '',
- sortnum: '',
+ code: '',
+ content: '',
imgurl: '',
- areaId: '',
+ areaId: 0,
+ areaIds: [],
addr: ''
},
+ deviceList: [],
+ cateList: [],
// 楠岃瘉瑙勫垯
rules: {
- }
+ name: [{ required: true, message: '璇疯緭鍏�' }],
+ code: [{ required: true, message: '璇疯緭鍏�' }],
+ },
+ isUploading: false,
}
},
- created () {
+ created() {
this.config({
api: '/Inspection/ywPatrolPoint',
'field.id': 'id'
})
+ },
+ 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() {
+ getDeiceList({
+ model: {},
+ capacity: 1000,
+ page: 1,
+ }).then(res => {
+ this.deviceList = res.records
+ })
+
+ },
+ 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, 'lnglat', '')
+ }
+ 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.$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>
\ No newline at end of file
--
Gitblit v1.9.3