|
|
@ -33,6 +33,9 @@
|
|
|
|
<template #prepend>
|
|
|
|
<template #prepend>
|
|
|
|
<el-button icon="MapLocation" />
|
|
|
|
<el-button icon="MapLocation" />
|
|
|
|
</template>
|
|
|
|
</template>
|
|
|
|
|
|
|
|
<template #append>
|
|
|
|
|
|
|
|
<span class="location-search" @click="handleSearch">搜索</span>
|
|
|
|
|
|
|
|
</template>
|
|
|
|
</el-input>
|
|
|
|
</el-input>
|
|
|
|
|
|
|
|
|
|
|
|
<div class="serch-list" v-show="gaodePOIList.length > 0">
|
|
|
|
<div class="serch-list" v-show="gaodePOIList.length > 0">
|
|
|
@ -66,64 +69,38 @@
|
|
|
|
/>
|
|
|
|
/>
|
|
|
|
</el-checkbox-group>
|
|
|
|
</el-checkbox-group>
|
|
|
|
</el-form-item>
|
|
|
|
</el-form-item>
|
|
|
|
<el-form-item label="工单照片:" prop="gdtp">
|
|
|
|
<el-form-item label="影响类型:" prop="gdtp">
|
|
|
|
<ImageUpload v-model="form.gdtp"></ImageUpload>
|
|
|
|
<el-checkbox-group v-model="form.dflx">
|
|
|
|
</el-form-item>
|
|
|
|
|
|
|
|
<el-form-item label="工单等级:" prop="gdLevel">
|
|
|
|
|
|
|
|
<el-radio-group v-model="form.gdLevel">
|
|
|
|
|
|
|
|
<el-radio
|
|
|
|
|
|
|
|
:value="parseInt(dict.value)"
|
|
|
|
|
|
|
|
v-for="dict in dict.gdlevel"
|
|
|
|
|
|
|
|
>{{ dict.label }}</el-radio
|
|
|
|
|
|
|
|
>
|
|
|
|
|
|
|
|
</el-radio-group>
|
|
|
|
|
|
|
|
</el-form-item>
|
|
|
|
|
|
|
|
<el-form-item label="处置方案:" prop="clfa">
|
|
|
|
|
|
|
|
<el-select v-model="form.clfa" placeholder="请选择" clearable>
|
|
|
|
|
|
|
|
<el-option
|
|
|
|
|
|
|
|
v-for="dict in dict.clfa"
|
|
|
|
|
|
|
|
:key="dict.value"
|
|
|
|
|
|
|
|
:label="dict.label"
|
|
|
|
|
|
|
|
:value="dict.value"
|
|
|
|
|
|
|
|
/>
|
|
|
|
|
|
|
|
</el-select>
|
|
|
|
|
|
|
|
</el-form-item>
|
|
|
|
|
|
|
|
<el-form-item label="派遣人数:" prop="pqrs">
|
|
|
|
|
|
|
|
<el-input v-model="form.pqrs" placeholder="请输入" clearable>
|
|
|
|
|
|
|
|
<template #suffix>
|
|
|
|
|
|
|
|
<span>人</span>
|
|
|
|
|
|
|
|
</template>
|
|
|
|
|
|
|
|
</el-input>
|
|
|
|
|
|
|
|
</el-form-item>
|
|
|
|
|
|
|
|
<el-form-item label="派遣车辆:" prop="pqcl">
|
|
|
|
|
|
|
|
<el-input v-model="form.pqcl" placeholder="请输入" clearable>
|
|
|
|
|
|
|
|
<template #suffix>
|
|
|
|
|
|
|
|
<span>辆</span>
|
|
|
|
|
|
|
|
</template>
|
|
|
|
|
|
|
|
</el-input>
|
|
|
|
|
|
|
|
</el-form-item>
|
|
|
|
|
|
|
|
<el-form-item label="资源协调:" prop="zyxt">
|
|
|
|
|
|
|
|
<el-checkbox-group v-model="form.zyxt">
|
|
|
|
|
|
|
|
<el-checkbox
|
|
|
|
<el-checkbox
|
|
|
|
v-for="dict in dict.zyxt"
|
|
|
|
v-for="dict in dict.yxlx"
|
|
|
|
:key="dict.value"
|
|
|
|
:key="dict.value"
|
|
|
|
:label="dict.label"
|
|
|
|
:label="dict.label"
|
|
|
|
:value="dict.value"
|
|
|
|
:value="dict.value"
|
|
|
|
/>
|
|
|
|
/>
|
|
|
|
</el-checkbox-group>
|
|
|
|
</el-checkbox-group>
|
|
|
|
</el-form-item>
|
|
|
|
</el-form-item>
|
|
|
|
|
|
|
|
<el-form-item label="工单照片:" prop="gdtp">
|
|
|
|
|
|
|
|
<ImageUpload v-model="form.gdtp" :limit="3"></ImageUpload>
|
|
|
|
|
|
|
|
</el-form-item>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<el-form-item label="工单描述:" prop="gdms">
|
|
|
|
|
|
|
|
<el-input
|
|
|
|
|
|
|
|
v-model="form.gdms"
|
|
|
|
|
|
|
|
:rows="2"
|
|
|
|
|
|
|
|
type="textarea"
|
|
|
|
|
|
|
|
placeholder="请填写"
|
|
|
|
|
|
|
|
/>
|
|
|
|
|
|
|
|
</el-form-item>
|
|
|
|
</section>
|
|
|
|
</section>
|
|
|
|
|
|
|
|
|
|
|
|
<section v-else>
|
|
|
|
<section v-else>
|
|
|
|
<el-form-item label="简要描述:" prop="gdms">
|
|
|
|
<el-form-item label="简要描述:" prop="gdms">
|
|
|
|
<el-select v-model="form.gdms" placeholder="请选择" clearable>
|
|
|
|
<el-input
|
|
|
|
<el-option
|
|
|
|
v-model="form.gdms"
|
|
|
|
v-for="dict in dict.gdms"
|
|
|
|
:rows="2"
|
|
|
|
:key="dict.value"
|
|
|
|
type="textarea"
|
|
|
|
:label="dict.label"
|
|
|
|
placeholder="请填写"
|
|
|
|
:value="parseInt(dict.value)"
|
|
|
|
/>
|
|
|
|
/>
|
|
|
|
|
|
|
|
</el-select>
|
|
|
|
|
|
|
|
</el-form-item>
|
|
|
|
</el-form-item>
|
|
|
|
<el-form-item label="选派人员:" prop="zzjg">
|
|
|
|
<el-form-item label="选派人员:" prop="zzjg">
|
|
|
|
<el-cascader
|
|
|
|
<el-cascader
|
|
|
@ -153,8 +130,6 @@ import mapOptions from "@/components/mars-work/mapOptions";
|
|
|
|
import markerIcon from "@/assets/images/map-marker.png";
|
|
|
|
import markerIcon from "@/assets/images/map-marker.png";
|
|
|
|
import { gaodeAddress, gaodePOI } from "@/utils/common.js";
|
|
|
|
import { gaodeAddress, gaodePOI } from "@/utils/common.js";
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
const { proxy } = getCurrentInstance();
|
|
|
|
const { proxy } = getCurrentInstance();
|
|
|
|
const gaodePOIList = ref([]);
|
|
|
|
const gaodePOIList = ref([]);
|
|
|
|
const currentId = ref(0);
|
|
|
|
const currentId = ref(0);
|
|
|
@ -229,12 +204,6 @@ const data = reactive({
|
|
|
|
|
|
|
|
|
|
|
|
dflx: [{ required: true, message: "请选择倒伏类型", trigger: "blur" }],
|
|
|
|
dflx: [{ required: true, message: "请选择倒伏类型", trigger: "blur" }],
|
|
|
|
gdtp: [{ required: true, message: "请上传工单照片", trigger: "blur" }],
|
|
|
|
gdtp: [{ required: true, message: "请上传工单照片", trigger: "blur" }],
|
|
|
|
gdLevel: [{ required: true, message: "请选择工单等级", trigger: "blur" }],
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
clfa: [{ required: true, message: "请选择处置方案", trigger: "blur" }],
|
|
|
|
|
|
|
|
pqrs: [{ required: true, message: "请填写派遣人数", trigger: "blur" }],
|
|
|
|
|
|
|
|
pqcl: [{ required: true, message: "请填写派遣车辆", trigger: "blur" }],
|
|
|
|
|
|
|
|
zyxt: [{ required: true, message: "请选择资源协调", trigger: "blur" }],
|
|
|
|
|
|
|
|
},
|
|
|
|
},
|
|
|
|
});
|
|
|
|
});
|
|
|
|
const { form, rules } = toRefs(data);
|
|
|
|
const { form, rules } = toRefs(data);
|
|
|
@ -260,6 +229,10 @@ const changeType = () => {
|
|
|
|
const confirm = () => {
|
|
|
|
const confirm = () => {
|
|
|
|
proxy.$refs["formRef"].validate(async (valid) => {
|
|
|
|
proxy.$refs["formRef"].validate(async (valid) => {
|
|
|
|
if (valid) {
|
|
|
|
if (valid) {
|
|
|
|
|
|
|
|
if (!form.value.lat || !form.value.lon) {
|
|
|
|
|
|
|
|
proxy.$modal.msgWarning("请先落点至地图上!");
|
|
|
|
|
|
|
|
return;
|
|
|
|
|
|
|
|
}
|
|
|
|
form.value.zzjg = filterArray(form.value.zzjg, "join");
|
|
|
|
form.value.zzjg = filterArray(form.value.zzjg, "join");
|
|
|
|
form.value.dflx = filterArray(form.value.dflx, "join");
|
|
|
|
form.value.dflx = filterArray(form.value.dflx, "join");
|
|
|
|
form.value.zyxt = filterArray(form.value.zyxt, "join");
|
|
|
|
form.value.zyxt = filterArray(form.value.zyxt, "join");
|
|
|
@ -268,8 +241,8 @@ const confirm = () => {
|
|
|
|
await intruderyj(form.value);
|
|
|
|
await intruderyj(form.value);
|
|
|
|
proxy.$modal.msgSuccess(`${props.title}成功`);
|
|
|
|
proxy.$modal.msgSuccess(`${props.title}成功`);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
if(form.value.status === 1){
|
|
|
|
if (form.value.status === 1) {
|
|
|
|
await updateyj(form.value)
|
|
|
|
await updateyj(form.value);
|
|
|
|
proxy.$modal.msgSuccess(`编辑成功`);
|
|
|
|
proxy.$modal.msgSuccess(`编辑成功`);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
} else {
|
|
|
|
} else {
|
|
|
@ -294,10 +267,8 @@ const getInfo = async (val) => {
|
|
|
|
console.log(props.id, visible.value);
|
|
|
|
console.log(props.id, visible.value);
|
|
|
|
const res = await getyjById(props.id);
|
|
|
|
const res = await getyjById(props.id);
|
|
|
|
res.data.zzjg = res.data.zzjg.split(",").map((item) => parseInt(item));
|
|
|
|
res.data.zzjg = res.data.zzjg.split(",").map((item) => parseInt(item));
|
|
|
|
|
|
|
|
|
|
|
|
res.data.zyxt = filterArray(res.data.zyxt);
|
|
|
|
res.data.zyxt = filterArray(res.data.zyxt);
|
|
|
|
res.data.dflx = filterArray(res.data.dflx);
|
|
|
|
res.data.dflx = filterArray(res.data.dflx);
|
|
|
|
|
|
|
|
|
|
|
|
form.value = res.data;
|
|
|
|
form.value = res.data;
|
|
|
|
if (form.value.lat && form.value.lon && mapData) {
|
|
|
|
if (form.value.lat && form.value.lon && mapData) {
|
|
|
|
nextTick(() => {
|
|
|
|
nextTick(() => {
|
|
|
@ -438,8 +409,6 @@ const handleMapClick = (longitude, latitude) => {
|
|
|
|
const isPositiveDecimal = (num) => {
|
|
|
|
const isPositiveDecimal = (num) => {
|
|
|
|
return typeof num === "number" && num >= 0 && !Number.isInteger(num);
|
|
|
|
return typeof num === "number" && num >= 0 && !Number.isInteger(num);
|
|
|
|
};
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
</script>
|
|
|
|
</script>
|
|
|
|
|
|
|
|
|
|
|
|
<style lang="scss" scoped>
|
|
|
|
<style lang="scss" scoped>
|
|
|
@ -472,4 +441,8 @@ const isPositiveDecimal = (num) => {
|
|
|
|
font-weight: bold;
|
|
|
|
font-weight: bold;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
.location-search {
|
|
|
|
|
|
|
|
font-size: 14px;
|
|
|
|
|
|
|
|
cursor: pointer;
|
|
|
|
|
|
|
|
}
|
|
|
|
</style>
|
|
|
|
</style>
|
|
|
|