This commit is contained in:
lcw
2025-10-26 12:25:50 +08:00
parent 5e18952b55
commit ea3022c3f6
617 changed files with 86322 additions and 185615 deletions

View File

@ -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;
}
}