Merge branch 'main' of http://123.132.248.154:10000/HC_YFZX/CaiYuanYiTiHua
commit
882a1b615a
|
|
@ -4,20 +4,22 @@
|
|||
|
||||
<!-- 图层控制 -->
|
||||
<div class="layer-control-center">
|
||||
<p v-for="(item, index) in props.mapConfig.layers">
|
||||
<a-checkbox v-model:checked="item.checked" @change="handlerCheckboxChange(item)">{{
|
||||
item.name
|
||||
}}</a-checkbox>
|
||||
</p>
|
||||
|
||||
<p v-for="(item, index) in props.mapConfig.baseLayers">
|
||||
<a-checkbox v-model:checked="item.checked" @change="handlerCheckboxChange(item)">{{
|
||||
item.name
|
||||
}}</a-checkbox>
|
||||
</p>
|
||||
|
||||
<a-collapse v-model:activeKey="activeKey" accordion expandIconPosition="end" expandIcon="">
|
||||
<a-collapse-panel key="1" header="图层">
|
||||
<p v-for="(item, index) in props.mapConfig.layers">
|
||||
<a-checkbox v-model:checked="item.checked" @change="handlerCheckboxChange(item)">{{
|
||||
item.name
|
||||
}}</a-checkbox>
|
||||
</p>
|
||||
<p v-for="(item, index) in props.mapConfig.baseLayers">
|
||||
<a-checkbox v-model:checked="item.checked" @change="handlerCheckboxChange(item)">{{
|
||||
item.name
|
||||
}}</a-checkbox>
|
||||
</p>
|
||||
</a-collapse-panel>
|
||||
</a-collapse>
|
||||
</div>
|
||||
|
||||
|
||||
<!-- 绘图控制 -->
|
||||
<div class="draw-control-center" v-show="drawing">
|
||||
<div class="draw-btn" @click="handlerCancleDraw"> 取消 </div>
|
||||
|
|
@ -693,21 +695,18 @@
|
|||
|
||||
.layer-control-center {
|
||||
position: absolute;
|
||||
padding: 10px;
|
||||
top: 15px;
|
||||
left: 15px;
|
||||
background: rgba(13, 16, 18,0.5);
|
||||
border-radius: 14px 1px 14px 1px;
|
||||
background:#fff;
|
||||
border-radius: 8px;
|
||||
}
|
||||
|
||||
.layer-control-center p {
|
||||
margin: 0px;
|
||||
float:left;
|
||||
color:#fff!important;
|
||||
}
|
||||
|
||||
.layer-control-center .ant-checkbox-wrapper{
|
||||
color:#fff!important;
|
||||
|
||||
}
|
||||
|
||||
.draw-control-center {
|
||||
|
|
@ -812,5 +811,6 @@
|
|||
height:22px;
|
||||
color: #fff;
|
||||
}
|
||||
|
||||
</style>
|
||||
|
||||
|
|
@ -459,7 +459,8 @@
|
|||
if (rows.length == 0) {
|
||||
return createMessage.warn('请选择一条数据进行编辑');
|
||||
}
|
||||
console.log('rowsrows', rows);
|
||||
// console.log('rowsrows',formConfig,rows);
|
||||
|
||||
btnList.value.forEach((element) => {
|
||||
if (element.prop === 'Edit' && element.isWFlow) {
|
||||
flowCode.value = element.wFlowCode;
|
||||
|
|
@ -525,7 +526,12 @@
|
|||
if (rows.length == 0) {
|
||||
return createMessage.warn('请选择一条数据查看详情');
|
||||
}
|
||||
<<<<<<< HEAD
|
||||
|
||||
console.log("DetailsRow",formConfig,rows);
|
||||
=======
|
||||
console.log('DetailsRow', rows);
|
||||
>>>>>>> 2d727b56b33f5b20ec09e72b777cfa6a88e157e9
|
||||
let toProps = {
|
||||
isDetail: true,
|
||||
isUpdate: false,
|
||||
|
|
@ -542,6 +548,13 @@
|
|||
openShowFormModal.value = true;
|
||||
|
||||
// 根据ids获取图斑
|
||||
<<<<<<< HEAD
|
||||
try{
|
||||
console.log("formConfig",formConfig);
|
||||
handlerShowGeomtrys(formConfig,rows[0])
|
||||
}catch(e){
|
||||
createMessage.error("当前数据没有图斑!");
|
||||
=======
|
||||
try {
|
||||
let getGeomPrams: GeomParams = {
|
||||
TableName: 'drone_shp_data',
|
||||
|
|
@ -569,6 +582,7 @@
|
|||
});
|
||||
} catch (e) {
|
||||
createMessage.error('当前数据没有图斑!');
|
||||
>>>>>>> 2d727b56b33f5b20ec09e72b777cfa6a88e157e9
|
||||
}
|
||||
} else {
|
||||
openModal(true, toProps);
|
||||
|
|
@ -583,6 +597,67 @@
|
|||
}
|
||||
};
|
||||
|
||||
<<<<<<< HEAD
|
||||
async function handlerShowGeomtrys(currentNode,rows){
|
||||
|
||||
let info = currentNode.value.schemas?.find((item,index)=>{
|
||||
return item.component == "MapGeom"
|
||||
})
|
||||
let layer:string="";
|
||||
// let layer:string="drone_shp_data";
|
||||
if(info){
|
||||
layer = info?.mapSetData?.chooseLayer
|
||||
}
|
||||
if(!layer){
|
||||
createMessage.error("图斑未绑定图层服务!");
|
||||
return;
|
||||
}
|
||||
let geomfiledValue = info.field;
|
||||
let gids = "";
|
||||
try {
|
||||
// geomfiledValue = geomfiledValue.charAt(0).toLowerCase();
|
||||
geomfiledValue = geomfiledValue.charAt(0).toLowerCase() + geomfiledValue.slice(1);
|
||||
gids = rows[geomfiledValue]
|
||||
if(gids){
|
||||
try{
|
||||
let getGeomPrams = {
|
||||
TableName:layer,
|
||||
FieldName:"gid",
|
||||
FieldValue:gids,
|
||||
page:1,
|
||||
limit:999,
|
||||
key:null,
|
||||
}
|
||||
getGeom(getGeomPrams).then(res=>{
|
||||
let geoms = [];
|
||||
if(res){
|
||||
if(res.items?.length>0){
|
||||
res.items.forEach((item,index)=>{
|
||||
let geom = {
|
||||
key:item.gid,
|
||||
mapgeom:item.geometry
|
||||
}
|
||||
geoms.push(geom);
|
||||
})
|
||||
}
|
||||
MapboxComponent.value.handlerDraw("Details",geoms, false)
|
||||
}else{
|
||||
createMessage.error("当前数据没有图斑!");
|
||||
}
|
||||
})
|
||||
}catch(e){
|
||||
createMessage.error("当前数据没有图斑!");
|
||||
}
|
||||
}else{
|
||||
createMessage.error("当前数据没有图斑!");
|
||||
}
|
||||
}catch{
|
||||
createMessage.error("获取图斑数据失败!");
|
||||
}
|
||||
}
|
||||
|
||||
=======
|
||||
>>>>>>> 2d727b56b33f5b20ec09e72b777cfa6a88e157e9
|
||||
function handleSelect(selectedKeys: any, selected: any) {
|
||||
const rel = selected.node.dataRef;
|
||||
const obj: any = {};
|
||||
|
|
|
|||
|
|
@ -412,4 +412,4 @@
|
|||
defineExpose({
|
||||
config,
|
||||
});
|
||||
</script>
|
||||
</script>
|
||||
|
|
@ -6,130 +6,124 @@
|
|||
</a-button>
|
||||
<a-button type="primary" @click="closePage" class="ml-2" danger>关闭 </a-button>
|
||||
</div>
|
||||
<a-layout>
|
||||
|
||||
<div :class="mapConfig?.isShowMap?'form-container':''">
|
||||
<a-layout>
|
||||
<a-layout-content>
|
||||
<a-tabs v-model:activeKey="activeName" @change="changeActive" type="card">
|
||||
<a-tab-pane
|
||||
key="form"
|
||||
:tab="
|
||||
designerData.formCurrentNode.formTitle
|
||||
? designerData.formCurrentNode.formTitle
|
||||
: '表单信息'
|
||||
"
|
||||
v-if="formVisble"
|
||||
>
|
||||
<div :class="mapConfig?.isShowMap ? 'form-container' : ''">
|
||||
<FormViewer
|
||||
ref="formBoxRef"
|
||||
:formConfig="formConfig"
|
||||
:processId="designerData.process.id"
|
||||
:formVerison="designerData.formCurrentNode.formVerison"
|
||||
:formRelationId="designerData.formCurrentNode.formRelationId"
|
||||
:instanceInfo="designerData.process.instanceInfo"
|
||||
v-if="formVisble"
|
||||
/>
|
||||
</div>
|
||||
<div class="maper-container" v-if="mapConfig?.isShowMap">
|
||||
<MapboxMap
|
||||
:mapConfig="mapConfig"
|
||||
@handlerDrawComplete="handlerDrawComplete"
|
||||
@mapOnLoad="onMapboxLoad"
|
||||
ref="MapboxComponent"
|
||||
/>
|
||||
</div>
|
||||
</a-tab-pane>
|
||||
<a-tab-pane
|
||||
key="form"
|
||||
:tab="
|
||||
designerData.formCurrentNode.formTitle
|
||||
? designerData.formCurrentNode.formTitle
|
||||
: '系统表单信息'
|
||||
"
|
||||
v-if="formUrlVisble"
|
||||
>
|
||||
<AsyncComponent ref="pcForm" />
|
||||
</a-tab-pane>
|
||||
<a-tab-pane key="flow" tab="流程信息" force-render>
|
||||
<div class="process-design" :style="'display: flex; height:' + designerData.height">
|
||||
<process-viewer
|
||||
v-if="processVisble"
|
||||
:key="`designer-${id}`"
|
||||
:events="['element.click']"
|
||||
@element-click="elementClick"
|
||||
:xml="flowContent"
|
||||
:flowViewer="flowViewer"
|
||||
/>
|
||||
</div>
|
||||
</a-tab-pane>
|
||||
<a-tab-pane key="record" tab="流转记录" force-render>
|
||||
<a-timeline>
|
||||
<a-timeline-item
|
||||
v-for="(item, index) in designerData.logs"
|
||||
:key="index"
|
||||
:color="item.type"
|
||||
>
|
||||
<div class="title">{{ item.time }}</div>
|
||||
<a-card hoverable size="small">
|
||||
<div class="type-title">{{ item.name }}</div>
|
||||
<div class="content">
|
||||
<span
|
||||
class="link"
|
||||
v-for="(userName, index2) in item.userNames"
|
||||
:key="index2"
|
||||
>{{ userName }}</span
|
||||
<a-layout>
|
||||
<a-layout-content>
|
||||
<a-tabs v-model:activeKey="activeName" @change="changeActive" type="card">
|
||||
<a-tab-pane key="form" tab="表单信息" v-if="formVisble">
|
||||
<div :class="mapConfig?.isShowMap?'form-container':''">
|
||||
<FormViewer
|
||||
ref="formBoxRef"
|
||||
:formConfig="formConfig"
|
||||
:processId="designerData.process.id"
|
||||
:formVerison="designerData.formCurrentNode.formVerison"
|
||||
:formRelationId="designerData.formCurrentNode.formRelationId"
|
||||
:instanceInfo="designerData.process.instanceInfo"
|
||||
v-if="formVisble"
|
||||
/>
|
||||
</div>
|
||||
</a-tab-pane>
|
||||
<a-tab-pane
|
||||
key="form"
|
||||
:tab="
|
||||
designerData.formCurrentNode.formTitle
|
||||
? designerData.formCurrentNode.formTitle
|
||||
: '系统表单信息'
|
||||
"
|
||||
v-if="formUrlVisble"
|
||||
>
|
||||
<AsyncComponent ref="pcForm" />
|
||||
</a-tab-pane>
|
||||
<a-tab-pane key="flow" tab="流程信息" force-render>
|
||||
<div class="process-design" :style="'display: flex; height:' + designerData.height">
|
||||
<process-viewer
|
||||
v-if="processVisble"
|
||||
:key="`designer-${id}`"
|
||||
:events="['element.click']"
|
||||
@element-click="elementClick"
|
||||
:xml="flowContent"
|
||||
:flowViewer="flowViewer"
|
||||
/>
|
||||
</div>
|
||||
</a-tab-pane>
|
||||
<a-tab-pane key="record" tab="流转记录" force-render>
|
||||
<a-timeline>
|
||||
<a-timeline-item
|
||||
v-for="(item, index) in designerData.logs"
|
||||
:key="index"
|
||||
:color="item.type"
|
||||
>
|
||||
<div class="title">{{ item.time }}</div>
|
||||
<a-card hoverable size="small">
|
||||
<div class="type-title">{{ item.name }}</div>
|
||||
<div class="content">
|
||||
<span
|
||||
class="link"
|
||||
v-for="(userName, index2) in item.userNames"
|
||||
:key="index2"
|
||||
>{{ userName }}</span
|
||||
>
|
||||
{{ item.des }}
|
||||
</div>
|
||||
</a-card>
|
||||
</a-timeline-item>
|
||||
</a-timeline>
|
||||
</a-tab-pane>
|
||||
</a-tabs>
|
||||
</a-layout-content>
|
||||
<a-layout-footer :style="footerStyle" >
|
||||
<a-tabs v-if="props.isRead == 0" v-model:activeKey="auditName">
|
||||
<a-tab-pane key="audit" :tab="auditTitleVal">
|
||||
<div class="approval-column">
|
||||
<a-form
|
||||
ref="formRef"
|
||||
:rules="rules"
|
||||
:model="formData"
|
||||
size="small"
|
||||
labelAlign="left"
|
||||
:label-col="2"
|
||||
:wrapper-col="22"
|
||||
>
|
||||
<!-- <a-form-item :label="auditNameVal" /> -->
|
||||
<a-form-item :label="auditNameVal">
|
||||
<a-textarea
|
||||
v-model:value="formData.des"
|
||||
placeholder="请输入"
|
||||
:auto-size="{ minRows: 2, maxRows: 8 }"
|
||||
/>
|
||||
</a-form-item>
|
||||
<a-form-item label="" class="l-task-btns">
|
||||
<a-button
|
||||
v-for="(btn, index) in designerData.taskBtns"
|
||||
:key="index"
|
||||
:color="btn.type"
|
||||
:type="btn.type ? btn.type : 'primary'"
|
||||
@click="handleBtnClick(btn)"
|
||||
>{{ btn.name }}</a-button
|
||||
>
|
||||
{{ item.des }}
|
||||
</div>
|
||||
</a-card>
|
||||
</a-timeline-item>
|
||||
</a-timeline>
|
||||
</a-tab-pane>
|
||||
</a-tabs>
|
||||
</a-layout-content>
|
||||
<!-- <a-divider type="vertical" /> -->
|
||||
<!-- <a-layout-sider >
|
||||
|
||||
</a-layout-sider> -->
|
||||
<a-layout-footer :style="footerStyle">
|
||||
<a-tabs v-if="props.isRead == 0" v-model:activeKey="auditName">
|
||||
<a-tab-pane key="audit" :tab="auditTitleVal">
|
||||
<div class="approval-column">
|
||||
<a-form
|
||||
ref="formRef"
|
||||
:rules="rules"
|
||||
:model="formData"
|
||||
size="small"
|
||||
labelAlign="left"
|
||||
:label-col="2"
|
||||
:wrapper-col="22"
|
||||
>
|
||||
<!-- <a-form-item :label="auditNameVal" /> -->
|
||||
<a-form-item :label="auditNameVal">
|
||||
<a-textarea
|
||||
v-model:value="formData.des"
|
||||
placeholder="请输入"
|
||||
:auto-size="{ minRows: 2, maxRows: 8 }"
|
||||
/>
|
||||
</a-form-item>
|
||||
<a-form-item label="" class="l-task-btns">
|
||||
<a-button
|
||||
v-for="(btn, index) in designerData.taskBtns"
|
||||
:key="index"
|
||||
:color="btn.type"
|
||||
:type="btn.type ? btn.type : 'primary'"
|
||||
@click="handleBtnClick(btn)"
|
||||
>{{ btn.name }}</a-button
|
||||
>
|
||||
</a-form-item>
|
||||
</a-form>
|
||||
<!-- <auditInfo :data="designerData.userLogs" /> -->
|
||||
</div>
|
||||
</a-tab-pane>
|
||||
</a-tabs>
|
||||
</a-layout-footer>
|
||||
</a-form-item>
|
||||
</a-form>
|
||||
<!-- <auditInfo :data="designerData.userLogs" /> -->
|
||||
</div>
|
||||
</a-tab-pane>
|
||||
</a-tabs>
|
||||
</a-layout-footer>
|
||||
</a-layout>
|
||||
</a-layout>
|
||||
</a-layout>
|
||||
</div>
|
||||
|
||||
<div class="maper-container" v-if="mapConfig?.isShowMap">
|
||||
<MapboxMap
|
||||
:mapConfig="mapConfig"
|
||||
@handlerDrawComplete="handlerDrawComplete"
|
||||
@mapOnLoad="onMapboxLoad"
|
||||
ref="MapboxComponent"
|
||||
/>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
<!-- 节点记录信息 -->
|
||||
<div class="info-box" v-if="designerData.nodeLogs.length > 0">
|
||||
|
|
@ -241,18 +235,7 @@
|
|||
des: [{ required: true, message: '请填写审批意见', trigger: 'blur' }],
|
||||
});
|
||||
|
||||
const footerStyle = ref({
|
||||
height: '220px',
|
||||
width: '100%',
|
||||
overFlow: 'auto',
|
||||
color: '#fff',
|
||||
backgroundColor: '#ffffff',
|
||||
zIndex: '9999999999',
|
||||
padding: '0px 100px',
|
||||
position: 'fixed',
|
||||
bottom: '0px',
|
||||
left: '0px',
|
||||
});
|
||||
|
||||
if (props.type == 4) {
|
||||
rules.value = {};
|
||||
}
|
||||
|
|
@ -307,7 +290,20 @@
|
|||
const auditName = ref('audit');
|
||||
const auditTitleVal = ref('审批栏');
|
||||
const auditNameVal = ref('审批意见');
|
||||
const rejectOpen = ref(false);
|
||||
const rejectOpen = ref(false);
|
||||
const footerStyle = ref({
|
||||
height:"220px",
|
||||
width:mapConfig.value.isShowMap ? '100%':'60%',
|
||||
overFlow:"auto",
|
||||
color: '#fff',
|
||||
backgroundColor: '#ffffff',
|
||||
zIndex:"9999999999",
|
||||
padding:"0px 100px",
|
||||
position:"fixed",
|
||||
bottom:"0px",
|
||||
left:"0px"
|
||||
})
|
||||
|
||||
function changeActive(activeKey) {
|
||||
if (activeKey == 'flow') {
|
||||
processVisble.value = true;
|
||||
|
|
@ -363,10 +359,15 @@
|
|||
if (auditNode.isInherit) {
|
||||
currentNode = wfData.find((t) => t.type == 'bpmn:StartEvent');
|
||||
mapConfig.value = currentNode.mapConfig;
|
||||
if (mapConfig.value?.isShowMap) {
|
||||
}
|
||||
|
||||
footerStyle.value.width = mapConfig.value?.isShowMap ? "60%":"100%"
|
||||
if(mapConfig.value?.isShowMap){}
|
||||
|
||||
} else {
|
||||
currentNode = auditNode;
|
||||
let currentMapNode = wfData.find((t) => t.type == 'bpmn:StartEvent');
|
||||
mapConfig.value = currentMapNode.mapConfig;
|
||||
footerStyle.value.width = mapConfig.value?.isShowMap ? "60%":"100%"
|
||||
}
|
||||
if (currentNode.authFields.length > 0) {
|
||||
formVisble.value = true;
|
||||
|
|
@ -763,11 +764,14 @@
|
|||
}
|
||||
}
|
||||
|
||||
async function handlerShowGeomtrys(currentNode) {
|
||||
let info = currentNode.authFields?.find((item, index) => {
|
||||
return item.component == 'MapGeom';
|
||||
});
|
||||
let layer: string = '';
|
||||
|
||||
|
||||
async function handlerShowGeomtrys(currentNode){
|
||||
let info = currentNode.authFields?.find((item,index)=>{
|
||||
return item.component == "MapGeom"
|
||||
})
|
||||
let layer:string="";
|
||||
|
||||
// let layer:string="drone_shp_data";
|
||||
if (info) {
|
||||
layer = info?.mapSetData?.chooseLayer;
|
||||
|
|
@ -776,10 +780,9 @@
|
|||
createMessage.error('图斑未绑定图层服务!');
|
||||
return;
|
||||
}
|
||||
|
||||
let geomfiledValue = info.field.toLowerCase();
|
||||
|
||||
let gids = '';
|
||||
let gids = "";
|
||||
|
||||
try {
|
||||
await formBoxRef.value.getForm().then((res) => {
|
||||
|
|
@ -824,7 +827,10 @@
|
|||
createMessage.error('获取图斑数据失败!');
|
||||
}
|
||||
}
|
||||
function onMapboxLoad() {
|
||||
|
||||
|
||||
function onMapboxLoad(){
|
||||
|
||||
handlerShowGeomtrys(designerData.formCurrentNode);
|
||||
}
|
||||
// 驳回到指定节点
|
||||
|
|
|
|||
Loading…
Reference in New Issue