Browse Source

修改流程触发问题

lwx_v11
herenshan112 7 months ago
parent
commit
61efaa758b
  1. 2
      src/api/lowCode/form/index.ts
  2. 1
      src/components/formTable/index.vue
  3. 17
      src/views/formTable/page/cardPage.vue
  4. 47
      src/views/formTable/page/flowAndLog.vue
  5. 199
      src/views/formTable/pageInfo.vue
  6. 2
      src/views/lookCodePage/index.vue

2
src/api/lowCode/form/index.ts

@ -30,7 +30,7 @@ export function gainFormPageListCont(data: any) {
}); });
} }
//多视图数据处理 //多视图数据处理 gainFormPageListCont
export function multiViewPage(data: any) { export function multiViewPage(data: any) {
return request({ return request({
url: '/systemapi/customer_form/multiViewPage', url: '/systemapi/customer_form/multiViewPage',

1
src/components/formTable/index.vue

@ -32,6 +32,7 @@ const props = withDefaults(
beforeSubmit?: Function | string // beforeSubmit?: Function | string //
afterSubmit?: Function // return false afterSubmit?: Function // return false
btnClick?: (key: string) => boolean | void // btnClick?: (key: string) => boolean | void //
changeKeyVal?: Function; //
}>(), }>(),
{ {
type: 1, // 123 4 5 type: 1, // 123 4 5

17
src/views/formTable/page/cardPage.vue

@ -742,31 +742,32 @@ const delTask = (val:any) => {
@ 1:提交审批;2:重新申请;3:撤回;4:申请修改;5:修改;6:删除 @ 1:提交审批;2:重新申请;3:撤回;4:申请修改;5:修改;6:删除
*/ */
const butIsShow = (val:any,type:number) => { const butIsShow = (val:any,type:number) => {
// console.log("",val) console.log("判断是否显示--->type",type)
console.log("判断是否显示",val)
switch (type) { switch (type) {
case 7: case 7:
if(val.flowIsOpens == 1 && val.taskStatus == 1){ if(val.flowIsOpens == 1 && val.taskStatus*1 == 1){
return true; return true;
}else{ }else{
return false; return false;
} }
break; break;
case 2: case 2:
if(val.flowIsOpens == 1 && val.taskStatus == 2){ if(val.flowIsOpens == 1 && val.taskStatus*1 == 2){
return true; return true;
}else{ }else{
return false; return false;
} }
break; break;
case 3: case 3:
if(val.flowIsOpens == 1 && val.taskStatus == 3 && val.isRetract){ if(val.flowIsOpens == 1 && val.taskStatus*1 == 3 && val.isRetract){
return true; return true;
}else{ }else{
return false; return false;
} }
break; break;
case 4: case 4:
if(val.flowIsOpens == 1 && val.taskStatus == 4){ if(val.flowIsOpens == 1 && val.taskStatus*1 == 4){
return true; return true;
}else{ }else{
return false; return false;
@ -780,7 +781,7 @@ const butIsShow = (val:any,type:number) => {
} }
break; break;
case 6: case 6:
if(val.flowIsOpens != 1 || (val.flowIsOpens == 1 && (val.taskStatus == 1 || val.taskStatus == 2))){ if(val.flowIsOpens != 1 || (val.flowIsOpens == 1 && (val.taskStatus*1 == 1 || val.taskStatus*1 == 2))){
return true; return true;
}else{ }else{
return false; return false;
@ -874,13 +875,13 @@ defineExpose({
tableDataList =========> {{ tableDataList }} <br><br><br><br> --> tableDataList =========> {{ tableDataList }} <br><br><br><br> -->
<el-checkbox-group v-model="pageIdAry"> <el-checkbox-group v-model="pageIdAry">
<el-card v-for="(itval,itIndex) in tableDataList" :key="itIndex" class="taskCardBox" shadow="always" > <el-card v-for="(itval,itIndex) in tableDataList" :key="itIndex" class="taskCardBox" shadow="always" >
<table class="talbelBox"> <table class="talbelBox">
<tbody> <tbody>
<tr v-if="itval.flowIsOpen==1"> <tr v-if="itval.flowIsOpens==1">
<td class="cardInfoTitle">状态</td> <td class="cardInfoTitle">状态</td>
<td class="cardInfoTitle" align="right"> <td class="cardInfoTitle" align="right">
<el-tag v-if="itval.taskStatus==1" type="warning">草稿</el-tag> <el-tag v-if="itval.taskStatus==1" type="warning">草稿</el-tag>

47
src/views/formTable/page/flowAndLog.vue

@ -4,8 +4,11 @@
@ 备注: 流程和历史记录 @ 备注: 流程和历史记录
--> -->
<script lang='ts' setup> <script lang='ts' setup>
import { gainRunFlowStart,gainRunTaskFlow,startRunFlow,runTaskFlow,afreshRunWorkflow } from '@/api/lowCode/taskapi/management' import { gainRunFlowStart,gainRunTaskFlow,startRunFlow,runTaskFlow,afreshRunWorkflow,realTimeUpdateFlow } from '@/api/lowCode/taskapi/management'
import squareUrl from '@/assets/image/1.png' import squareUrl from '@/assets/image/1.png'
const props = defineProps({ const props = defineProps({
types:{ types:{
type:Number, type:Number,
@ -114,9 +117,16 @@ const newAddPageData = () => {
} }
}else{ }else{
console.log("获取流程==2=1=>",props.appPageInfo) console.log("获取流程==2=1=>",props)
console.log("获取流程==2=2==1=>",props.appPageInfo)
console.log("获取流程==2=2==2=>",props.appPageInfo.runFlowId)
// console.log("==2=2==1=>",flowRunId)
if(props.appPageInfo && props.appPageInfo.runFlowId && props.appPageInfo.runFlowId != "0" && props.appPageInfo.runFlowId != ""){ if(props.appPageInfo && props.appPageInfo.runFlowId && props.appPageInfo.runFlowId != "0" && props.appPageInfo.runFlowId != ""){
gainRunTaskFlow({id:props.appPageInfo.runFlowIdStr.toString()}) let flowRunId = props.appPageInfo.runFlowId?props.appPageInfo.runFlowId:props.appPageInfo.runFlowIdStr?props.appPageInfo.runFlowIdStr:"0";
console.log("获取流程==2=2=>",flowRunId)
gainRunTaskFlow({id:flowRunId})
.then(({data})=>{ .then(({data})=>{
console.log("获取流程==2==>",data) console.log("获取流程==2==>",data)
flowMap.value = data.flowList flowMap.value = data.flowList
@ -219,21 +229,48 @@ const yesOrNo = (val:string,agreeOrRefuse:number) => {
}) })
} }
/**
@ 作者: 秦东
@ 时间: 2025-05-12 10:15:03
@ 功能: 刷新流程
*/
const refreshWorkFlow = (taskKey,flowFactor,nodelUserList) => {
console.log("获取工作流不进图-new--刷新>", props.types);
let gainFlowChart = {
id:props.stateForm.flowKey.toString(),
conditionList:flowFactor,
nodelPeople:nodelUserList,
oldFlow:flowMap.value
}
if(props.stateForm.flowIsTrue && props.types == 1){
realTimeUpdateFlow(gainFlowChart).then((data: any) => {
console.log("获取工作流不进图-new-->", data);
flowMap.value = data.data.flowList;
nextStep.value = data.data.nextStep;
currentProgress.value = data.data.Step;
nodeKey.value = data.data.nodeKey;
// // console.log("-1-->",flowMap.value)
flowLoading.value = false;
});
}
}
defineExpose({ defineExpose({
runWorkFlow, runWorkFlow,
reapplyWorkFlow, reapplyWorkFlow,
rundraftWorkFlow rundraftWorkFlow,
refreshWorkFlow
}) })
</script> </script>
<template> <template>
<div>{{flowMap}} <div>
<el-tabs v-model="activeName" class="demo-tabs" @tab-click="handleClick"> <el-tabs v-model="activeName" class="demo-tabs" @tab-click="handleClick">
<el-tab-pane v-if="flowMap&&flowMap.length > 0" label="审批流程" name="flow"> <el-tab-pane v-if="flowMap&&flowMap.length > 0" label="审批流程" name="flow">
<el-steps direction="vertical" :active="currentProgress"> <el-steps direction="vertical" :active="currentProgress">
<el-step v-for="item in flowMap" :key="item.step"> <el-step v-for="item in flowMap" :key="item.step">
<template #title> <template #title>
{{ item.nodeName }}<span v-if="item.examinemode==1"> 依次审批</span><span v-if="item.examinemode==2"> 会签</span><span v-if="item.examinemode==3"> 或签</span> {{ item.nodeName }}<span v-if="item.examinemode==1"> 依次审批</span><span v-if="item.examinemode==2"> 会签</span><span v-if="item.examinemode==3"> 或签</span>
<el-tooltip <el-tooltip

199
src/views/formTable/pageInfo.vue

@ -8,7 +8,9 @@ import { gainTaskFormInfo,gainEditDataLog,afreshRunWorkflow } from '@/api/lowCod
import{ json2string,string2json,stringToObj } from '@/utils/lowCode/form' import{ json2string,string2json,stringToObj } from '@/utils/lowCode/form'
import { judgeSubmitCancel } from '@/api/lowCode/form/index' import { judgeSubmitCancel } from '@/api/lowCode/form/index'
import { afreshSubmitButton,editFormCont,draftSubmitButton,submitButtonEs,submitButton } from '@/utils/lowCode/const' import { afreshSubmitButton,editFormCont,draftSubmitButton,submitButtonEs,submitButton,notAsA_BasisForJudgment, fixedValueControl,timeControl,timeEquation,asAnApprovalActionControl } from '@/utils/lowCode/const'
import { conditionInfo,nodelPeoples } from "@/api/lowCode/taskapi/types"
const props = defineProps({ const props = defineProps({
isShow:{ isShow:{
@ -44,6 +46,7 @@ const props = defineProps({
default:"", default:"",
} }
}); });
const nodelUserList = reactive<nodelPeoples[]>([]);
const emits = defineEmits(["update:isShow","searchData"]) const emits = defineEmits(["update:isShow","searchData"])
const openPage =computed({ const openPage =computed({
get() { get() {
@ -57,7 +60,9 @@ const formDesign = ref<any>();
const flowLogPage = ref<any>(); // const flowLogPage = ref<any>(); //
const pageLog = ref<any[]>([]); // const pageLog = ref<any[]>([]); //
const loadPage = ref(false) const loadPage = ref(false)
const gainFlowChart = reactive<nodeFlow>({
id: "0",
});
/** /**
@ -187,6 +192,195 @@ onMounted(()=>{
console.log("挺挺挺挺下") console.log("挺挺挺挺下")
console.log(props) console.log(props)
}) })
const flowFactor = reactive<conditionInfo[]>([]); //
//
const changeKeyVal = (key: any, val: any, type: any, attribute: any) => {
console.log("改变表单值--key--->",key)
console.log("改变表单值--val--->",val,Array.isArray(val))
console.log("改变表单值--type--->",type)
console.log("改变表单值--attribute--->",attribute)
let unitsVal = val;
let isUpdateFlowChart = false;
//
if (notAsA_BasisForJudgment.indexOf(type) === -1) {
let isWrite = true;
flowFactor.forEach((item: any) => {
if (item.factorid == key) {
isWrite = false;
item.type = 3;
if (type == "checkbox") {
item.isCheckbox = true;
item.answers = val.map(String);
} else {
item.isCheckbox = false;
item.oneanswer = val.toString();
}
if (notAsA_BasisForJudgment.indexOf(type) === -1) {
isUpdateFlowChart = true;
}
}
});
if (isWrite) {
if (type == "checkbox") {
flowFactor.push({
factorid: key,
type: 3,
isCheckbox: true,
answers: val.map(String),
});
} else {
flowFactor.push({
factorid: key,
type: 3,
isCheckbox: false,
oneanswer: val.toString(),
});
}
isUpdateFlowChart = true;
}
// console.log("--flowFactor--->",flowFactor)
}
//
if (
timeControl.indexOf(type) > -1 ||
fixedValueControl.indexOf(type) > -1 ||
type == "input"
) {
// console.log("--flowFactor--3->",unitsVal)
let addNewTime = true; //
flowFactor.forEach((item: any) => {
// console.log("--flowFactor--5->",item.type)
if (item.type == 2) {
addNewTime = false;
// console.log("--flowFactor--5====1->",item.type)
// console.log("--flowFactor--5====3->",item.customFields,item.customFields.length)
if (item.customFields && item.customFields.length > 0) {
// console.log("--flowFactor--5====2->",item.customFields)
let sunNewAdd = true;
item.customFields.forEach((sunItem: any) => {
// console.log("--flowFactor-4->",sunItem.wordfield , key,sunItem.wordfield == key)
if (sunItem.wordfield == key) {
sunNewAdd = false;
isUpdateFlowChart = true;
if (timeEquation.indexOf(attribute) === -1) {
//
sunItem.leftval = val.toString();
} else {
//
if (Array.isArray(val)) {
if (val.length >= 2) {
sunItem.leftval = val[0].toString();
sunItem.rightval = val[val.length - 1].toString();
}
}
}
}
});
if (sunNewAdd) {
isUpdateFlowChart = true;
if (timeEquation.indexOf(attribute) === -1) {
//
let customFieldInfo = {
wordfield: key,
optType: "1",
leftval: val.toString(),
};
item.customFields.push(customFieldInfo);
} else {
//
if (Array.isArray(val)) {
if (val.length >= 2) {
let customFieldInfo = {
wordfield: key,
optType: "6",
leftval: val[0].toString(),
leftoptType: "3",
rightoptType: "3",
rightval: val[val.length - 1].toString(),
};
item.customFields.push(customFieldInfo);
}
}
}
}
}
}
});
if (addNewTime) {
//
isUpdateFlowChart = true;
if (timeEquation.indexOf(attribute) === -1) {
//
let customFieldInfo = {
wordfield: key,
optType: "1",
leftval: val.toString(),
};
let condInfo = {
factorid: "customFields",
type: 2,
isCheckbox: false,
customFields: [customFieldInfo],
};
flowFactor.push(condInfo);
} else {
//
if (Array.isArray(val)) {
if (val.length >= 2) {
let customFieldInfo = {
wordfield: key,
optType: "6",
leftval: val[0].toString(),
leftoptType: "3",
rightoptType: "3",
rightval: val[val.length - 1].toString(),
};
let condInfo = {
factorid: "customFields",
type: 2,
isCheckbox: false,
customFields: [customFieldInfo],
};
flowFactor.push(condInfo);
}
}
}
}
}
//
if (asAnApprovalActionControl.indexOf(type) > -1) {
isUpdateFlowChart = true;
let isWriteUs = true;
nodelUserList.forEach((item: any) => {
if (item.factorid == key) {
isWriteUs = false;
item.userList = val;
}
});
if (isWriteUs) {
nodelUserList.push({
factorid: key,
userList: val,
});
}
}
console.log("改变表单值--flowFactor--->", isUpdateFlowChart);
//
if (isUpdateFlowChart&&props.stateForm.taskKey&&props.stateForm.taskKey!="") {
// gainFlowChart.conditionList = flowFactor;
// gainFlowChart.nodelPeople = nodelUserList;
// gainFlowChart.id = flowMap;
console.log("获取工作流不进图--gainFlowChart--->",props.stateForm)
flowLogPage.value.refreshWorkFlow(props.stateForm.taskKey,flowFactor,nodelUserList)
}
}
</script> </script>
<template> <template>
<div class="newDrawerCont"> <div class="newDrawerCont">
@ -205,6 +399,7 @@ onMounted(()=>{
:is-work-flow="stateForm.flowIsTrue" :is-work-flow="stateForm.flowIsTrue"
:app-info="props.appInfo" :app-info="props.appInfo"
:after-submit="afterSubmit" :after-submit="afterSubmit"
:change-key-val="changeKeyVal"
/> />
<FlowAndLog ref="flowLogPage" v-if="openPage" :types="props.stateForm.type" :app-flow-info="props.appFlowInfo" :app-info="props.appInfo" :log-list="pageLog" :app-page-info="props.appPageInfo" :state-form="props.stateForm" /> <FlowAndLog ref="flowLogPage" v-if="openPage" :types="props.stateForm.type" :app-flow-info="props.appFlowInfo" :app-info="props.appInfo" :log-list="pageLog" :app-page-info="props.appPageInfo" :state-form="props.stateForm" />
<!-- {{stateForm.flowIsTrue}}<br> <!-- {{stateForm.flowIsTrue}}<br>

2
src/views/lookCodePage/index.vue

@ -188,7 +188,7 @@ const afterSubmit = (type: string,val?:any) => {
:is-work-flow="stateForm.flowIsTrue" :is-work-flow="stateForm.flowIsTrue"
:app-info="appContent" :app-info="appContent"
:after-submit="afterSubmit" :after-submit="afterSubmit"
/>{{appPageInfo}} />
<FlowAndLog v-if="lookIsShow" ref="flowLogPage" :types="stateForm.type" :app-flow-info="appFlowInfo" :app-info="appContent" :log-list="pageLog" :app-page-info="appPageInfo" :state-form="stateForm" /> <FlowAndLog v-if="lookIsShow" ref="flowLogPage" :types="stateForm.type" :app-flow-info="appFlowInfo" :app-info="appContent" :log-list="pageLog" :app-page-info="appPageInfo" :state-form="stateForm" />
</el-scrollbar> </el-scrollbar>
</template> </template>

Loading…
Cancel
Save