Browse Source

新增计划金额显示2

master
zhouhaibin 4 days ago
parent
commit
bf011d39bd
  1. 13
      src/views/ProcessApprovalSubPage/planFileApproval.vue
  2. 506
      src/views/projectLib/projectContract/ContractPay.vue
  3. 23
      src/views/projectLib/projectPlan/addPlanFile.vue
  4. 6
      src/views/projectLib/projectPlan/planinfoFileDetail.vue
  5. 5
      src/views/projectLib/projectPlan/viewPlanDetail.vue

13
src/views/ProcessApprovalSubPage/planFileApproval.vue

@ -12,10 +12,11 @@
<el-divider content-position="left">实际金额</el-divider> <el-divider content-position="left">实际金额</el-divider>
</div> </div>
<BasicForm @register="registerContractMoneyForm" v-if="showMoneyForm || taskName == '合同签订'" /> <BasicForm @register="registerContractMoneyForm" v-if="taskName == '合同签订'" />
<div v-if="taskName == '合同签订'"> <div v-if="showMoneyForm || taskName == '合同签订'">
<ContractPay <ContractPay
:projectid="pjid" :projectid="pjid"
:taskName="taskName"
:isModify="resButton.isEdit" :isModify="resButton.isEdit"
:isEdit="resButton.isEdit" :isEdit="resButton.isEdit"
v-if="pjid" v-if="pjid"
@ -314,14 +315,6 @@
contractCountyMoney: contract.planList[0].countyMoney, contractCountyMoney: contract.planList[0].countyMoney,
contractSelfMoney: contract.planList[0].selfMoney, contractSelfMoney: contract.planList[0].selfMoney,
}); });
setContractMoneyFieldsValue({
contractTotalMoney: contract.realList[0].totalMoney,
contractCentralMoney: contract.realList[0].centralMoney,
contractProvincialMoney: contract.realList[0].provincialMoney,
contractCityMoney: contract.realList[0].cityMoney,
contractCountyMoney: contract.realList[0].countyMoney,
contractSelfMoney: contract.realList[0].selfMoney,
});
setContractMoneyProps({ disabled: resButton.isEdit == true ? false : true }); setContractMoneyProps({ disabled: resButton.isEdit == true ? false : true });
} }
}, },

506
src/views/projectLib/projectContract/ContractPay.vue

@ -18,18 +18,23 @@
<!-- </BasicModal> --> <!-- </BasicModal> -->
</template> </template>
<script lang="ts" name="addAndModify" setup> <script lang="ts" name="addAndModify" setup>
import { ref, reactive, onMounted } from 'vue' import { ref, reactive, onMounted } from 'vue';
import { useForm, BasicForm } from '@/components/Form'; import { useForm, BasicForm } from '@/components/Form';
import { contractformSchemas, MoneyFormSchemas } from './projectContract.data'; import { contractformSchemas, MoneyFormSchemas } from './projectContract.data';
import { modifyContractinfo, addContractinfo, getContractinfoByProjectId } from './projectContract.api'; import {
import { queryProjectInfoById } from '@/views/projectLib/projectInfo/projectInfo.api' modifyContractinfo,
import { ElMessage } from 'element-plus' addContractinfo,
getContractinfoByProjectId,
} from './projectContract.api';
import { queryProjectInfoById } from '@/views/projectLib/projectInfo/projectInfo.api';
import { ElMessage } from 'element-plus';
import { useModalInner, BasicModal } from '@/components/Modal'; import { useModalInner, BasicModal } from '@/components/Modal';
import { FormSchema } from '@/components/Form'; import { FormSchema } from '@/components/Form';
import { message } from 'ant-design-vue'; import { message } from 'ant-design-vue';
import { PlusCircleOutlined, MinusCircleOutlined } from '@ant-design/icons-vue'; import { PlusCircleOutlined, MinusCircleOutlined } from '@ant-design/icons-vue';
import { cloneDeep } from 'lodash-es'; import { cloneDeep } from 'lodash-es';
import { getTaskNameTypeDict } from "./projectContract.api" import { getTaskNameTypeDict } from './projectContract.api';
import { da } from 'element-plus/es/locale';
const aaa = ({ values }) => { const aaa = ({ values }) => {
console.log('values:', values); // console.log('values:', values); //
@ -40,82 +45,96 @@ const aaa = ({ values }) => {
required: true, required: true,
// value // value
validator: (formSchemas, value) => { validator: (formSchemas, value) => {
console.log("______", formSchemas, value); console.log('______', formSchemas, value);
//return Promise //return Promise
return new Promise((resolve, reject) => { return new Promise((resolve, reject) => {
if (formSchemas.field.indexOf("centralMoney") != -1) { if (formSchemas.field.indexOf('centralMoney') != -1) {
let fieldnum = formSchemas.field.replace("centralMoney", "") let fieldnum = formSchemas.field.replace('centralMoney', '');
Object.keys(values).forEach(key => { Object.keys(values).forEach((key) => {
if (values["taskName" + fieldnum] == null) { if (values['taskName' + fieldnum] == null) {
reject("请填写本次支付的属性值") reject('请填写本次支付的属性值');
} }
if (values["taskName" + fieldnum] != null && values["taskName" + fieldnum]?.indexOf("首付") != -1) { if (
values['taskName' + fieldnum] != null &&
values['taskName' + fieldnum]?.indexOf('首付') != -1
) {
if (fieldnum.length == 0) { if (fieldnum.length == 0) {
console.log("首付的中央资金不能超过总中央资金的30%11", value, Number(values["centralMoney"]), Number(resMoney.value.centralMoney), Number(values["centralMoney"]) / Number(resMoney.value.centralMoney)) console.log(
'首付的中央资金不能超过总中央资金的30%11',
value,
Number(values['centralMoney']),
Number(resMoney.value.centralMoney),
Number(values['centralMoney']) / Number(resMoney.value.centralMoney),
);
if (Number(value) / Number(resMoney.value.centralMoney) > 0.3) { if (Number(value) / Number(resMoney.value.centralMoney) > 0.3) {
console.log("首付的中央资金不能超过总中央资金的30%") console.log('首付的中央资金不能超过总中央资金的30%');
} }
} else { } else {
let total = Number(values["centralMoney"]) let total = Number(values['centralMoney']);
if (Number(fieldnum) == 2) { if (Number(fieldnum) == 2) {
total += value total += value;
} else { } else {
for (let i = 2; i < Number(fieldnum); i++) { for (let i = 2; i < Number(fieldnum); i++) {
total += Number(values[`centralMoney${i}`]) total += Number(values[`centralMoney${i}`]);
} }
total += value total += value;
} }
if (total / Number(resMoney.value.centralMoney) > 0.3) { if (total / Number(resMoney.value.centralMoney) > 0.3) {
console.log("首付的中央资金不能超过总中央资金的30%") console.log('首付的中央资金不能超过总中央资金的30%');
} }
} }
} }
if (values["taskName" + fieldnum] != null && values["taskName" + fieldnum]?.indexOf("初验") != -1) { if (
values['taskName' + fieldnum] != null &&
values['taskName' + fieldnum]?.indexOf('初验') != -1
) {
if (fieldnum.length == 0) { if (fieldnum.length == 0) {
if (Number(value) / Number(resMoney.value.centralMoney) > 0.6) { if (Number(value) / Number(resMoney.value.centralMoney) > 0.6) {
console.log("初验的中央资金不能超过总中央资金的60%") console.log('初验的中央资金不能超过总中央资金的60%');
} }
} else { } else {
// //
let total = Number(values["centralMoney"]) let total = Number(values['centralMoney']);
if (Number(fieldnum) == 2) { if (Number(fieldnum) == 2) {
total += value total += value;
} else { } else {
for (let i = 2; i < Number(fieldnum); i++) { for (let i = 2; i < Number(fieldnum); i++) {
total += Number(values[`centralMoney${i}`]) total += Number(values[`centralMoney${i}`]);
} }
total += value total += value;
} }
if (total / Number(resMoney.value.centralMoney) > 0.6) { if (total / Number(resMoney.value.centralMoney) > 0.6) {
console.log("初验的中央资金不能超过总中央资金的60%") console.log('初验的中央资金不能超过总中央资金的60%');
} }
} }
} }
resolve("1") resolve('1');
}) });
} }
if (value == null) { if (value == null) {
let name = contractformSchemas.filter(item => formSchemas.field.indexOf(item.field) != -1)[0].label let name = contractformSchemas.filter(
reject(name + "不能为空") (item) => formSchemas.field.indexOf(item.field) != -1,
)[0].label;
reject(name + '不能为空');
} }
resolve("1") resolve('1');
}); });
}, },
}, },
]; ];
} };
const bbb = ({ schema, formModel, formActionType }) => { const bbb = ({ schema, formModel, formActionType }) => {
console.log("formMode222222", schema, formModel) console.log('formMode222222', schema, formModel);
if (schema == undefined || schema.field == undefined) { if (schema == undefined || schema.field == undefined) {
console.log("formModel111111", schema, formModel) console.log('formModel111111', schema, formModel);
return { return {
// //
precision: 2, precision: 2,
// //
step: 1, step: 1,
} };
} }
return { return {
// //
@ -134,17 +153,17 @@ const bbb = ({ schema, formModel, formActionType }) => {
// updateSchema(schema) // updateSchema(schema)
}, },
}; };
} };
// const [registerModal, { closeModal }] = useModalInner(init); // const [registerModal, { closeModal }] = useModalInner(init);
let data = defineProps(["projectid", "isModify", "isEdit"]) let data = defineProps(['projectid', 'taskName', 'isModify', 'isEdit']);
let fileList = reactive<Array<any>>([]); let fileList = reactive<Array<any>>([]);
let isModify = ref() let isModify = ref();
let projectid = ref() let projectid = ref();
let payNum = ref(1) let payNum = ref(1);
let resMoney = ref() let resMoney = ref();
let taskNameTypeDict = ref() let taskNameTypeDict = ref();
let tempSchemas = cloneDeep(contractformSchemas) as Array<FormSchema> let tempSchemas = cloneDeep(contractformSchemas) as Array<FormSchema>;
// tempSchemas.forEach(item => { // tempSchemas.forEach(item => {
// if (item.field.indexOf("Money") != -1) { // if (item.field.indexOf("Money") != -1) {
// item.dynamicRules = aaa() // item.dynamicRules = aaa()
@ -159,115 +178,104 @@ const emit = defineEmits(['close']);
// } // }
onMounted(async () => { onMounted(async () => {
projectid.value = data.projectid projectid.value = data.projectid;
taskNameTypeDict.value = await getTaskNameTypeDict({ projectid: projectid.value }) taskNameTypeDict.value = await getTaskNameTypeDict({ projectid: projectid.value });
payNum.value = 1 payNum.value = 1;
tempSchemas = cloneDeep(contractformSchemas) as Array<FormSchema> tempSchemas = cloneDeep(contractformSchemas) as Array<FormSchema>;
tempSchemas.forEach(item => { tempSchemas.forEach((item) => {
if (item.field.indexOf("Money") != -1) { if (item.field.indexOf('Money') != -1) {
item.dynamicRules = aaa item.dynamicRules = aaa;
item.componentProps = bbb item.componentProps = bbb;
} }
if (item.field == "taskName") { if (item.field == 'taskName') {
item.componentProps.options = taskNameTypeDict.value item.componentProps.options = taskNameTypeDict.value;
console.log("item.componentProps.options", item.componentProps.options) console.log('item.componentProps.options', item.componentProps.options,data.taskName);
if (data.taskName != '合同签订') {
item.dynamicDisabled = true;
item.defaultValue = data.taskName;
} }
})
console.log("datadatadata", data, tempSchemas)
let parammoney: any = {
projectid: data.projectid
} }
resMoney.value = await queryProjectInfoById(parammoney) });
setFieldsValueMoneyForm(resMoney.value) console.log('datadatadata', data, tempSchemas);
fileList.pop() fileList.pop();
if (data.isModify == true || (data.isEdit != null && data.isEdit != undefined)) { if (data.isModify == true || (data.isEdit != null && data.isEdit != undefined)) {
isModify.value = data.isModify isModify.value = data.isModify;
let param: any = { let param: any = {
projectid: data.projectid projectid: data.projectid,
} taskName: data.taskName,
let res = await getContractinfoByProjectId(param) as Array<any> };
let obj = new Object() let res = (await getContractinfoByProjectId(param)) as Array<any>;
let obj = new Object();
// //
let num = res.length let num = res.length;
// //
for (let i = 1; i <= num; i++) { for (let i = 1; i <= num; i++) {
if (i == 1) { if (i == 1) {
obj = res[i - 1] obj = res[i - 1];
} else { } else {
Object.keys(res[i - 1]).forEach(key => { Object.keys(res[i - 1]).forEach((key) => {
obj[key + i] = res[i - 1][key] obj[key + i] = res[i - 1][key];
}) });
} }
} }
if (num > 1) { if (num > 1) {
payNum.value = num payNum.value = num;
for (let i = 2; i <= num; i++) { for (let i = 2; i <= num; i++) {
contractformSchemas.forEach(item => { contractformSchemas.forEach((item) => {
let tempitem = cloneDeep(item) let tempitem = cloneDeep(item);
if (tempitem.field.indexOf("Money") != -1) { if (tempitem.field.indexOf('Money') != -1) {
tempitem.dynamicRules = aaa tempitem.dynamicRules = aaa;
tempitem.componentProps = bbb tempitem.componentProps = bbb;
} }
if (tempitem.field == "payDate") { if (tempitem.field == 'payDate') {
tempitem.label = "第" + i + "次支付" tempitem.label = '第' + i + '次支付';
}
if (tempitem.field == 'taskName') {
tempitem.componentProps.options = taskNameTypeDict.value;
if (data.taskName != '合同签订') {
tempitem.dynamicDisabled = true;
tempitem.defaultValue = data.taskName;
} }
if (tempitem.field == "taskName") {
tempitem.componentProps.options = taskNameTypeDict.value
} }
// if (tempitem.field == "totalMoney") { // if (tempitem.field == "totalMoney") {
// tempitem.label = "" + i + "" // tempitem.label = "" + i + ""
// } // }
tempitem.field = tempitem.field + i tempitem.field = tempitem.field + i;
tempSchemas.push(tempitem) tempSchemas.push(tempitem);
}) });
} }
resetSchema(tempSchemas) resetSchema(tempSchemas);
} else { } else {
resetSchema(tempSchemas) resetSchema(tempSchemas);
} }
console.log("结果是", res, obj) console.log('结果是', res, obj);
obj["id"] = data.projectid obj['id'] = data.projectid;
setFieldsValue(obj) setFieldsValue(obj);
} else { } else {
//id id //id id
resetSchema(tempSchemas) resetSchema(tempSchemas);
setFieldsValue({ id: data.projectid }) setFieldsValue({ id: data.projectid });
} }
//isEdit //isEdit
if (data.isEdit == false) { if (data.isEdit == false) {
setProps({ setProps({
disabled: true
})
}
})
//
const [registerMoneyForm, { setFieldsValue: setFieldsValueMoneyForm }] = useForm({
//
schemas: MoneyFormSchemas,
showActionButtonGroup: false,
//
// autoSubmitOnEnter: true,
// //
// showResetButton: false,
//
// submitButtonOptions: { text: '', preIcon: '' },
// 24 0-24
// actionColOptions: { span: 17 },
disabled: true, disabled: true,
size: "small",
// labelCol: { style: { width: '120px' } },
wrapperCol: { style: { width: 'auto' } },
}); });
}
});
// //
const [registerContractForm, { setFieldsValue: setFieldsValue, getFieldsValue, validate, resetSchema, removeSchemaByField, setProps }] = useForm({ const [
registerContractForm,
{
setFieldsValue: setFieldsValue,
getFieldsValue,
validate,
resetSchema,
removeSchemaByField,
setProps,
},
] = useForm({
// //
schemas: contractformSchemas, schemas: contractformSchemas,
showActionButtonGroup: false, showActionButtonGroup: false,
@ -285,114 +293,116 @@ const [registerContractForm, { setFieldsValue: setFieldsValue, getFieldsValue, v
}); });
async function addFrom() { async function addFrom() {
console.log("addFrom", await getFieldsValue()) console.log('addFrom', await getFieldsValue());
let a = await validate() let a = await validate();
if (a) { if (a) {
payNum.value += 1 payNum.value += 1;
contractformSchemas.forEach(item => { contractformSchemas.forEach((item) => {
let tempitem = cloneDeep(item) let tempitem = cloneDeep(item);
if (tempitem.field.indexOf("Money") != -1) { if (tempitem.field.indexOf('Money') != -1) {
tempitem.dynamicRules = aaa tempitem.dynamicRules = aaa;
tempitem.componentProps = bbb tempitem.componentProps = bbb;
} }
if (tempitem.field == "payDate") { if (tempitem.field == 'payDate') {
tempitem.label = "第" + payNum.value + "次支付" tempitem.label = '第' + payNum.value + '次支付';
}
if (tempitem.field == 'taskName') {
tempitem.componentProps.options = taskNameTypeDict.value;
if (data.taskName != '合同签订') {
tempitem.dynamicDisabled = true;
tempitem.defaultValue = data.taskName;
} }
if (tempitem.field == "taskName") {
tempitem.componentProps.options = taskNameTypeDict.value
} }
// if (tempitem.field == "totalMoney") { // if (tempitem.field == "totalMoney") {
// tempitem.label = "" + payNum.value + "" // tempitem.label = "" + payNum.value + ""
// } // }
tempitem.field = tempitem.field + payNum.value tempitem.field = tempitem.field + payNum.value;
tempSchemas.push(tempitem) tempSchemas.push(tempitem);
}) });
// console.log("temp222222",tempSchemas,tempSchemas.length) // console.log("temp222222",tempSchemas,tempSchemas.length)
resetSchema(tempSchemas) resetSchema(tempSchemas);
} }
} }
function minusFrom() { function minusFrom() {
if (payNum.value == 1) { if (payNum.value == 1) {
message.warning("至少保留一个支付项"); message.warning('至少保留一个支付项');
return return;
} }
let last = cloneDeep(tempSchemas) let last = cloneDeep(tempSchemas);
last = last.slice(payNum.value * 9 - 9) last = last.slice(payNum.value * 9 - 9);
last.forEach(element => { last.forEach((element) => {
removeSchemaByField(element.field) removeSchemaByField(element.field);
}); });
tempSchemas = tempSchemas.slice(0, payNum.value * 9 - 9) tempSchemas = tempSchemas.slice(0, payNum.value * 9 - 9);
payNum.value -= 1 payNum.value -= 1;
resetSchema(tempSchemas) resetSchema(tempSchemas);
} }
//Excel //Excel
async function submitImportForm() { async function submitImportForm() {
let res = [] let res = [];
let data = await getFieldsValue() let data = await getFieldsValue();
for (let i = 1; i <= payNum.value; i++) { for (let i = 1; i <= payNum.value; i++) {
let obj = new Object() let obj = new Object();
contractformSchemas.forEach(item => { contractformSchemas.forEach((item) => {
if (i == 1) { if (i == 1) {
obj[item.field] = data[item.field] obj[item.field] = data[item.field];
} else { } else {
obj[item.field] = data[item.field + i] obj[item.field] = data[item.field + i];
} }
obj["projectId"] = projectid.value obj['projectId'] = projectid.value;
delete obj.id; delete obj.id;
}) });
res.push(obj) res.push(obj);
} }
console.log("data", data, res) console.log('data', data, res);
// if(checkForm()){ // if(checkForm()){
// ElMessage.success("") // ElMessage.success("")
// } // }
if (await checkForm()) { if (await checkForm()) {
const params = new FormData() const params = new FormData();
console.log("data", data) console.log('data', data);
// 使form // 使form
if (isModify.value == true) { if (isModify.value == true) {
if (fileList.length > 0) { if (fileList.length > 0) {
params.append("file", fileList[0].file) params.append('file', fileList[0].file);
} }
// //
params.append("contractinfoList", JSON.stringify(res)) params.append('contractinfoList', JSON.stringify(res));
await modifyContractinfo(params) await modifyContractinfo(params);
} else { } else {
if (fileList.length == 0) { if (fileList.length == 0) {
ElMessage.warning("请上传文件") ElMessage.warning('请上传文件');
return; return;
} }
params.append("file", fileList[0].file) params.append('file', fileList[0].file);
params.append("contractinfoList", JSON.stringify(res)) params.append('contractinfoList', JSON.stringify(res));
await addContractinfo(params) await addContractinfo(params);
} }
dialogVisible() dialogVisible();
} }
} }
function dialogVisible() { function dialogVisible() {
emit("close") emit('close');
} }
async function checkForm() { // async function checkForm() {
await validate() //
let data = getFieldsValue() await validate();
let totalCentralMoney = 0 let data = getFieldsValue();
let totalCountyMoney = 0 let totalCentralMoney = 0;
let totalCityMoney = 0 let totalCountyMoney = 0;
let totalProvincialMoney = 0 let totalCityMoney = 0;
let totalSelfMoney = 0 let totalProvincialMoney = 0;
let totalMoney = 0 let totalSelfMoney = 0;
let showshoufu = false let totalMoney = 0;
let showchuyan = false let showshoufu = false;
let showzhongyan = false let showchuyan = false;
let returnRes = true let showzhongyan = false;
let returnRes = true;
// //
Object.keys(data).forEach(key => { Object.keys(data).forEach((key) => {
if (key.indexOf("taskName") != -1 && data[key].indexOf("首付") != -1) { if (key.indexOf('taskName') != -1 && data[key].indexOf('首付') != -1) {
showshoufu = true showshoufu = true;
// if (key == "taskName") { // if (key == "taskName") {
// if (Number(data["centralMoney"]) / Number(centralMoney) > 0.3) { // if (Number(data["centralMoney"]) / Number(centralMoney) > 0.3) {
// ElMessage.error("30%") // ElMessage.error("30%")
@ -415,8 +425,8 @@ async function checkForm() { //校验表单
// } // }
// } // }
} }
if (key.indexOf("taskName") != -1 && data[key].indexOf("初验") != -1) { if (key.indexOf('taskName') != -1 && data[key].indexOf('初验') != -1) {
showchuyan = true showchuyan = true;
// if (key == "taskName") { // if (key == "taskName") {
// if (Number(data["centralMoney"]) / Number(centralMoney) > 0.6) { // if (Number(data["centralMoney"]) / Number(centralMoney) > 0.6) {
// ElMessage.error("60%") // ElMessage.error("60%")
@ -439,92 +449,90 @@ async function checkForm() { //校验表单
// } // }
// } // }
} }
if (key.indexOf("taskName") != -1 && data[key].indexOf("终验") != -1) { if (key.indexOf('taskName') != -1 && data[key].indexOf('终验') != -1) {
showzhongyan = true showzhongyan = true;
} }
// //
if (key.includes("centralMoney")) { if (key.includes('centralMoney')) {
totalCentralMoney += Number(data[key]) totalCentralMoney += Number(data[key]);
} }
if (key.includes("countyMoney")) { if (key.includes('countyMoney')) {
totalCountyMoney += Number(data[key]) totalCountyMoney += Number(data[key]);
} }
if (key.includes("cityMoney")) { if (key.includes('cityMoney')) {
totalCityMoney += Number(data[key]) totalCityMoney += Number(data[key]);
} }
if (key.includes("provincialMoney")) { if (key.includes('provincialMoney')) {
totalProvincialMoney += Number(data[key]) totalProvincialMoney += Number(data[key]);
} }
if (key.includes("selfMoney")) { if (key.includes('selfMoney')) {
totalSelfMoney += Number(data[key]) totalSelfMoney += Number(data[key]);
} }
if (key.includes("totalMoney")) { if (key.includes('totalMoney')) {
totalMoney += Number(data[key]) totalMoney += Number(data[key]);
} }
}) });
if (!returnRes) { if (!returnRes) {
return false return false;
}
if (totalCentralMoney != Number(resMoney.value.centralMoney)) {
ElMessage.error("中央资金总额不匹配")
return false
}
if (totalCountyMoney != Number(resMoney.value.countyMoney)) {
ElMessage.error("县级资金总额不匹配")
return false
}
if (totalCityMoney != Number(resMoney.value.cityMoney)) {
ElMessage.error("市级资金总额不匹配")
return false
}
if (totalProvincialMoney != Number(resMoney.value.provincialMoney)) {
ElMessage.error("省级资金总额不匹配")
return false
}
if (totalSelfMoney != Number(resMoney.value.selfMoney)) {
ElMessage.error("自筹资金总额不匹配")
return false
}
if (totalMoney != Number(resMoney.value.totalMoney)) {
ElMessage.error("总资金总额不匹配")
return false
} }
// if (totalCentralMoney != Number(resMoney.value.centralMoney)) {
// ElMessage.error("")
// return false
// }
// if (totalCountyMoney != Number(resMoney.value.countyMoney)) {
// ElMessage.error("")
// return false
// }
// if (totalCityMoney != Number(resMoney.value.cityMoney)) {
// ElMessage.error("")
// return false
// }
// if (totalProvincialMoney != Number(resMoney.value.provincialMoney)) {
// ElMessage.error("")
// return false
// }
// if (totalSelfMoney != Number(resMoney.value.selfMoney)) {
// ElMessage.error("")
// return false
// }
// if (totalMoney != Number(resMoney.value.totalMoney)) {
// ElMessage.error("")
// return false
// }
if (!showshoufu) { if (!showshoufu) {
ElMessage.error("请添加首付任务") ElMessage.error('请添加首付任务');
return false return false;
} }
if (!showchuyan) { if (!showchuyan) {
ElMessage.error("请添加初验任务") ElMessage.error('请添加初验任务');
return false return false;
} }
if (!showzhongyan) { if (!showzhongyan) {
ElMessage.error("请添加终验任务") ElMessage.error('请添加终验任务');
return false return false;
} }
console.log("data", data) console.log('data', data);
return true return true;
} }
async function getFieldsValuetoRef() { async function getFieldsValuetoRef() {
let res = [] let res = [];
let data = await getFieldsValue() let data = await getFieldsValue();
for (let i = 1; i <= payNum.value; i++) { for (let i = 1; i <= payNum.value; i++) {
let obj = new Object() let obj = new Object();
contractformSchemas.forEach(item => { contractformSchemas.forEach((item) => {
if (i == 1) { if (i == 1) {
obj[item.field] = data[item.field] obj[item.field] = data[item.field];
} else { } else {
obj[item.field] = data[item.field + i] obj[item.field] = data[item.field + i];
} }
obj["projectId"] = projectid.value obj['projectId'] = projectid.value;
delete obj.id; delete obj.id;
}) });
res.push(obj) res.push(obj);
} }
return res return res;
} }
defineExpose({ getFieldsValuetoRef, checkForm }) defineExpose({ getFieldsValuetoRef, checkForm });
</script> </script>
<style scoped> <style scoped>
.suffix { .suffix {

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

@ -9,10 +9,14 @@
<el-divider content-position="left">计划金额</el-divider> <el-divider content-position="left">计划金额</el-divider>
<BasicForm @register="registerContractMoneyFormShow" /> <BasicForm @register="registerContractMoneyFormShow" />
<el-divider content-position="left">实际金额</el-divider> <el-divider content-position="left">实际金额</el-divider>
</div> <BasicForm @register="registerContractMoneyForm" v-if="showMoneyForm||dataTo.taskName == '合同签订'" /> </div>
<BasicForm
@register="registerContractMoneyForm"
v-if="dataTo.taskName == '合同签订'"
/>
<div v-if="dataTo.taskName == '合同签订'"> <div v-if="showMoneyForm || dataTo.taskName == '合同签订'">
<ContractPay :projectid="projectId" :isModify="false" v-if="projectId" ref="contractRef" /> <ContractPay :projectid="projectId" :taskName="dataTo.taskName" :isModify="false" v-if="projectId" ref="contractRef" />
</div> </div>
<!-- <BasicForm @register="registerContractMoneyForm" v-if="dataTo.taskName == '合同签订'" /> --> <!-- <BasicForm @register="registerContractMoneyForm" v-if="dataTo.taskName == '合同签订'" /> -->
@ -171,12 +175,8 @@
// labelCol: { style: { width: '120px' } }, // labelCol: { style: { width: '120px' } },
wrapperCol: { style: { width: 'auto' } }, wrapperCol: { style: { width: 'auto' } },
}); });
const [ const [registerContractMoneyFormShow, { setFieldsValue: setContractMoneyFieldsValueShow }] =
registerContractMoneyFormShow, useForm({
{
setFieldsValue: setContractMoneyFieldsValueShow,
},
] = useForm({
schemas: ContractMoneyFormSchemas, schemas: ContractMoneyFormSchemas,
showActionButtonGroup: false, showActionButtonGroup: false,
disabled: true, disabled: true,
@ -327,7 +327,7 @@
} else { } else {
return; return;
} }
} else if (dataTo.taskName == '合同签订' || showMoneyForm.value) { } else if (dataTo.taskName == '合同签订' ) {
if (await validateContractMoneyForm()) { if (await validateContractMoneyForm()) {
const contractMoneyFieldsValue = getContractMoneyFieldsValue(); const contractMoneyFieldsValue = getContractMoneyFieldsValue();
const { const {
@ -353,14 +353,13 @@
params.append('contractMoneyFieldsValue', JSON.stringify(contractMoneyFieldsValue)); params.append('contractMoneyFieldsValue', JSON.stringify(contractMoneyFieldsValue));
} else { } else {
message.error('总金额与其他金额之和不相等,请重新输入!'); message.error('总金额与其他金额之和不相等,请重新输入!');
return; return;
} }
} else { } else {
return; return;
} }
// //
if (dataTo.taskName == '合同签订') { if (dataTo.taskName == '合同签订'|| showMoneyForm.value) {
let fromdate = await contractRef.value.getFieldsValuetoRef(); let fromdate = await contractRef.value.getFieldsValuetoRef();
params.append('contractinfoList', JSON.stringify(fromdate)); params.append('contractinfoList', JSON.stringify(fromdate));
} }

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

@ -12,10 +12,10 @@
<BasicForm @register="registerApprovalMoneyForm" v-if="taskName == '立项审批'" /> <BasicForm @register="registerApprovalMoneyForm" v-if="taskName == '立项审批'" />
<BasicForm <BasicForm
@register="registerContractMoneyForm" @register="registerContractMoneyForm"
v-if="showMoneyForm ||taskName == '合同签订'" v-if="taskName == '合同签订'"
/> />
<div v-if="taskName == '合同签订'"> <div v-if="showMoneyForm ||taskName == '合同签订'">
<ContractPay :projectid="projectId" :isModify="false" :isEdit="false" v-if="projectId"/> <ContractPay :projectid="projectId" :taskName="taskName" :isModify="false" :isEdit="false" v-if="projectId"/>
</div> </div>
<el-divider content-position="left">项目计划资料详情</el-divider> <el-divider content-position="left">项目计划资料详情</el-divider>
<PlanFileDetail :planinfoid="planinfoid" :stage="1" :key="planFileDetailkey" /> <PlanFileDetail :planinfoid="planinfoid" :stage="1" :key="planFileDetailkey" />

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

@ -221,10 +221,11 @@
label: '上传资料', label: '上传资料',
ifShow: () => { ifShow: () => {
if ( if (
record.isfinish == 0 && (record.isfinish == 0 &&
record.taskFile?.length > 0 && record.taskFile?.length > 0 &&
record.taskName != '可研技术审查报告确认' && record.taskName != '可研技术审查报告确认' &&
record.taskName != '造价评估报告确认' record.taskName != '造价评估报告确认') ||
record.ismodify
) { ) {
if (isShowByRoles('projectContact')) { if (isShowByRoles('projectContact')) {
// //

Loading…
Cancel
Save