<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>
|
<el-form-item label="巡检点名称" prop="name">
|
<el-input v-model="form.name" placeholder="请输入巡检点名称" v-trim />
|
</el-form-item>
|
<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="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="经纬度">
|
|
</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"
|
@uploadBegin="isUploading = true" />
|
</el-form-item>
|
</el-form>
|
</GlobalWindow>
|
</template>
|
|
<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, UploadAvatarImage },
|
data() {
|
return {
|
// 表单数据
|
form: {
|
name: '',
|
code: '',
|
content: '',
|
imgurl: '',
|
areaId: '',
|
addr: ''
|
},
|
deviceList: [],
|
cateList: [],
|
// 验证规则
|
rules: {
|
name: [{ required: true, message: '请输入' }],
|
code: [{ required: true, message: '请输入' }],
|
},
|
isUploading: false,
|
}
|
},
|
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>
|