|  |  | 
 |  |  | <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', | 
 |  |  |             checkStrictly: true | 
 |  |  |           }"></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-form-item> | 
 |  |  |       <el-form-item label="名称" prop="name"> | 
 |  |  |         <el-input v-model="form.name" placeholder="请输入名称" v-trim/> | 
 |  |  |       <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="区域编码(关联category)" 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.imgurlfull, 'imgurl': form.imgurl }" | 
 |  |  |           :uploadData="{ folder: 'projects' }" @uploadSuccess="uploadAvatarSuccess" @uploadEnd="isUploading = false" | 
 |  |  |           @uploadBegin="isUploading = true" /> | 
 |  |  |       </el-form-item> | 
 |  |  |     </el-form> | 
 |  |  |   </GlobalWindow> | 
 |  |  | 
 |  |  | <script> | 
 |  |  | import BaseOpera from '@/components/base/BaseOpera' | 
 |  |  | import GlobalWindow from '@/components/common/GlobalWindow' | 
 |  |  | import UploadAvatarImage from '@/components/common/UploadAvatarImage' | 
 |  |  | import { fetchList } from '@/api/business/category' | 
 |  |  | export default { | 
 |  |  |   name: 'OperaYwPatrolPointWindow', | 
 |  |  |   extends: BaseOpera, | 
 |  |  |   components: { GlobalWindow }, | 
 |  |  |   data () { | 
 |  |  |   components: { GlobalWindow, UploadAvatarImage }, | 
 |  |  |   data() { | 
 |  |  |     return { | 
 |  |  |       // 表单数据 | 
 |  |  |       form: { | 
 |  |  |         id: null, | 
 |  |  |         creator: '', | 
 |  |  |         createDate: '', | 
 |  |  |         editor: '', | 
 |  |  |         editDate: '', | 
 |  |  |         isdeleted: '', | 
 |  |  |         name: '', | 
 |  |  |         remark: '', | 
 |  |  |         status: '', | 
 |  |  |         sortnum: '', | 
 |  |  |         code: '', | 
 |  |  |         content: '', | 
 |  |  |         imgurl: '', | 
 |  |  |         areaId: '', | 
 |  |  |         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: { | 
 |  |  |     initData() { | 
 |  |  |       fetchList({ | 
 |  |  |         model: { type: 4 }, | 
 |  |  |         capacity: 1000, | 
 |  |  |         page: 1, | 
 |  |  |       }).then(res => { | 
 |  |  |         this.cateList = 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]) | 
 |  |  |       } else { | 
 |  |  |         this.$set(this.form, 'catePId', '') | 
 |  |  |         this.$set(this.form, 'cateId', '') | 
 |  |  |       } | 
 |  |  |       this.search() | 
 |  |  |     }, | 
 |  |  |     uploadAvatarSuccess(file) { | 
 |  |  |       this.form.imgurl = file.imgurl | 
 |  |  |       this.form.imgurlfull = file.imgurlfull | 
 |  |  |     }, | 
 |  |  |   } | 
 |  |  | } | 
 |  |  | </script> |