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) {
return request({
url: '/systemapi/customer_form/multiViewPage',

1
src/components/formTable/index.vue

@ -32,6 +32,7 @@ const props = withDefaults(
beforeSubmit?: Function | string //
afterSubmit?: Function // return false
btnClick?: (key: string) => boolean | void //
changeKeyVal?: Function; //
}>(),
{
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:删除
*/
const butIsShow = (val:any,type:number) => {
// console.log("",val)
console.log("判断是否显示--->type",type)
console.log("判断是否显示",val)
switch (type) {
case 7:
if(val.flowIsOpens == 1 && val.taskStatus == 1){
if(val.flowIsOpens == 1 && val.taskStatus*1 == 1){
return true;
}else{
return false;
}
break;
case 2:
if(val.flowIsOpens == 1 && val.taskStatus == 2){
if(val.flowIsOpens == 1 && val.taskStatus*1 == 2){
return true;
}else{
return false;
}
break;
case 3:
if(val.flowIsOpens == 1 && val.taskStatus == 3 && val.isRetract){
if(val.flowIsOpens == 1 && val.taskStatus*1 == 3 && val.isRetract){
return true;
}else{
return false;
}
break;
case 4:
if(val.flowIsOpens == 1 && val.taskStatus == 4){
if(val.flowIsOpens == 1 && val.taskStatus*1 == 4){
return true;
}else{
return false;
@ -780,7 +781,7 @@ const butIsShow = (val:any,type:number) => {
}
break;
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;
}else{
return false;
@ -874,13 +875,13 @@ defineExpose({
tableDataList =========> {{ tableDataList }} <br><br><br><br> -->
<el-checkbox-group v-model="pageIdAry">
<el-card v-for="(itval,itIndex) in tableDataList" :key="itIndex" class="taskCardBox" shadow="always" >
<table class="talbelBox">
<tbody>
<tr v-if="itval.flowIsOpen==1">
<tr v-if="itval.flowIsOpens==1">
<td class="cardInfoTitle">状态</td>
<td class="cardInfoTitle" align="right">
<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>
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'
const props = defineProps({
types:{
type:Number,
@ -114,9 +117,16 @@ const newAddPageData = () => {
}
}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 != ""){
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})=>{
console.log("获取流程==2==>",data)
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({
runWorkFlow,
reapplyWorkFlow,
rundraftWorkFlow
rundraftWorkFlow,
refreshWorkFlow
})
</script>
<template>
<div>{{flowMap}}
<div>
<el-tabs v-model="activeName" class="demo-tabs" @tab-click="handleClick">
<el-tab-pane v-if="flowMap&&flowMap.length > 0" label="审批流程" name="flow">
<el-steps direction="vertical" :active="currentProgress">
<el-step v-for="item in flowMap" :key="item.step">
<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>
<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 { 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({
isShow:{
@ -44,6 +46,7 @@ const props = defineProps({
default:"",
}
});
const nodelUserList = reactive<nodelPeoples[]>([]);
const emits = defineEmits(["update:isShow","searchData"])
const openPage =computed({
get() {
@ -57,7 +60,9 @@ const formDesign = ref<any>();
const flowLogPage = ref<any>(); //
const pageLog = ref<any[]>([]); //
const loadPage = ref(false)
const gainFlowChart = reactive<nodeFlow>({
id: "0",
});
/**
@ -187,6 +192,195 @@ onMounted(()=>{
console.log("挺挺挺挺下")
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>
<template>
<div class="newDrawerCont">
@ -205,6 +399,7 @@ onMounted(()=>{
:is-work-flow="stateForm.flowIsTrue"
:app-info="props.appInfo"
: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" />
<!-- {{stateForm.flowIsTrue}}<br>

2
src/views/lookCodePage/index.vue

@ -188,7 +188,7 @@ const afterSubmit = (type: string,val?:any) => {
:is-work-flow="stateForm.flowIsTrue"
:app-info="appContent"
: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" />
</el-scrollbar>
</template>

Loading…
Cancel
Save