diff --git a/src/api/DesignForm/requestapi.ts b/src/api/DesignForm/requestapi.ts index aa3b40a2b..31427eb7b 100644 --- a/src/api/DesignForm/requestapi.ts +++ b/src/api/DesignForm/requestapi.ts @@ -19,7 +19,8 @@ import { optimizeRepairForm, publicFormTableStruct, hanziToPinyin, - gogoBackFormTabelStruct + gogoBackFormTabelStruct, + nodeFlow } from './type'; //自定义表单列表 export function getCustomerFormList(queryParams: SearchForm): AxiosPromise { @@ -167,3 +168,11 @@ export function chineseToPinyin(data: hanziToPinyin){ data: data }); } +//获取工作流步进节点 +export function generateFlow(data: nodeFlow){ + return request({ + url: '/systemapi/task_flow/generateFlow', + method: 'post', + data: data + }); +} diff --git a/src/api/DesignForm/type.ts b/src/api/DesignForm/type.ts index ca7500ce4..b58d2a154 100644 --- a/src/api/DesignForm/type.ts +++ b/src/api/DesignForm/type.ts @@ -59,6 +59,8 @@ export interface customerFormVersionCont{ editTime:number; table_structure:string; dict:string; + createrstr:string; + flowkeystr:string; } //编辑自定义表单内容 export interface editFormInfo extends customerFromCont{ @@ -132,3 +134,35 @@ export interface hanziToPinyin{ types:number; connector:string; } +//获取工作流步进节点 +export interface nodeFlow extends enableVersionId{ + conditionList?:conditionInfo[] +} +export interface conditionInfo{ + factorid:string; + type:number; + isCheckbox?:boolean; + answers?:string[]; + oneanswer?:string; + customFields?:customFieldsInfo[]; + nodeUserList?:nodeUserInfo[]; + + +} +//自定义条件 +export interface customFieldsInfo{ + wordfield:string; + optType:string; + leftval:string; + leftoptType?:string; + rightoptType?:string; + rightval?:string; +} +//节点条件人员 +export interface nodeUserInfo{ + type:number; + targetId:string; + name?:string; + icon?:string; + iconToBase64?:string; +} diff --git a/src/api/taskapi/management.ts b/src/api/taskapi/management.ts index 1c68803cc..888ec0973 100644 --- a/src/api/taskapi/management.ts +++ b/src/api/taskapi/management.ts @@ -6,7 +6,8 @@ import { gainTaskListQuery, gainTaskListPageResult, customerFormLogo, - customerFormVersionCont + customerFormVersionCont, + nodeFlow } from '@/api/taskapi/types' @@ -64,3 +65,12 @@ export function delCustomerFormData(data: customerFormLogo) { data: data }); } + +//获取工作流步进节点 +export function generateFlow(data: nodeFlow):any{ + return request({ + url: '/systemapi/task_flow/generateFlow', + method: 'post', + data: data + }); +} diff --git a/src/api/taskapi/types.ts b/src/api/taskapi/types.ts index 4cd6dcae0..8e4a2279f 100644 --- a/src/api/taskapi/types.ts +++ b/src/api/taskapi/types.ts @@ -55,3 +55,35 @@ export interface customerFormVersionCont{ table_structure:string; dict:string; } +//获取工作流步进节点 +export interface nodeFlow extends customerFormLogo{ + conditionList?:conditionInfo[] +} +export interface conditionInfo{ + factorid:string; + type:number; + isCheckbox?:boolean; + answers?:string[]; + oneanswer?:string; + customFields?:customFieldsInfo[]; + nodeUserList?:nodeUserInfo[]; + + +} +//自定义条件 +export interface customFieldsInfo{ + wordfield:string; + optType:string; + leftval:string; + leftoptType?:string; + rightoptType?:string; + rightval?:string; +} +//节点条件人员 +export interface nodeUserInfo{ + type:number; + targetId:string; + name?:string; + icon?:string; + iconToBase64?:string; +} diff --git a/src/components/workflow/dialog/common.ts b/src/components/workflow/dialog/common.ts index 0336164ec..0b6be05cb 100644 --- a/src/components/workflow/dialog/common.ts +++ b/src/components/workflow/dialog/common.ts @@ -60,7 +60,7 @@ export let getRoleList = async () => { export let getPostList = async () => { let { data } = await GetPositionUnify() - console.log("getPostList",data); + // console.log("getPostList",data); positionList.value = data; } diff --git a/src/components/workflow/dialog/positionDialog.vue b/src/components/workflow/dialog/positionDialog.vue index c6fd8bcc6..0af072ee2 100644 --- a/src/components/workflow/dialog/positionDialog.vue +++ b/src/components/workflow/dialog/positionDialog.vue @@ -32,7 +32,7 @@ let list = computed(() => { // change: (item) => { // checkedRoleList.value = [item] // } - change: (item:any)=> $func.toChecked(checkedRoleList.value, item), + change: (item:any)=> $func.toChecked(checkedRoleList.value, item), }] }) let resList = computed(() => { @@ -55,21 +55,37 @@ watch(() => props.visible, (val:any) => { if (val) { getPostList(); searchVal.value = ""; + // console.log("已经选中的职位--->",props.data) checkedRoleList.value = props.data.map(({ name, targetId }) => ({ - name: name, + name: name, id: targetId })); } }) let total = computed(() => checkedRoleList.value.length) const saveDialog = () => { + // console.log("已经选中的职位",checkedRoleList.value) let checkedList = checkedRoleList.value.map((item:any) => ({ type: 4, targetId: item.id.toString(), - name: item.name + name: item.name, + options:optionsList(item.PositionListId) })) + // console.log("已经选中的职位--2--->",checkedList) emits('change', checkedList) } +const optionsList = (val:any[]) =>{ + let optionsAry = new Array + if(val&&val.length>0){ + val.forEach((item:any) => { + optionsAry.push({ + label:"", + value:item.toString() + }) + }) + } + return optionsAry +} const delList = () => { checkedRoleList.value = []; } diff --git a/src/components/workflow/drwer/approverDrawer.vue b/src/components/workflow/drwer/approverDrawer.vue index 94fee1a1b..33fe84e26 100644 --- a/src/components/workflow/drwer/approverDrawer.vue +++ b/src/components/workflow/drwer/approverDrawer.vue @@ -66,7 +66,9 @@ watch(visible,(val:any)=>{ }) watch(approverConfig1, (val:any)=>{ - // console.log("directormaxlevel",visible.value)\ + + val.value.attribute = val.value.attribute*1 + console.log("directormaxlevel",val.value) matrixIsShow.value = false approverConfig.value = val.value if(val.type == 3){ @@ -75,7 +77,7 @@ watch(approverConfig1, (val:any)=>{ nodeTitle.value = "审批人设置" } isExecutor.value = false - + // approverConfig.attribute = approverConfig.attribute*1 if(visible.value){ judgeOptionalNode(props.nodeConfig) .then((data:any)=>{ @@ -221,10 +223,10 @@ const updateMatrix = (val:any) =>{

- + @@ -245,9 +247,9 @@ const updateMatrix = (val:any) =>{ 添加/修改行政岗位 - - + @@ -283,10 +285,10 @@ const updateMatrix = (val:any) =>{

审批终点

- + @@ -318,7 +320,10 @@ const updateMatrix = (val:any) =>{

- + { }) } if(currLent < flowFactorList.value.length){ - tableList.value.push({id:currLent+1,name:"",factorid:"",type:0,isok:false,isCheckbox:true,options:[],answers:[],customFields:[]}) + tableList.value.push({id:currLent+1,name:"",factorid:"",type:0,isok:false,isCheckbox:true,options:[],oneanswer:"",answers:[],customFields:[]}) if(currLent+1 >= flowFactorList.value.length){ maxFactor.value = true }else{ @@ -231,7 +231,7 @@ const saveCondition = () => { let isError = false if(tableList.value.length>0){ for (var i = 0; i < tableList.value.length; i++) { - var {name,type,options,nodeUserList,answers,isCheckbox,customFields} = tableList.value[i] + var {name,type,options,nodeUserList,oneanswer,answers,isCheckbox,customFields} = tableList.value[i] console.log("conditionConfig.conditionList--1->",name); console.log("conditionConfig.conditionList--2->",type); console.log("conditionConfig.conditionList--3->",options); @@ -239,6 +239,7 @@ const saveCondition = () => { console.log("conditionConfig.conditionList--5->",answers); console.log("conditionConfig.conditionList--6->",isCheckbox); console.log("conditionConfig.conditionList--7->",customFields); + console.log("conditionConfig.conditionList--8->",oneanswer); switch(type){ case 1: if(nodeUserList){ @@ -262,13 +263,18 @@ const saveCondition = () => { } break; case 3: - if(answers.length > 0){ - if(!Array.isArray(answers)){ - tableList.value[i].answers=[answers] + if (isCheckbox){ + if(answers.length > 0){ + if(!Array.isArray(answers)){ + tableList.value[i].answers=[answers] + } + }else{ + isError = true } }else{ - isError = true + tableList.value[i].oneanswer=oneanswer } + break; default: isError = true @@ -441,7 +447,7 @@ const delCuresTiaoJian = (val:any,old:any) => { 添加条件