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> <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" /> <ApprovalDetails :processInstanceId="processInstanceId" />
<ApprovalFromPage :showApprovalForm="showApprovalForm" :buttons="resButton.buttons" ref="ApprovalFromPageRef" <ApprovalFromPage :showApprovalForm="showApprovalForm" :buttons="resButton.buttons" ref="ApprovalFromPageRef"
@submit="handleSubmit" @exit="exit" /> @submit="handleSubmit" @exit="exit" />
@ -17,6 +17,7 @@ import ApprovalFromPage from "../ProcessApprovalSubPage/component/ApprovalFromPa
let dataTo = defineProps(["record"]) let dataTo = defineProps(["record"])
const emit = defineEmits(['close']); const emit = defineEmits(['close']);
let mergeDetailList = ref() let mergeDetailList = ref()
let MergeProjectDetailRef = ref(null)
let projectId = dataTo.record.projectId as string let projectId = dataTo.record.projectId as string
let processInstanceId = dataTo.record.processInstanceId let processInstanceId = dataTo.record.processInstanceId
let taskid = dataTo.record.taskId as string let taskid = dataTo.record.taskId as string
@ -79,6 +80,12 @@ async function handleSubmit() {
params.append("file", x.file) 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) console.log("param", params, "approvalform", approvalform)
if (await ApprovalFromPageRef.value.validateApprovalForm()) { if (await ApprovalFromPageRef.value.validateApprovalForm()) {

9
src/views/ProcessApprovalSubPage/SplitProjectApprova.vue

@ -1,6 +1,6 @@
<template> <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" /> <ApprovalDetails :processInstanceId="processInstanceId" />
<ApprovalFromPage :showApprovalForm="showApprovalForm" :buttons="resButton.buttons" ref="ApprovalFromPageRef" <ApprovalFromPage :showApprovalForm="showApprovalForm" :buttons="resButton.buttons" ref="ApprovalFromPageRef"
@submit="handleSubmit" @exit="exit" /> @submit="handleSubmit" @exit="exit" />
@ -21,6 +21,7 @@ let projectId = dataTo.record.projectId as string
let processInstanceId = dataTo.record.processInstanceId let processInstanceId = dataTo.record.processInstanceId
let taskid = dataTo.record.taskId as string let taskid = dataTo.record.taskId as string
let fromData = ref() let fromData = ref()
let SplitProjectDetailRef=ref(null)
let showApprovalForm = ref() let showApprovalForm = ref()
let ApprovalFromPageRef = ref() let ApprovalFromPageRef = ref()
let resButton = reactive({ let resButton = reactive({
@ -79,6 +80,12 @@ async function handleSubmit() {
params.append("file", x.file) 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) console.log("param", params, "approvalform", approvalform)
if (await ApprovalFromPageRef.value.validateApprovalForm() ) { 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 MergeProjectApprova from '../MergeProjectApprova.vue'
import SplitProjectApprova from '../SplitProjectApprova.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); const [registerModal, { closeModal }] = useModalInner(init);
defineProps(["record"]) defineProps(["record"])

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

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

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

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

9
src/views/ProcessApprovalSubPage/planFileApproval.vue

@ -124,7 +124,12 @@
params.planinfoid = planinfoid; params.planinfoid = planinfoid;
}, },
afterFetch(data) { 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; return false;
} }
let geShi = ['xlx', 'xlsx', 'docx', 'doc', 'pdf'] as Array<string>; 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'); ElMessage.error('文件格式错误!仅支持' + 'xlx,xlsx, docx, doc, pdf');
console.log('文件格式错误!仅支持' + 'xlsx', 'docx', 'doc', 'pdf'); console.log('文件格式错误!仅支持' + 'xlsx', 'docx', 'doc', 'pdf');
return false; return false;

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

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

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

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

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

@ -239,7 +239,11 @@
} }
async function handleuploadfile(record) { async function handleuploadfile(record) {
type.value = record.isfinish; 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; planinfoid.value = record.id;
let tableData = await getDataSource(); let tableData = await getDataSource();
console.log('tableData', tableData); console.log('tableData', tableData);

Loading…
Cancel
Save