From 5b9364e25770b56e31e76c34a8dc381aec060d56 Mon Sep 17 00:00:00 2001 From: wangxl <123456> Date: Mon, 6 Jan 2025 15:39:40 +0800 Subject: [PATCH] 3333 --- src/views/expert/components/expertEdit.vue | 1 + .../report/project/components/fundEdit.vue | 76 ++++-- src/views/report/project/config.js | 46 ++-- src/views/report/task/components/taskEdit.vue | 239 +++++++++--------- 4 files changed, 194 insertions(+), 168 deletions(-) diff --git a/src/views/expert/components/expertEdit.vue b/src/views/expert/components/expertEdit.vue index 0c8e564..4e569b3 100644 --- a/src/views/expert/components/expertEdit.vue +++ b/src/views/expert/components/expertEdit.vue @@ -222,6 +222,7 @@ export default { }).catch(() => { this.loading = false }) }, submit () { + console.log(this.formData) if (!!!this.formData.specList || this.formData.specList.length == 0) { this.$message.error('请选择评审专业!') return false diff --git a/src/views/report/project/components/fundEdit.vue b/src/views/report/project/components/fundEdit.vue index 425ac92..a6ac2f4 100644 --- a/src/views/report/project/components/fundEdit.vue +++ b/src/views/report/project/components/fundEdit.vue @@ -26,38 +26,58 @@ </a-row> <div v-for="(item, index) in budget" :key="'budget' + index" class="row_center"> - <a-row v-if="item.type ==='count'"> + <a-row v-if="item.type ==='count'" type="flex"> <a-col :span="6" :style="'text-align: left;padding-left:'+left(item.level)+'px'"> - {{item.budgetName}} + <div class="special-middle"> + {{item.budgetName}} + </div> </a-col> <a-col :span="3"> - {{Count(item.source,'totalBudget',index)}} + <div class="special-middle"> + {{Count(item.source,'totalBudget',index)}} + </div> </a-col> <a-col :span="5"> - <span v-if="!!!item.show||item.show === 'applyFunds'">{{Count(item.source,'applyFunds',index)}}</span> + <div class="special-middle"> + <span v-if="!!!item.code||item.code === 'applyFunds'">{{Count(item.source,'applyFunds',index)}}</span> + </div> </a-col> <a-col :span="5"> - {{Count(item.source,'selfFunds',index)}} + <div class="special-middle"> + {{Count(item.source,'selfFunds',index)}} + </div> </a-col> <a-col :span="5"> - <a-input v-model="item.calculationBasis" :maxLength="100" style="width: 80%;" /> + <div class="special-middle"> + <a-input v-model="item.calculationBasis" :maxLength="100" style="width: 80%;" /> + </div> </a-col> </a-row> - <a-row v-else> + <a-row v-else type="flex"> <a-col :span="6" :style="'text-align: left;padding-left:'+left(item.level)+'px'"> - {{item.budgetName}} + <div class="special-middle"> + {{item.budgetName}} + </div> </a-col> <a-col :span="3"> - {{Count1(index, item.applyFunds, item.selfFunds)}} + <div class="special-middle"> + {{Count1(index, item.applyFunds, item.selfFunds)}} + </div> </a-col> <a-col :span="5"> - <a-input-number v-model="item.applyFunds" :min="0" :step="0.01" style="width: 80%" v-if="!!!item.show||item.show === 'applyFunds'" /> + <div class="special-middle"> + <a-input-number v-model="item.applyFunds" :min="0" :step="0.01" style="width: 80%" v-if="!!!item.code||item.code === 'applyFunds'" /> + </div> </a-col> <a-col :span="5"> - <a-input-number v-model="item.selfFunds" :min="0" :step="0.01" style="width: 80%" v-if="!!!item.show||item.show === 'selfFunds'" /> + <div class="special-middle"> + <a-input-number v-model="item.selfFunds" :min="0" :step="0.01" style="width: 80%" v-if="!!!item.code||item.code === 'selfFunds'" /> + </div> </a-col> <a-col :span="5"> - <a-input v-model="item.calculationBasis" :maxLength="100" style="width: 80%;" /> + <div class="special-middle"> + <a-input v-model="item.calculationBasis" :maxLength="100" style="width: 80%;" /> + </div> </a-col> </a-row> </div> @@ -70,16 +90,16 @@ export default { name: "fundEdit", data () { return { - budget: budgetList() + }; }, props: { - // budget: { - // type: Array, - // default: () => { - // return [] - // } - // }, + budget: { + type: Array, + default: () => { + return [] + } + }, }, created () { }, @@ -106,18 +126,24 @@ export default { } }, Count1 (index, applyFunds, selfFunds) { - this.budget[index].totalBudget = (applyFunds + selfFunds).toFixed(2) - return (applyFunds + selfFunds).toFixed(2) + let apply = 0.00 + let self = 0.00 + if (!!applyFunds) + apply = applyFunds + if (!!selfFunds) + self = selfFunds + this.budget[index].totalBudget = (apply + self).toFixed(2) + return (apply + self).toFixed(2) }, left (l) { switch (l) { - case 1: + case '1': return 4; - case 2: + case '2': return 12; - case 3: + case '3': return 20; - case 4: + case '4': return 30; } return 0; diff --git a/src/views/report/project/config.js b/src/views/report/project/config.js index 0b2eb5e..6f5edc5 100644 --- a/src/views/report/project/config.js +++ b/src/views/report/project/config.js @@ -11,7 +11,7 @@ const budgetList = () => { calculationBasis: "", budgetName: "一、资金来源合计", source: [1, 2], - show: null, + code: null, type: 'count' }, { @@ -25,7 +25,7 @@ const budgetList = () => { calculationBasis: "", budgetName: "(一)财政资金", source: null, - show: 'applyFunds', + code: 'applyFunds', type: 'ins' }, { @@ -39,7 +39,7 @@ const budgetList = () => { calculationBasis: "", budgetName: "(二)自筹资金", source: [3, 4, 5, 6], - show: 'selfFunds', + code: 'selfFunds', type: 'count' }, { @@ -53,7 +53,7 @@ const budgetList = () => { calculationBasis: "", budgetName: "1.承担单位自有货币资金", source: null, - show: 'selfFunds', + code: 'selfFunds', type: 'ins' }, { @@ -67,7 +67,7 @@ const budgetList = () => { calculationBasis: "", budgetName: "2.从银行获得的贷款", source: null, - show: 'selfFunds', + code: 'selfFunds', type: 'ins' }, { @@ -81,7 +81,7 @@ const budgetList = () => { calculationBasis: "", budgetName: "3.其他财政拨款", source: null, - show: 'selfFunds', + code: 'selfFunds', type: 'ins' }, { @@ -95,7 +95,7 @@ const budgetList = () => { calculationBasis: "", budgetName: "4.其他资金", source: null, - show: 'selfFunds', + code: 'selfFunds', type: 'ins' }, { @@ -109,7 +109,7 @@ const budgetList = () => { calculationBasis: "", budgetName: "二、支出预算合计", source: [8, 22], - show: null, + code: null, type: 'count' }, { @@ -123,7 +123,7 @@ const budgetList = () => { calculationBasis: "", budgetName: "(一)直接费用", source: [9, 14, 15, 16, 17, 18, 19, 20, 21], - show: null, + code: null, type: 'count' }, { @@ -137,7 +137,7 @@ const budgetList = () => { calculationBasis: "", budgetName: "1.设备费", source: [10, 11, 12, 13], - show: null, + code: null, type: 'count' }, { @@ -151,7 +151,7 @@ const budgetList = () => { calculationBasis: "", budgetName: "(1)设备购置费", source: null, - show: null, + code: null, type: 'ins' }, { @@ -165,7 +165,7 @@ const budgetList = () => { calculationBasis: "", budgetName: "(2)试制设备费", source: null, - show: null, + code: null, type: 'ins' }, { @@ -179,7 +179,7 @@ const budgetList = () => { calculationBasis: "", budgetName: "(3)设备改造费", source: null, - show: null, + code: null, type: 'ins' }, { @@ -193,7 +193,7 @@ const budgetList = () => { calculationBasis: "", budgetName: "(4)设备租赁费", source: null, - show: null, + code: null, type: 'ins' }, { @@ -207,7 +207,7 @@ const budgetList = () => { calculationBasis: "", budgetName: "2.材料费", source: null, - show: null, + code: null, type: 'ins' }, { @@ -221,7 +221,7 @@ const budgetList = () => { calculationBasis: "", budgetName: "3.燃料动力费", source: null, - show: null, + code: null, type: 'ins' }, { @@ -235,7 +235,7 @@ const budgetList = () => { calculationBasis: "", budgetName: "4.测试化验加工费", source: null, - show: null, + code: null, type: 'ins' }, { @@ -249,7 +249,7 @@ const budgetList = () => { calculationBasis: "", budgetName: "5.差旅费/会议费/国际合作交流费", source: null, - show: null, + code: null, type: 'ins' }, { @@ -263,7 +263,7 @@ const budgetList = () => { calculationBasis: "", budgetName: "6.劳务费", source: null, - show: null, + code: null, type: 'ins' }, { @@ -277,7 +277,7 @@ const budgetList = () => { calculationBasis: "", budgetName: "7.专家咨询费", source: null, - show: null, + code: null, type: 'ins' }, { @@ -291,7 +291,7 @@ const budgetList = () => { calculationBasis: "", budgetName: "8.出版/文献/信息传播/知识产权\n事务费", source: null, - show: null, + code: null, type: 'ins' }, { @@ -305,7 +305,7 @@ const budgetList = () => { calculationBasis: "", budgetName: "9.其他支出", source: null, - show: null, + code: null, type: 'ins' }, { @@ -319,7 +319,7 @@ const budgetList = () => { calculationBasis: "", budgetName: "(二)间接费用\r\n", source: null, - show: null, + code: null, type: 'ins' } ] diff --git a/src/views/report/task/components/taskEdit.vue b/src/views/report/task/components/taskEdit.vue index ae3f0d1..5d7f6c6 100644 --- a/src/views/report/task/components/taskEdit.vue +++ b/src/views/report/task/components/taskEdit.vue @@ -2,103 +2,70 @@ <div> <a-form-model ref="form" :model="formData" :rules="rules" style="border-top: 0px" class="from-table font-line-space"> <div v-if="stepsArray[0].showStatus"> - <a-row> - <a-col :span="24" style="border-top: 0px;text-align: center;"> - <div class="main-title"> - <span>项目基本情况</span> - </div> - </a-col> - </a-row> <a-row> <a-col :span="24" style="border-top: 0px"> <div class="tb-title"> - <span>申请人信息</span> + <span>单位基本情况</span> </div> </a-col> </a-row> <a-row type="flex"> - <a-col :span="3" class="bg-gray"> - <div class="special-middle"> - <div>姓名</div> - </div> - </a-col> - <a-col :span="5"> - <div class="special-middle"> - <div> - <a-form-model-item> - <div>{{ formData.appPersonName }}</div> - </a-form-model-item> - </div> - </div> - </a-col> - <a-col :span="3" class="bg-gray"> - <div class="special-middle"> - <div>性别</div> - </div> - </a-col> - <a-col :span="5"> - <div class="special-middle"> - <div> - <a-form-model-item> - <div>{{ formData.sex }}</div> - </a-form-model-item> - </div> - </div> - </a-col> - <a-col :span="3" class="bg-gray"> + <a-col :span="4" class="bg-gray"> <div class="special-middle"> - <div>出生日期</div> + <div>单位名称</div> </div> </a-col> - <a-col :span="5"> + <a-col :span="20"> <div class="special-middle"> <div> <a-form-model-item> - {{ moment(formData.birthday).format('YYYY-MM-DD') }} + <div>{{ formData.appUnitName }}</div> </a-form-model-item> </div> </div> </a-col> </a-row> <a-row type="flex"> - <a-col :span="3" class="bg-gray"> + <a-col :span="4" class="bg-gray"> <div class="special-middle"> - <div>民族</div> + <div>注册单位类型</div> </div> </a-col> - <a-col :span="5"> + <a-col :span="8"> <div class="special-middle"> <div> <a-form-model-item> - <div>{{ formData.nationName }}</div> + <div>{{ formData.unitTypeName }}</div> </a-form-model-item> </div> </div> </a-col> - <a-col :span="3" class="bg-gray"> + <a-col :span="4" class="bg-gray"> <div class="special-middle"> - <div>学位</div> + <div class="required">组织机构代码/统一社会信用代码</div> </div> </a-col> - <a-col :span="5"> + <a-col :span="8"> <div class="special-middle"> <div> - <a-form-model-item> - <div>{{ formData.degreeName }}</div> + <a-form-model-item prop="organizationCode"> + <a-input placeholder="组织机构代码/统一社会信用代码" v-model="formData.organizationCode" :maxLength="100" style="width:80%" /> </a-form-model-item> </div> </div> </a-col> - <a-col :span="3" class="bg-gray"> + </a-row> + <a-row type="flex"> + <a-col :span="4" class="bg-gray"> <div class="special-middle"> - <div>职称</div> + <div class="required">通讯地址</div> </div> </a-col> - <a-col :span="5"> + <a-col :span="20"> <div class="special-middle"> <div> - <a-form-model-item> - {{ formData.titleName}} + <a-form-model-item prop="address"> + <a-input placeholder="通讯地址" v-model="formData.address" :maxLength="100" style="width:80%" /> </a-form-model-item> </div> </div> @@ -107,42 +74,42 @@ <a-row type="flex"> <a-col :span="3" class="bg-gray"> <div class="special-middle"> - <div>电话</div> + <div class="required">注册所在地(县/区)</div> </div> </a-col> <a-col :span="5"> <div class="special-middle"> <div> - <a-form-model-item> - <div>{{ formData.mobile }}</div> + <a-form-model-item prop="registeredAddress"> + <a-input placeholder="注册所在地" v-model="formData.registeredAddress" :maxLength="100" style="width:80%" /> </a-form-model-item> </div> </div> </a-col> <a-col :span="3" class="bg-gray"> <div class="special-middle"> - <div>电子邮箱</div> + <div class="required">邮编</div> </div> </a-col> <a-col :span="5"> <div class="special-middle"> <div> - <a-form-model-item> - <div>{{ formData.email }}</div> + <a-form-model-item prop="postCode"> + <a-input placeholder="邮编" v-model="formData.postCode" :maxLength="10" style="width:80%" /> </a-form-model-item> </div> </div> </a-col> <a-col :span="3" class="bg-gray"> <div class="special-middle"> - <div class="required">每年工作时间(月)</div> + <div class="required">法定代表人</div> </div> </a-col> <a-col :span="5"> <div class="special-middle"> <div> - <a-form-model-item prop="jobTime"> - <a-input-number v-model="formData.jobTime" :min="0" :max="12" :step="1" style="width: 100px" /> + <a-form-model-item prop="legalPerson"> + <a-input placeholder="法定代表人" v-model="formData.legalPerson" :maxLength="50" style="width:80%" /> </a-form-model-item> </div> </div> @@ -151,70 +118,42 @@ <a-row type="flex"> <a-col :span="3" class="bg-gray"> <div class="special-middle"> - <div class="required">个人通讯地址</div> + <div class="required">职工总数</div> </div> </a-col> - <a-col :span="21"> + <a-col :span="5"> <div class="special-middle"> <div> - <a-form-model-item prop="address"> - <a-input v-model="formData.address" placeholder="个人通讯地址(限50字)" :maxLength="50" style="width: 80%;" /> + <a-form-model-item prop="workforce"> + <a-input-number v-model="formData.workforce" :min="0" :step="1" style="width: 100px" /> </a-form-model-item> </div> </div> </a-col> - </a-row> - <a-row type="flex"> <a-col :span="3" class="bg-gray"> <div class="special-middle"> - <div>工作单位</div> + <div class="required">其中专科以上人员</div> </div> </a-col> - <a-col :span="21"> + <a-col :span="5"> <div class="special-middle"> <div> - <a-form-model-item> - <div>{{ formData.appUnitName }}</div> + <a-form-model-item prop="specializedPersonnel"> + <a-input-number v-model="formData.specializedPersonnel" :min="0" :step="1" style="width: 100px" /> </a-form-model-item> </div> </div> </a-col> - </a-row> - <a-row type="flex"> <a-col :span="3" class="bg-gray"> <div class="special-middle"> - <div class="required">主要研究领域</div> - </div> - </a-col> - <a-col :span="21"> - <div class="special-middle"> - <div> - <a-form-model-item prop="mainResearchAreas"> - <a-textarea placeholder="主要研究领域(限500字)" v-model="formData.mainResearchAreas" :maxLength="500" style="width: 80%; height: 160px; margin-top: 12px" /> - </a-form-model-item> - </div> - </div> - </a-col> - </a-row> - - <a-row> - <a-col :span="24" style="border-top: 0px"> - <div class="tb-title"> - <span>申请单位信息</span> - </div> - </a-col> - </a-row> - <a-row type="flex"> - <a-col :span="4" class="bg-gray"> - <div class="special-middle"> - <div>单位名称</div> + <div class="required">研究开发人员</div> </div> </a-col> - <a-col :span="20"> + <a-col :span="5"> <div class="special-middle"> <div> - <a-form-model-item> - <div>{{ formData.appUnitName }}</div> + <a-form-model-item prop="researchPersonnel"> + <a-input-number v-model="formData.researchPersonnel" :min="0" :step="1" style="width: 100px" /> </a-form-model-item> </div> </div> @@ -223,28 +162,28 @@ <a-row type="flex"> <a-col :span="4" class="bg-gray"> <div class="special-middle"> - <div class="required">联系人</div> + <div class="required">开户银行</div> </div> </a-col> <a-col :span="8"> <div class="special-middle"> <div> - <a-form-model-item prop="unitLinkName"> - <a-input placeholder="联系人(限20字)" v-model="formData.unitLinkName" :maxLength="20" style="width:80%" /> + <a-form-model-item prop="depositBank"> + <a-input placeholder="开户银行" v-model="formData.depositBank" :maxLength="100" style="width:80%" /> </a-form-model-item> </div> </div> </a-col> <a-col :span="4" class="bg-gray"> <div class="special-middle"> - <div class="required">电话</div> + <div class="required">银行账号</div> </div> </a-col> <a-col :span="8"> <div class="special-middle"> <div> - <a-form-model-item prop="unitLinkMobile"> - <a-input placeholder="电话(限20字)" v-model="formData.unitLinkMobile" :maxLength="20" style="width:80%" /> + <a-form-model-item prop="bankAccount"> + <a-input placeholder="银行账号" v-model="formData.bankAccount" :maxLength="100" style="width:80%" /> </a-form-model-item> </div> </div> @@ -253,28 +192,28 @@ <a-row type="flex"> <a-col :span="4" class="bg-gray"> <div class="special-middle"> - <div class="required">电子信箱</div> + <div class="required">开户银行地址</div> </div> </a-col> <a-col :span="8"> <div class="special-middle"> <div> - <a-form-model-item prop="unitLinkEmail"> - <a-input placeholder="电子信箱(限50字)" v-model="formData.unitLinkEmail" :maxLength="50" style="width:80%" /> + <a-form-model-item prop="depositBankAddress"> + <a-input placeholder="开户银行地址" v-model="formData.depositBankAddress" :maxLength="100" style="width:80%" /> </a-form-model-item> </div> </div> </a-col> <a-col :span="4" class="bg-gray"> <div class="special-middle"> - <div class="required">传真</div> + <div class="required">银行联行号</div> </div> </a-col> <a-col :span="8"> <div class="special-middle"> <div> - <a-form-model-item prop="unitLinkFax"> - <a-input placeholder="传真(限20字)" v-model="formData.unitLinkFax" :maxLength="20" style="width:80%" /> + <a-form-model-item prop="interbankNumber"> + <a-input placeholder="开户银行地址" v-model="formData.interbankNumber" :maxLength="100" style="width:80%" /> </a-form-model-item> </div> </div> @@ -282,7 +221,7 @@ </a-row> <!-- 项目合作单位 --> - <!-- <cooperative-units-edit :cooperativeUnits.sync="formData.cooperativeUnits" /> --> + <cooperative-units-edit :cooperativeUnits.sync="formData.cooperativeUnits" /> <a-row> <a-col :span="24" style="border-top: 0px"> @@ -350,6 +289,66 @@ </a-form-model-item> </a-col> </a-row> + <a-row type="flex"> + <a-col :span="4" class="bg-gray"> + <div class="special-middle"> + <div class="required">联系人</div> + </div> + </a-col> + <a-col :span="8"> + <div class="special-middle"> + <div> + <a-form-model-item prop="unitLinkName"> + <a-input placeholder="联系人" v-model="formData.unitLinkName" :maxLength="100" style="width:80%" /> + </a-form-model-item> + </div> + </div> + </a-col> + <a-col :span="4" class="bg-gray"> + <div class="special-middle"> + <div class="required">电话</div> + </div> + </a-col> + <a-col :span="8"> + <div class="special-middle"> + <div> + <a-form-model-item prop="unitLinkMobile"> + <a-input placeholder="电话" v-model="formData.unitLinkMobile" :maxLength="100" style="width:80%" /> + </a-form-model-item> + </div> + </div> + </a-col> + </a-row> + <a-row type="flex"> + <a-col :span="4" class="bg-gray"> + <div class="special-middle"> + <div class="required">电子信箱</div> + </div> + </a-col> + <a-col :span="8"> + <div class="special-middle"> + <div> + <a-form-model-item prop="unitLinkEmail"> + <a-input placeholder="电子信箱" v-model="formData.unitLinkEmail" :maxLength="100" style="width:80%" /> + </a-form-model-item> + </div> + </div> + </a-col> + <a-col :span="4" class="bg-gray"> + <div class="special-middle"> + <div class="required">传真</div> + </div> + </a-col> + <a-col :span="8"> + <div class="special-middle"> + <div> + <a-form-model-item prop="unitLinkFax"> + <a-input placeholder="传真" v-model="formData.unitLinkFax" :maxLength="100" style="width:80%" /> + </a-form-model-item> + </div> + </div> + </a-col> + </a-row> <a-row type="flex"> <a-col :span="4" class="bg-gray"> <div class="special-middle"> @@ -401,7 +400,7 @@ <a-row type="flex"> <a-col :span="24"> <!-- <document-view :fileUrl="formData.downloadUrl" :fileName="formData.fileName" :imageArray="[formData.downloadUrl]"></document-view> - <preview-file v-model="formData.downloadUrl" :fileName="formData.fileName"></preview-file> --> + <preview-file v-model="formData.downloadUrl" :fileName="formData.fileName"></preview-file> --> </a-col> </a-row> <a-row> @@ -580,21 +579,21 @@ import fundEdit from '@/views/report/project/components/fundEdit' -import documentView from '@/views/components/common/documentView' -import previewFile from '@/views/components/common/previewFile' import { getType } from '@/views/utils/auth' import projectMemberEdit from '@/views/report/project/components/projectMemberEdit' import cooperativeUnitsEdit from '@/views/report/project/components/cooperativeUnitsEdit' import participateUnitsEdit from '@/views/report/project/components/participateUnitsEdit' import deviceEdit from '@/views/report/project/components/deviceEdit' import projStageGoalsEdit from '@/views/report/project/components/projStageGoalsEdit' -import budgetEdit from '@/views/report/project/components/budgetEdit' +import budgetEdit from '@/views/report/project/components/fundEdit' import fundPlanEdit from '@/views/report/project/components/fundPlanEdit' import projectKpiEdit from '@/views/report/project/components/projectKpiEdit' import manufactureEdit from '@/views/report/project/components/manufactureEdit' import unitPaymentEdit from '@/views/report/project/components/unitPaymentEdit' import projectSubEdit from '@/views/report/project/components/projectSubEdit' import fileEdit from '@/views/report/project/components/fileEdit' +import documentView from '@/views/components/common/documentView' +import previewFile from '@/views/components/common/previewFile' import { isEmptyParams } from "@/views/utils/common" import moment from 'moment' -- 2.18.0