lcw
This commit is contained in:
@ -1,42 +1,53 @@
|
||||
<template>
|
||||
<el-dialog :title="title" width="800px" :model-value="modelShow" append-to-body @close="closed" :destroy-on-close="true" :close-on-click-modal="false">
|
||||
<el-form :model="listQuery" inline :rules="rules" ref="formRef" :label-width="130" >
|
||||
<el-form-item label="区域名称" prop="qymc">
|
||||
<MOSTY.Other width="100%" clearable v-model="listQuery.qymc" placeholder="请输入区域名称"/>
|
||||
</el-form-item>
|
||||
<el-form-item label="区域类型" prop="qylx">
|
||||
<MOSTY.Select v-model="listQuery.qylx" filterable :dictEnum="props.dic.D_ZDY_QYLX" width="100%" clearable placeholder="请选择区域类型"/>
|
||||
</el-form-item>
|
||||
<el-form-item label="区域级别" prop="qyjb">
|
||||
<MOSTY.Select v-model="listQuery.qyjb" filterable :dictEnum="props.dic.D_ZDY_QYJB" width="100%" clearable placeholder="请选择区域类型"/>
|
||||
</el-form-item>
|
||||
<el-form-item label="行政区划" prop="xzqhdm" v-if="listQuery.qylx == 'xzqh'">
|
||||
<MOSTY.Select v-model="listQuery.xzqhdm" filterable :dictEnum="props.dic.D_BZ_XZQHDM" width="100%" clearable placeholder="请选择行政区划"/>
|
||||
</el-form-item>
|
||||
<el-form-item label="地图范围" prop="pgis" class="ww100">
|
||||
<div class="flex ww100">
|
||||
<el-input v-model="listQuery.pgis" readonly placeholder="请输入地图范围" style="flex: 1;"></el-input>
|
||||
<el-button type="primary" style="width: 136px;" class="ml10" @click="chooseMap">
|
||||
<el-icon style="vertical-align: middle"><CirclePlus /></el-icon>
|
||||
<span style="vertical-align: middle">选择地图范围</span>
|
||||
</el-button>
|
||||
</div>
|
||||
</el-form-item>
|
||||
<el-form-item label="感知源信息" class="ww100">
|
||||
<div class="flex ww100">
|
||||
<div class="boo">
|
||||
<span v-if="!listQuery.sxts || listQuery.sxts.length == 0" class="f14 ml10" style="color: #e1e1e1;">感知源信息</span>
|
||||
<el-tag class="ml4 mr4" v-for="(it,idx) in listQuery.sxts" :key="idx">{{ it.sbmc }}</el-tag>
|
||||
</div>
|
||||
</div>
|
||||
</el-form-item>
|
||||
<div class="mapbox" v-if="showMap" v-loading="disabled"><GdMap></GdMap></div>
|
||||
<div class="mt10 flex just-center">
|
||||
<el-button @click="closed">取 消</el-button>
|
||||
<el-button type="primary" @click="submit" v-loading="loading">确 定</el-button>
|
||||
</div>
|
||||
</el-form>
|
||||
</el-dialog>
|
||||
<el-dialog :title="title" width="800px" :model-value="modelShow" append-to-body @close="closed"
|
||||
:destroy-on-close="true" :close-on-click-modal="false">
|
||||
<el-form :model="listQuery" inline :rules="rules" ref="formRef" :label-width="130">
|
||||
<el-form-item label="区域名称" prop="qymc">
|
||||
<MOSTY.Other width="100%" clearable v-model="listQuery.qymc" placeholder="请输入区域名称" />
|
||||
</el-form-item>
|
||||
<el-form-item label="区域类型" prop="qylx">
|
||||
<MOSTY.Select @change="changeMap" v-model="listQuery.qylx" filterable :dictEnum="props.dic.D_ZDY_QYLX"
|
||||
width="100%" clearable placeholder="请选择区域类型" />
|
||||
</el-form-item>
|
||||
<el-form-item label="区域级别" prop="qyjb">
|
||||
<MOSTY.Select v-model="listQuery.qyjb" filterable :dictEnum="props.dic.D_ZDY_QYJB" width="100%" clearable
|
||||
placeholder="请选择区域类型" />
|
||||
</el-form-item>
|
||||
<el-form-item label="行政区划" prop="xzqhdm" v-if="listQuery.qylx == 'xzqh'">
|
||||
<MOSTY.Select @change="changeXzqh" v-model="listQuery.xzqhdm" filterable :dictEnum="props.dic.D_BZ_XZQHDM"
|
||||
width="100%" clearable placeholder="请选择行政区划" />
|
||||
</el-form-item>
|
||||
<el-form-item label="地图范围" prop="pgis" class="ww100">
|
||||
<div class="flex ww100">
|
||||
<el-input v-model="listQuery.pgis" readonly placeholder="请输入地图范围" style="flex: 1;"></el-input>
|
||||
<el-button :disabled="listQuery.qylx == 'xzqh'" type="primary" style="width: 136px;" class="ml10" @click="chooseMap">
|
||||
<el-icon style="vertical-align: middle">
|
||||
<CirclePlus />
|
||||
</el-icon>
|
||||
<span style="vertical-align: middle">选择地图范围</span>
|
||||
</el-button>
|
||||
</div>
|
||||
</el-form-item>
|
||||
<el-form-item label="感知源信息" class="ww100">
|
||||
<div class="flex ww100">
|
||||
<div class="boo" @click="openDialog = true">
|
||||
<span v-if="!listQuery.sxts || listQuery.sxts.length == 0" class="f14 ml10"
|
||||
style="color: #e1e1e1;">感知源信息</span>
|
||||
<el-tag class="ml4 mr4" v-for="(it, idx) in listQuery.sxts" :key="idx">{{ it.sbmc }}</el-tag>
|
||||
</div>
|
||||
</div>
|
||||
</el-form-item>
|
||||
<div class="mapbox" v-if="showMap" v-loading="disabled">
|
||||
<GdMap></GdMap>
|
||||
</div>
|
||||
<div class="mt10 flex just-center">
|
||||
<el-button @click="closed">取 消</el-button>
|
||||
<el-button type="primary" @click="submit" v-loading="loading">确 定</el-button>
|
||||
</div>
|
||||
</el-form>
|
||||
</el-dialog>
|
||||
<ChooseGzy v-model="openDialog" @choose="chooseDataGzy" :roleIds="roleIds"/>
|
||||
|
||||
</template>
|
||||
|
||||
<script setup>
|
||||
@ -44,137 +55,209 @@ import { qcckGet, qcckPost } from "@/api/qcckApi.js";
|
||||
import emitter from "@/utils/eventBus.js";
|
||||
import GdMap from "@/components/GdMap/index.vue";
|
||||
import * as MOSTY from "@/components/MyComponents/index";
|
||||
import { ref, defineProps, onMounted, nextTick ,onUnmounted} from "vue";
|
||||
import { ref, defineProps, onMounted, nextTick, onUnmounted } from "vue";
|
||||
import ChooseGzy from "@/components/ChooseList/ChooseGzy/index.vue";
|
||||
import { bm } from '../xzqh'
|
||||
const props = defineProps({
|
||||
dic: {
|
||||
type: Object,
|
||||
default: () => ({})
|
||||
},
|
||||
dic: {
|
||||
type: Object,
|
||||
default: () => ({})
|
||||
},
|
||||
});
|
||||
const disabled = ref(false)
|
||||
const loading = ref(false)
|
||||
const modelShow = ref(false);
|
||||
const emit = defineEmits(["change"]);
|
||||
const title = ref("新增区域");
|
||||
const listQuery = ref({sxts:[],pgis:[]});
|
||||
const listQuery = ref({ sxts: [], pgis: [] });
|
||||
const formRef = ref();
|
||||
const showMap = ref(false);
|
||||
const rules = {
|
||||
qymc: [{ required: true, message: "请输入区域名称", trigger: "blur" }],
|
||||
qylx: [{ required: true, message: "请选择区域类型", trigger: "change" }],
|
||||
qyjb: [{ required: true, message: "请选择区域级别", trigger: "change" }],
|
||||
xzqhdm: [{ required: true, message: "请选择行政区划", trigger: "change" }],
|
||||
pgis: [{ required: true, message: "请输入地图范围", trigger: ['change','blur'] }],
|
||||
sxts: [{ required: true, message: "请输入感知元信息", trigger: "blur" }],
|
||||
qymc: [{ required: true, message: "请输入区域名称", trigger: "blur" }],
|
||||
qylx: [{ required: true, message: "请选择区域类型", trigger: "change" }],
|
||||
qyjb: [{ required: true, message: "请选择区域级别", trigger: "change" }],
|
||||
xzqhdm: [{ required: true, message: "请选择行政区划", trigger: "change" }],
|
||||
pgis: [{ required: true, message: "请输入地图范围", trigger: ['change', 'blur'] }],
|
||||
sxts: [{ required: true, message: "请输入感知元信息", trigger: "blur" }],
|
||||
};
|
||||
|
||||
onMounted(()=>{
|
||||
emitter.on('coordString',val=>{
|
||||
if(val.flag == 'bkqy_ht') {
|
||||
listQuery.value.pgis = val.coord;
|
||||
emitter.emit('deletePointArea','gzy_ht');
|
||||
disabled.value = true;
|
||||
qcckPost({pgis:val.coord[0]},'/mosty-gsxt/tbGsxtBkQy/getSxtList').then(res=>{
|
||||
listQuery.value.sxts = res || [];
|
||||
let icon = require('@/assets/point/sp.png');
|
||||
emitter.emit('addPointArea',{flag:'gzy_ht',icon,coords:listQuery.value.sxts});
|
||||
disabled.value = false;
|
||||
}).catch(()=>{
|
||||
disabled.value = false;
|
||||
})
|
||||
}
|
||||
})
|
||||
onMounted(() => {
|
||||
emitter.on('coordString', val => {
|
||||
if (val.flag == 'bkqy_ht') {
|
||||
listQuery.value.pgis = val.coord;
|
||||
emitter.emit('deletePointArea', 'gzy_ht');
|
||||
disabled.value = true;
|
||||
qcckPost({ pgis: val.coord[0] }, '/mosty-gsxt/tbGsxtBkQy/getSxtList').then(res => {
|
||||
listQuery.value.sxts = res || [];
|
||||
let icon = require('@/assets/point/sp.png');
|
||||
emitter.emit('addPointArea', { flag: 'gzy_ht', icon, coords: listQuery.value.sxts });
|
||||
disabled.value = false;
|
||||
}).catch(() => {
|
||||
disabled.value = false;
|
||||
})
|
||||
}
|
||||
})
|
||||
})
|
||||
|
||||
// 初始化
|
||||
const init = (type,row) => {
|
||||
listQuery.value = {sxts:[],pgis:[]};
|
||||
title.value = type === "add" ? "新增区域" : "编辑区域";
|
||||
modelShow.value = true;
|
||||
nextTick(() => {
|
||||
showMap.value = true;
|
||||
});
|
||||
if(type === "edit") getDateById(row.id)
|
||||
const init = (type, row) => {
|
||||
listQuery.value = { sxts: [], pgis: [] };
|
||||
title.value = type === "add" ? "新增区域" : "编辑区域";
|
||||
modelShow.value = true;
|
||||
nextTick(() => {
|
||||
showMap.value = true;
|
||||
});
|
||||
if (type === "edit") getDateById(row.id)
|
||||
};
|
||||
|
||||
// 更具id获取数据
|
||||
const getDateById = (id) =>{
|
||||
qcckGet({id},'/mosty-gsxt/tbGsxtBkQy/selectByid').then(res=>{
|
||||
res.pgis = res.pgis ? [res.pgis]:[[[]]]
|
||||
let icon = require('@/assets/point/sp.png');
|
||||
nextTick(()=>{
|
||||
if(res.sxts && res.sxts.length > 0) emitter.emit('addPointArea',{flag:'gzy_ht',icon,coords:res.sxts});
|
||||
if(res.pgis){
|
||||
let obj = { position: res.pgis, text:'', id: res.id };
|
||||
emitter.emit("echoPlane", { coords: [obj], flag: "bkqy", type: "polygon" });
|
||||
}
|
||||
})
|
||||
listQuery.value = res || {};
|
||||
const getDateById = (id) => {
|
||||
qcckGet({ id }, '/mosty-gsxt/tbGsxtBkQy/selectByid').then(res => {
|
||||
res.pgis = res.pgis ? [res.pgis] : [[[]]]
|
||||
let icon = require('@/assets/point/sp.png');
|
||||
nextTick(() => {
|
||||
if (res.qylx=='xzqh') {
|
||||
emitter.emit('setBoundarys', {
|
||||
data: {
|
||||
type: "FeatureCollection",
|
||||
features: [
|
||||
{
|
||||
geometry: {
|
||||
type: "Polygon", // 多边形类型
|
||||
coordinates: res.pgis // 坐标数组
|
||||
},
|
||||
properties: {}, // 属性信息
|
||||
type: "Feature", // 特征类型
|
||||
}
|
||||
]
|
||||
}
|
||||
|
||||
})
|
||||
} else {
|
||||
if (res.sxts && res.sxts.length > 0) emitter.emit('addPointArea', { flag: 'gzy_ht', icon, coords: res.sxts });
|
||||
if (res.pgis) {
|
||||
let obj = { position: res.pgis, text: '', id: res.id };
|
||||
emitter.emit("echoPlane", { coords: [obj], flag: "bkqy", type: "polygon" });
|
||||
}
|
||||
}
|
||||
|
||||
})
|
||||
listQuery.value = res || {};
|
||||
})
|
||||
}
|
||||
|
||||
// 地图选择
|
||||
const chooseMap = () =>{
|
||||
listQuery.value.pgis = [];
|
||||
listQuery.value.sxts = [];
|
||||
emitter.emit('removeEara','bkqy_ht')
|
||||
emitter.emit('deletePointArea','bkqy')
|
||||
emitter.emit('deletePointArea','gzy_ht')
|
||||
emitter.emit('drawShape',{type:'polygon',flag:'bkqy_ht'})
|
||||
const chooseMap = () => {
|
||||
listQuery.value.pgis = [];
|
||||
listQuery.value.sxts = [];
|
||||
emitter.emit('removeEara', 'bkqy_ht')
|
||||
emitter.emit('deletePointArea', 'bkqy')
|
||||
emitter.emit('deletePointArea', 'gzy_ht')
|
||||
emitter.emit('drawShape', { type: 'polygon', flag: 'bkqy_ht' })
|
||||
}
|
||||
|
||||
// 提交
|
||||
const submit = () => {
|
||||
formRef.value.validate(valid => {
|
||||
if(!valid) return false;
|
||||
loading.value = true;
|
||||
let params = { ...listQuery.value }
|
||||
params.pgis = params.pgis[0]
|
||||
let url = title.value == '新增区域' ? '/mosty-gsxt/tbGsxtBkQy/add' :'/mosty-gsxt/tbGsxtBkQy/update'
|
||||
qcckPost(params,url).then(res=>{
|
||||
loading.value = false;
|
||||
emit('change');
|
||||
closed();
|
||||
}).catch(()=>{
|
||||
loading.value = false;
|
||||
})
|
||||
});
|
||||
formRef.value.validate(valid => {
|
||||
if (!valid) return false;
|
||||
loading.value = true;
|
||||
let params = { ...listQuery.value }
|
||||
if (params.qylx == 'xzqh') {
|
||||
params.pgis = params.pgis
|
||||
} else {
|
||||
params.pgis = params.pgis[0]
|
||||
}
|
||||
let url = title.value == '新增区域' ? '/mosty-gsxt/tbGsxtBkQy/add' : '/mosty-gsxt/tbGsxtBkQy/update'
|
||||
qcckPost(params, url).then(res => {
|
||||
loading.value = false;
|
||||
emit('change');
|
||||
closed();
|
||||
}).catch(() => {
|
||||
loading.value = false;
|
||||
})
|
||||
});
|
||||
};
|
||||
const closed = () => {
|
||||
emitter.emit('removeEara','bkqy_ht')
|
||||
emitter.emit('deletePointArea','gzy_ht')
|
||||
showMap.value = false;
|
||||
formRef.value.resetFields();
|
||||
modelShow.value = false;
|
||||
emitter.emit('removeEara', 'bkqy_ht')
|
||||
emitter.emit('deletePointArea', 'gzy_ht')
|
||||
showMap.value = false;
|
||||
roleIds.value=[]
|
||||
formRef.value.resetFields();
|
||||
modelShow.value = false;
|
||||
};
|
||||
const changeXzqh = (val) => {
|
||||
emitter.emit('removeBj')
|
||||
listQuery.value.pgis=bm[val]
|
||||
emitter.emit('setBoundarys', {
|
||||
data: {
|
||||
type: "FeatureCollection",
|
||||
features: [
|
||||
{
|
||||
geometry: {
|
||||
type: "Polygon", // 多边形类型
|
||||
coordinates: [bm[val]] // 坐标数组
|
||||
},
|
||||
properties: {}, // 属性信息
|
||||
type: "Feature", // 特征类型
|
||||
}
|
||||
]
|
||||
}
|
||||
|
||||
onUnmounted(()=>{
|
||||
emitter.off("coordString");
|
||||
})
|
||||
}
|
||||
|
||||
const changeMap = (val) => {
|
||||
if (val == 'xzqh') {
|
||||
emitter.emit('removeEara', 'bkqy_ht')
|
||||
emitter.emit('deletePointArea', 'bkqy')
|
||||
} else {
|
||||
emitter.emit('removeBj')
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// 感知源弹窗
|
||||
const openDialog = ref(false);
|
||||
const roleIds=ref([])
|
||||
const chooseDataGzy = (val) => {
|
||||
roleIds.value = val.map(item => item.id)
|
||||
listQuery.value.sxts = val.map(item => {
|
||||
return {
|
||||
sbbh:item.sbbh,
|
||||
sblx:item.sblx,
|
||||
sbmc:item.sbmc,
|
||||
}}
|
||||
)
|
||||
}
|
||||
|
||||
onUnmounted(() => {
|
||||
emitter.off("coordString");
|
||||
})
|
||||
defineExpose({
|
||||
init
|
||||
init
|
||||
});
|
||||
|
||||
</script>
|
||||
|
||||
<style scoped lang="scss">
|
||||
.mapbox{
|
||||
position: relative;
|
||||
margin-left: 40px;
|
||||
width: calc(100% - 40px);
|
||||
height: 320px;
|
||||
background: red;
|
||||
.mapbox {
|
||||
position: relative;
|
||||
margin-left: 40px;
|
||||
width: calc(100% - 40px);
|
||||
height: 320px;
|
||||
background: red;
|
||||
}
|
||||
.boo{
|
||||
width: 100%;
|
||||
min-height: 32px;
|
||||
max-height: 74px;
|
||||
overflow: hidden;
|
||||
overflow-y: auto;
|
||||
border: 1px solid #e9e9e9;
|
||||
border-radius: 4px;
|
||||
padding: 4px;
|
||||
box-sizing: border-box;
|
||||
letter-spacing: 1px;
|
||||
|
||||
.boo {
|
||||
width: 100%;
|
||||
min-height: 32px;
|
||||
max-height: 74px;
|
||||
overflow: hidden;
|
||||
overflow-y: auto;
|
||||
border: 1px solid #e9e9e9;
|
||||
border-radius: 4px;
|
||||
padding: 4px;
|
||||
box-sizing: border-box;
|
||||
letter-spacing: 1px;
|
||||
}
|
||||
</style>
|
||||
</style>
|
||||
|
||||
@ -74,6 +74,7 @@ import Search from "@/components/aboutTable/Search.vue";
|
||||
import { qcckGet, qcckPost } from "@/api/qcckApi.js";
|
||||
import { ElMessage } from "element-plus";
|
||||
import { reactive, ref, onMounted, getCurrentInstance } from "vue";
|
||||
import { bs } from './xzqh'
|
||||
const { proxy } = getCurrentInstance();
|
||||
const { D_BZ_SF, D_ZDY_QYJB, D_ZDY_QYLX,D_BZ_XZQHDM } = proxy.$dict("D_BZ_SF","D_ZDY_QYJB","D_ZDY_QYLX","D_BZ_XZQHDM"); //获取字典数据
|
||||
const searchBox = ref(); //搜索框
|
||||
@ -133,6 +134,19 @@ const pageData = reactive({
|
||||
{ label: "是否启用", prop: "qyzt", showSolt: true }
|
||||
]
|
||||
});
|
||||
function stringTo2DArray(text) {
|
||||
const items = text.split(',').map(item => parseFloat(item));
|
||||
console.log(items);
|
||||
|
||||
return items.reduce((result, item, index) => {
|
||||
if (index % 2 === 0) {
|
||||
result.push([item]);
|
||||
} else {
|
||||
result[result.length - 1].push(item);
|
||||
}
|
||||
return result;
|
||||
}, []);
|
||||
}
|
||||
|
||||
onMounted(() => {
|
||||
getList();
|
||||
|
||||
76701
src/views/backOfficeSystem/IntelligentControl/DeploymentArea/xzqh.js
Normal file
76701
src/views/backOfficeSystem/IntelligentControl/DeploymentArea/xzqh.js
Normal file
File diff suppressed because it is too large
Load Diff
@ -8,7 +8,7 @@
|
||||
</div>
|
||||
</div>
|
||||
<div class="flex">
|
||||
<div :class="dataOrge.gzlid?'ww80':'ww100'">
|
||||
<div :class="dataOrge.gzlid ? 'ww80' : 'ww100'">
|
||||
<div class="form_cnt">
|
||||
<el-form :model="listQuery" :rules="rules" :disabled="disabled" ref="elform" inline :label-width="100"
|
||||
label-position="left">
|
||||
@ -56,14 +56,29 @@
|
||||
</template>
|
||||
</MyTable>
|
||||
</div>
|
||||
|
||||
<div class="smallTitle">布控范围</div>
|
||||
<div class=" mapSearch flex">
|
||||
<el-select v-model="hzfs" placeholder="请选择布控范围" clearable @change="qhhzfs">
|
||||
<el-option label="区域选择" value="1"></el-option>
|
||||
<el-option label="自定义范围" value="2"></el-option>
|
||||
</el-select>
|
||||
<el-select multiple style="margin-left: 10px;" v-model="bkqyList" placeholder="请选择布控范围" clearable
|
||||
@change="hzfsChage" v-if="hzfs == '1'">
|
||||
<el-option :label="item.label" :value="item.value" v-for="(item, index) in bkqyArr" :key="index">{{
|
||||
item.label
|
||||
}}</el-option>
|
||||
</el-select>
|
||||
<!-- <MOSTY.Select v-model="listQuery.bkqyList" filterable multiple :dictEnum="bkqyArr" style="width:350px"
|
||||
placeholder="请选择布控范围" clearable /> -->
|
||||
<el-button type="primary" @click="drawQy" style="margin-left: 10px;" v-else>
|
||||
<el-icon style="vertical-align: middle">
|
||||
<CirclePlus />
|
||||
</el-icon>
|
||||
<span style="vertical-align: middle">自定义区域</span>
|
||||
</el-button>
|
||||
</div>
|
||||
<div class="ww100 relative mb10"
|
||||
style="height: 250px;border: 1px solid #dcdfe6;border-radius: 4px;overflow: hidden;">
|
||||
<div class="absolute mapSearch flex">
|
||||
<MOSTY.Select v-model="listQuery.bkqyList" filterable multiple :dictEnum="bkqyArr" style="width:350px"
|
||||
placeholder="请选择布控范围" clearable />
|
||||
</div>
|
||||
<GdMap></GdMap>
|
||||
</div>
|
||||
<!-- <el-form-item prop="bkBt" label="布控要素" style="width: 100%;">
|
||||
@ -110,37 +125,7 @@
|
||||
</div>
|
||||
</div>
|
||||
<div class="ww20" v-if="dataOrge.gzlid">
|
||||
<!-- <div class="smallTitle">审批信息</div>
|
||||
<div class="ww100">
|
||||
<el-steps :active="listQuery.wccz" space="500" finish-status="success" direction="vertical" status=''>
|
||||
<el-step :title="item.eventType == '0' ? '发起申请' : item.eventType == '1' ? '审批结束' : item.nodeName"
|
||||
v-for="(item, index) in workflow" :key="index">
|
||||
<template #description>
|
||||
<div class="ww100 mt10 mb20 nodeBox" v-if="item.eventType == '0'||item.eventType == '1'">
|
||||
<div class="nodeorgNameTg">{{ item.log.userData.orgname }}</div>
|
||||
<div class="flex just-between nameTag">
|
||||
<div>{{ item.log.userName }}</div>
|
||||
<div class="fontColor">{{ item.eventType == '0' ? '发起' : '结束' }}</div>
|
||||
</div>
|
||||
<div>{{ item.log.xtLrsj }}</div>
|
||||
</div>
|
||||
<div v-else class="ww100 mt10 mb20 nodeBox">
|
||||
<div :class="item.taskStatus=='2'?'nodeorgNameTg':'nodeorgNameDd'">{{ item.orgNameData.orgname }}</div>
|
||||
<div v-for="(items, indexs) in item.log" :key="indexs">
|
||||
<div class="flex just-between nameTag" >
|
||||
<div>{{ items.userName }}</div>
|
||||
<div :class="item.taskStatus=='2'?'fontColor':'fontColorDd'">审批中</div>
|
||||
</div>
|
||||
<div>{{ items.xtLrsj }}</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</template>
|
||||
</el-step>
|
||||
|
||||
</el-steps>
|
||||
</div> -->
|
||||
<ApprovalEcho ref="approvalEcho"/>
|
||||
<ApprovalEcho ref="approvalEcho" />
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@ -168,11 +153,12 @@ import GdMap from "@/components/GdMap/index.vue";
|
||||
import * as MOSTY from "@/components/MyComponents/index";
|
||||
import MyTable from "@/components/aboutTable/MyTable.vue";
|
||||
import { qcckGet, qcckPost } from "@/api/qcckApi.js";
|
||||
import { tableColumnList,Zd } from '@/views/backOfficeSystem/ApprovalInformation/tableRow.js'
|
||||
|
||||
import { ref, defineExpose, reactive, defineEmits, getCurrentInstance, nextTick, watch } from "vue";
|
||||
import { tableColumnList, Zd } from '@/views/backOfficeSystem/ApprovalInformation/tableRow.js'
|
||||
import emitter from "@/utils/eventBus.js";
|
||||
import { ref, defineExpose, reactive, defineEmits, getCurrentInstance, nextTick, watch, onMounted } from "vue";
|
||||
import { queryProcessNode, queryProcessNodeLog, queryProcess } from '@/api/spl'
|
||||
import ApprovalEcho from "@/components/flowPath/ApprovalEcho.vue";
|
||||
import { tbGsxtBkId } from "@/api/commit.js";
|
||||
const emit = defineEmits(["change"]);
|
||||
const props = defineProps({
|
||||
dic: Object
|
||||
@ -228,6 +214,7 @@ let tableDate = reactive({
|
||||
{ label: "标签", prop: "bqList", showSolt: true, showOverflowTooltip: true }
|
||||
]
|
||||
});
|
||||
|
||||
const title = ref('')
|
||||
const disabled = ref(false)
|
||||
// 初始化数据
|
||||
@ -237,11 +224,7 @@ const init = (type, row) => {
|
||||
tableDate.tableConfiger.haveControls = true;
|
||||
disabled.value = false;
|
||||
listQuery.value.bkfqrXm = getItem("USERNAME");
|
||||
console.log(getItem("USERNAME"));
|
||||
|
||||
listQuery.value.bkfqrSfzh = getItem("idEntityCard");
|
||||
console.log( getItem("USERID"));
|
||||
console.log( getItem("idEntityCard"));
|
||||
listQuery.value.bkfqrSsbmmc = getItem("deptId")[0].deptName;;
|
||||
listQuery.value.bkfqrSsbmdm = getItem("deptId")[0].deptCode;;
|
||||
}
|
||||
@ -249,7 +232,7 @@ const init = (type, row) => {
|
||||
disabled.value = type == 'detail' ? true : false;
|
||||
dialogForm.value = true;
|
||||
if (row) tableDate.tableConfiger.haveControls = false;
|
||||
Zd({D_GS_BK_DJ:props.dic.D_GS_BK_DJ,BD_BK_CLYJBQ:props.dic.BD_BK_CLYJBQ})
|
||||
Zd({ D_GS_BK_DJ: props.dic.D_GS_BK_DJ, BD_BK_CLYJBQ: props.dic.BD_BK_CLYJBQ })
|
||||
|
||||
get_bkqy_list(row)
|
||||
};
|
||||
@ -264,32 +247,23 @@ const get_bkqy_list = (row) => {
|
||||
if (row) getDataById(row.id);
|
||||
})
|
||||
}
|
||||
const dataOrge=ref({})
|
||||
const dataOrge = ref({})
|
||||
const approvalEcho = ref()
|
||||
watch(() => approvalEcho.value, (val) => {
|
||||
if (val) {
|
||||
approvalEcho.value.getWorkflow(dataOrge.value.gzlid)
|
||||
approvalEcho.value.getWorkflow(dataOrge.value.gzlid)
|
||||
}
|
||||
|
||||
},{deep:true})
|
||||
}, { deep: true })
|
||||
|
||||
|
||||
// 根据id获取详情
|
||||
const getDataById = (id) => {
|
||||
qcckGet({}, '/mosty-gsxt/tbGsxtBk/selectVoById/' + id).then(res => {
|
||||
res.bkfj = res.ossList || [];
|
||||
res.bkqyList = res.qyList ? res.qyList.map(v => v.id) : [];
|
||||
listQuery.value = res || {}
|
||||
dataOrge.value=res
|
||||
tableDate.tableColumn = tableColumnList[res.bkDx ? res.bkDx : '01']
|
||||
})
|
||||
}
|
||||
watch(() => approvalEcho.value, (val) => {
|
||||
if (val) {
|
||||
console.log(approvalEcho.value);
|
||||
approvalEcho.value.getWorkflow(dataOrge.value.gzlid)
|
||||
approvalEcho.value.getWorkflow(dataOrge.value.gzlid)
|
||||
}
|
||||
|
||||
},{deep:true})
|
||||
}, { deep: true })
|
||||
|
||||
|
||||
const shangeDx = () => {
|
||||
@ -342,7 +316,7 @@ const choosed = (val) => {
|
||||
id: item.id, fjZp: item.fjZp, ryXm: item.ryXm, ryXb: item.ryXb,
|
||||
rySfzh: item.rySfzh, ryHjd: item.hjdXz, ryXjd: item.xzdXz,
|
||||
rySjhm: item.ryLxdh, qtXnsf: item.qtXnsf, clCjh: item.clCjh,
|
||||
clCph: item.clCph, qtTzms: item.qtTzms, bqList: bqs, yjdj: item.zdrYjdj,ssbmdm:item.zrSsbmdm
|
||||
clCph: item.clCph, qtTzms: item.qtTzms, bqList: bqs, yjdj: item.zdrYjdj, ssbmdm: item.zrSsbmdm
|
||||
}
|
||||
})
|
||||
listQuery.value.bkdxList = [...addPerson.value, ...arr];
|
||||
@ -352,7 +326,7 @@ const choosed = (val) => {
|
||||
|
||||
return {
|
||||
clCph: item.hphm, clCjh: item.clCjh, clSyr: item.clSyr, clSyrsfzh: item.clSyrsfzh,
|
||||
clYs: item.clYs, gxSsbmmc: item.gxSsbmmc,yjbq: item.yjbq, yjdj: item.yjdj,ssbmdm:item.zrSsbmdm
|
||||
clYs: item.clYs, gxSsbmmc: item.gxSsbmmc, yjbq: item.yjbq, yjdj: item.yjdj, ssbmdm: item.zrSsbmdm
|
||||
}
|
||||
})
|
||||
listQuery.value.bkdxList = [...addPerson.value, ...arr];
|
||||
@ -374,7 +348,7 @@ const choosed = (val) => {
|
||||
rySfzh: item.rySfzh, ryHjd: item.hjdXz, ryXjd: item.xzdXz,
|
||||
rySjhm: item.ryLxdh, qtXnsf: item.qtXnsf, clCjh: item.clCjh,
|
||||
clCph: item.clCph, qtTzms: item.qtTzms, bqList: bqs,
|
||||
yjdj: item.zdrYjdj,ssbmdm:item.zrSsbmdm
|
||||
yjdj: item.zdrYjdj, ssbmdm: item.zrSsbmdm
|
||||
}
|
||||
})
|
||||
listQuery.value.bkdxList = brrPeo;
|
||||
@ -427,7 +401,13 @@ const submit = () => {
|
||||
});
|
||||
});
|
||||
};
|
||||
|
||||
onMounted(() => {
|
||||
emitter.on("coordString", (res) => {
|
||||
listQuery.value.bkqyList = [{
|
||||
pgis: res.coord[0],
|
||||
}]
|
||||
});
|
||||
});
|
||||
// 关闭
|
||||
const close = () => {
|
||||
listQuery.value = {};
|
||||
@ -435,7 +415,7 @@ const close = () => {
|
||||
loading.value = false;
|
||||
addPerson.value = [];
|
||||
roleIds.value = []
|
||||
dataOrge.value={}
|
||||
dataOrge.value = {}
|
||||
};
|
||||
// 选择身份证
|
||||
const chooseVisible_SFZ = ref(false)
|
||||
@ -468,11 +448,103 @@ const getWorkflow = async (id) => {
|
||||
log: log
|
||||
}
|
||||
}
|
||||
|
||||
})
|
||||
|
||||
};
|
||||
const drawQy = () => {
|
||||
emitter.emit("drawShape", {
|
||||
flag: "select_point",
|
||||
type: "polygon",
|
||||
isclear: true
|
||||
});
|
||||
}
|
||||
const hzfs = ref('1')
|
||||
const bkqyList = ref()
|
||||
const qhhzfs = () => {
|
||||
listQuery.value.bkqyList = []
|
||||
bkqyList.value = []
|
||||
emitter.emit('removeBj')
|
||||
emitter.emit('removeEara', "select_point")
|
||||
}
|
||||
|
||||
const hzfsChage = (val) => {
|
||||
const qyList = []
|
||||
console.log(val);
|
||||
|
||||
listQuery.value.bkqyList = val.map((item, index) => {
|
||||
const data = bkqyArr.value.filter(items => items.id == item)[0]
|
||||
console.log(data);
|
||||
|
||||
if (data) {
|
||||
qyList.push(data.pgis)
|
||||
}
|
||||
console.log(item);
|
||||
return {
|
||||
bkQyid: data.id,
|
||||
pgis: data.pgis
|
||||
}
|
||||
})
|
||||
setTimeout(() => {
|
||||
changeXzqh(qyList)
|
||||
}, 2000)
|
||||
}
|
||||
const changeXzqh = (val) => {
|
||||
// 先移除已有的边界
|
||||
emitter.emit('removeBj')
|
||||
// 如果传入的是多个区域数据(二维数组)
|
||||
const features = val.map((area, index) => ({
|
||||
geometry: {
|
||||
type: "Polygon",
|
||||
coordinates: [area] // 确保格式正确
|
||||
},
|
||||
properties: {
|
||||
},
|
||||
type: "Feature"
|
||||
}))
|
||||
// 循环为每个区域创建单独的多边形,这样可以设置不同的样式
|
||||
features.forEach((feature, index) => {
|
||||
emitter.emit('setBoundarys', {
|
||||
data: {
|
||||
type: "FeatureCollection",
|
||||
features: [feature]
|
||||
},
|
||||
color: '#cf1010',
|
||||
fillColor: 'rgba(255, 255, 255,0)',
|
||||
})
|
||||
})
|
||||
}
|
||||
// 根据id获取详情
|
||||
const getDataById = (id) => {
|
||||
qcckGet({}, '/mosty-gsxt/tbGsxtBk/selectVoById/' + id).then(res => {
|
||||
res.bkfj = res.ossList || [];
|
||||
listQuery.value = res || {}
|
||||
dataOrge.value = res
|
||||
if (res.bkqyList) {
|
||||
bkqyList.value = res.bkqyList ? res.bkqyList.map(v => {
|
||||
{
|
||||
if (v.bkQyid) {
|
||||
hzfs.value = '1'
|
||||
} else {
|
||||
hzfs.value = '2'
|
||||
}
|
||||
return v.bkQyid
|
||||
}
|
||||
|
||||
}) : [];
|
||||
const data = res.bkqyList.map(item => {
|
||||
return item.pgis
|
||||
})
|
||||
setTimeout(() => {
|
||||
console.log(data);
|
||||
changeXzqh(data)
|
||||
// listQuery.value.bkDxxx = data.join(',')
|
||||
}, 2000);
|
||||
}
|
||||
|
||||
|
||||
tableDate.tableColumn = tableColumnList[res.bkDx ? res.bkDx : '01']
|
||||
})
|
||||
}
|
||||
defineExpose({ init });
|
||||
</script>
|
||||
|
||||
@ -489,9 +561,8 @@ defineExpose({ init });
|
||||
}
|
||||
|
||||
.mapSearch {
|
||||
left: 10px;
|
||||
top: 10px;
|
||||
z-index: 100;
|
||||
|
||||
margin-bottom: 10px;
|
||||
}
|
||||
|
||||
.dialog {
|
||||
@ -538,9 +609,11 @@ defineExpose({ init });
|
||||
color: #000000 !important;
|
||||
border-color: #000000 !important;
|
||||
}
|
||||
::v-deep .el-step__description{
|
||||
|
||||
::v-deep .el-step__description {
|
||||
padding: 0 !important;
|
||||
}
|
||||
|
||||
::v-deep .el-step__description.is-wait {
|
||||
|
||||
color: #000000 !important;
|
||||
@ -584,7 +657,9 @@ defineExpose({ init });
|
||||
|
||||
.fontColor {
|
||||
color: #1abe20;
|
||||
} .fontColorDd {
|
||||
}
|
||||
|
||||
.fontColorDd {
|
||||
color: #18a2dd;
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user