Browse Source

优化拆分和合并项目

master
zhouhaibin 2 months ago
parent
commit
fd75e897b1
  1. 9
      src/views/ProcessApprovalSubPage/MergeProjectApprova.vue
  2. 9
      src/views/ProcessApprovalSubPage/SplitProjectApprova.vue
  3. 2
      src/views/ProcessApprovalSubPage/component/ApprovalPageModel.vue
  4. 20
      src/views/ProcessApprovalSubPage/component/MergeProjectDetail.vue
  5. 25
      src/views/ProcessApprovalSubPage/component/SplitProjectDetail.vue
  6. 9
      src/views/ProcessApprovalSubPage/planFileApproval.vue
  7. 4
      src/views/myWork/inComplete/inComplete.api.ts
  8. 2
      src/views/projectLib/projectPlan/addPlanFile.vue
  9. 6
      src/views/projectLib/projectPlan/viewPlanDetail.vue

9
src/views/ProcessApprovalSubPage/MergeProjectApprova.vue

@ -1,6 +1,6 @@
<template>
<!-- 自定义表单 -->
<MergeProjectDetail :row="mergeDetailList" :form="fromData" v-if="fromData"/>
<MergeProjectDetail :row="mergeDetailList" :form="fromData" v-if="fromData" :isEdit="resButton.isEdit" ref="MergeProjectDetailRef"/>
<ApprovalDetails :processInstanceId="processInstanceId" />
<ApprovalFromPage :showApprovalForm="showApprovalForm" :buttons="resButton.buttons" ref="ApprovalFromPageRef"
@submit="handleSubmit" @exit="exit" />
@ -17,6 +17,7 @@ import ApprovalFromPage from "../ProcessApprovalSubPage/component/ApprovalFromPa
let dataTo = defineProps(["record"])
const emit = defineEmits(['close']);
let mergeDetailList = ref()
let MergeProjectDetailRef = ref(null)
let projectId = dataTo.record.projectId as string
let processInstanceId = dataTo.record.processInstanceId
let taskid = dataTo.record.taskId as string
@ -79,6 +80,12 @@ async function handleSubmit() {
params.append("file", x.file)
});
}
if(resButton.isEdit==true){
let data=await MergeProjectDetailRef.value.getdata()
params.append("mergesplitinfoVo",JSON.stringify(data))
console.log("提交成功!", data)
}
console.log("param", params, "approvalform", approvalform)
if (await ApprovalFromPageRef.value.validateApprovalForm()) {

9
src/views/ProcessApprovalSubPage/SplitProjectApprova.vue

@ -1,6 +1,6 @@
<template>
<!-- 自定义表单 -->
<SplitProjectDetail :row="splitDetailList" :form="fromData" v-if="fromData"/>
<SplitProjectDetail :row="splitDetailList" :form="fromData" v-if="fromData" :is-edit="resButton.isEdit" ref="SplitProjectDetailRef" />
<ApprovalDetails :processInstanceId="processInstanceId" />
<ApprovalFromPage :showApprovalForm="showApprovalForm" :buttons="resButton.buttons" ref="ApprovalFromPageRef"
@submit="handleSubmit" @exit="exit" />
@ -21,6 +21,7 @@ let projectId = dataTo.record.projectId as string
let processInstanceId = dataTo.record.processInstanceId
let taskid = dataTo.record.taskId as string
let fromData = ref()
let SplitProjectDetailRef=ref(null)
let showApprovalForm = ref()
let ApprovalFromPageRef = ref()
let resButton = reactive({
@ -79,6 +80,12 @@ async function handleSubmit() {
params.append("file", x.file)
});
}
if(resButton.isEdit==true){
let data=await SplitProjectDetailRef.value.getdata()
params.append("mergesplitinfoVoList", JSON.stringify(data))
console.log("提交成功!", data)
}
console.log("param", params, "approvalform", approvalform)
if (await ApprovalFromPageRef.value.validateApprovalForm() ) {

2
src/views/ProcessApprovalSubPage/component/ApprovalPageModel.vue

@ -25,7 +25,7 @@ import uploadURTfileApproval from '../uploadURTfileApproval.vue'
import MergeProjectApprova from '../MergeProjectApprova.vue'
import SplitProjectApprova from '../SplitProjectApprova.vue'
const planfileNames = ["feasibilityTechReviewConfirm","finalFeasibilityReportDraft","centralizedCheck","createPlaninfoFile","bidDocumentsPreparation","costEvalReportConfirm"]
const planfileNames = ["projectApprovalStage","feasibilityTechReviewConfirm","finalFeasibilityReportDraft","centralizedCheck","createPlaninfoFile","bidDocumentsPreparation","costEvalReportConfirm"]
const [registerModal, { closeModal }] = useModalInner(init);
defineProps(["record"])

20
src/views/ProcessApprovalSubPage/component/MergeProjectDetail.vue

@ -13,7 +13,7 @@
import { formSchemas } from '@/views/projectLib/projectInfo/projectInfo.data';
import { cloneDeep } from 'lodash-es';
import ProjectTable from "@/views/ProcessApprovalSubPage/component/ProjectTable.vue"
let dataTo = defineProps(['row', 'form']);
let dataTo = defineProps(['row', 'form',"isEdit"]);
let emit = defineEmits(['close']);
console.log('dataTo11111', dataTo);
onMounted(async () => {
@ -30,18 +30,19 @@
schemas.forEach((schemasitem) => {
formSchemasTemp.forEach((item) => {
if (item.field == schemasitem) {
item.dynamicDisabled = true;
item.dynamicDisabled = dataTo.isEdit? false : true;
SchemaList.push(item);
}
});
});
resetSchema(SchemaList);
setFieldsValue(dataTo.form);
console.log('dataTo', dataTo);
});
//
const [
registerchangeFieldForm,
{ setFieldsValue, resetSchema },
{ setFieldsValue, resetSchema,getFieldsValue, validate },
] = useForm({
resetButtonOptions: { text: '取消' },
@ -55,5 +56,18 @@
wrapperCol: { style: { width: 'auto' } },
// disabled:true
});
async function getdata() {
let projectids=[]
projectids.push(dataTo.row[0].id)
projectids.push(dataTo.row[1].id)
if (await validate) {
let fields=await getFieldsValue()
fields['projectids']=projectids
fields['phone']=dataTo.row[0].phone
fields['projectContacts']=dataTo.row[0].projectContacts
return fields
}
}
defineExpose({getdata})
</script>
<style></style>

25
src/views/ProcessApprovalSubPage/component/SplitProjectDetail.vue

@ -15,7 +15,7 @@
import { formSchemas } from '@/views/projectLib/projectInfo/projectInfo.data';
import { cloneDeep } from 'lodash-es';
import ProjectTable from "@/views/ProcessApprovalSubPage/component/ProjectTable.vue"
let dataTo = defineProps(['row', 'form']);
let dataTo = defineProps(['row', 'form',"isEdit"]);
let emit = defineEmits(['close']);
console.log('dataTo11111', dataTo);
onMounted(async () => {
@ -32,7 +32,7 @@
schemas.forEach((schemasitem) => {
formSchemasTemp.forEach((item) => {
if (item.field == schemasitem) {
item.dynamicDisabled = true;
item.dynamicDisabled = dataTo.isEdit? false : true;
SchemaList.push(item);
}
});
@ -45,7 +45,7 @@
//
const [
registerchangeFieldForm1,
{ setFieldsValue: setFieldsValue1, resetSchema:resetSchema1 },
{ setFieldsValue: setFieldsValue1, resetSchema:resetSchema1 ,validate:validate1,getFieldsValue:getFieldsValue1 },
] = useForm({
// 24 0-24
actionColOptions: { span: 14 },
@ -57,7 +57,7 @@
});
const [
registerchangeFieldForm2,
{ setFieldsValue: setFieldsValue2, resetSchema:resetSchema2 },
{ setFieldsValue: setFieldsValue2, resetSchema:resetSchema2,validate:validate2 ,getFieldsValue:getFieldsValue2},
] = useForm({
resetButtonOptions: { text: '取消' },
@ -71,5 +71,22 @@
wrapperCol: { style: { width: 'auto' } },
// disabled:true
});
async function getdata() {
let projectids=[]
projectids.push(dataTo.row[0].id)
if (await validate1 && await validate2) {
let fields1=await getFieldsValue1()
let fields2=await getFieldsValue2()
fields1['projectids']=projectids
fields1['phone']=dataTo.row[0].phone
fields1['projectContacts']=dataTo.row[0].projectContacts
fields2['projectids']=projectids
fields2['phone']=dataTo.row[0].phone
fields2['projectContacts']=dataTo.row[0].projectContacts
let fields=[fields1,fields2]
return fields
}
}
defineExpose({getdata})
</script>
<style></style>

9
src/views/ProcessApprovalSubPage/planFileApproval.vue

@ -124,7 +124,12 @@
params.planinfoid = planinfoid;
},
afterFetch(data) {
tableDataFiles.value = data[0].taskFile.split(',');
if(data[0].taskFile.indexOf(',') == -1){
tableDataFiles.value = data[0].taskFile.split(',');
}else{
tableDataFiles.value = data[0].taskFile.split(',');
}
},
});
@ -196,7 +201,7 @@
return false;
}
let geShi = ['xlx', 'xlsx', 'docx', 'doc', 'pdf'] as Array<string>;
if (geShi.indexOf(file.name.substring(file.name.indexOf('.') + 1)) == -1) {
if (geShi.indexOf(file.name.substring(file.name.lastIndexOf('.') + 1)) == -1) {
ElMessage.error('文件格式错误!仅支持' + 'xlx,xlsx, docx, doc, pdf');
console.log('文件格式错误!仅支持' + 'xlsx', 'docx', 'doc', 'pdf');
return false;

4
src/views/myWork/inComplete/inComplete.api.ts

@ -13,8 +13,8 @@ export enum Api {
getProcessInstanceIdByProid = "/workflow/getProcessInstanceIdByProid",
getWorkcountNumber="/workflow/getWorkcountNumber",
approveURTFile="/huzhouUploadfileinfo/approveURTFile",
approvalMergeProject="huzhouMergesplitinfo/approvalMergeProject",
approvalSplitProject="huzhouMergesplitinfo/approvalSplitProject",
approvalMergeProject="/huzhouMergesplitinfo/approvalMergeProject",
approvalSplitProject="/huzhouMergesplitinfo/approvalSplitProject",
}

2
src/views/projectLib/projectPlan/addPlanFile.vue

@ -60,7 +60,7 @@ function beforeUpload(file, item) {
return false
}
let geShi = ["xlx","xlsx", "docx", "doc", "pdf"] as Array<string>
if (geShi.indexOf(file.name.substring(file.name.indexOf(".") + 1)) == -1) {
if (geShi.indexOf(file.name.substring(file.name.lastIndexOf(".") + 1)) == -1) {
ElMessage.error('文件格式错误!仅支持' + "xlx,xlsx, docx, doc, pdf");
console.log('文件格式错误!仅支持' + "xlsx", "docx", "doc", "pdf")
return false;

6
src/views/projectLib/projectPlan/viewPlanDetail.vue

@ -239,7 +239,11 @@
}
async function handleuploadfile(record) {
type.value = record.isfinish;
fileArr = record.taskFile.split(',');
if(record.taskFile.includes(',')){
fileArr.value = record.taskFile.split(',');
}else{
fileArr.value = record.taskFile.split(',');
}
planinfoid.value = record.id;
let tableData = await getDataSource();
console.log('tableData', tableData);

Loading…
Cancel
Save