From dff860c5beaf2c1fe9abaee6e81d39fe56312a96 Mon Sep 17 00:00:00 2001 From: zhaoxiao Date: Wed, 8 Sep 2021 19:16:13 +0800 Subject: [PATCH] =?UTF-8?q?[update]=20=E6=94=AF=E5=87=BA=E5=90=88=E5=90=8C?= =?UTF-8?q?=E6=8E=A5=E5=8F=A3=E8=81=94=E8=B0=83;=E6=89=93=E5=8C=85?= =?UTF-8?q?=E3=80=81=E6=89=93=E5=8C=85=E6=88=90=E5=91=98=E7=BB=B4=E6=8A=A4?= =?UTF-8?q?=E9=A1=B5=E9=9D=A2;=E4=BC=81=E4=B8=9A=E9=80=89=E6=8B=A9?= =?UTF-8?q?=E7=BB=84=E4=BB=B6=E5=8F=AA=E8=AF=BB?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/api/incomePaymentsApi.js | 5 +- src/assets/imgs/icon/icon_pack_list.png | Bin 0 -> 2627 bytes .../icon/icon_pack_project_maintenance.png | Bin 0 -> 2250 bytes src/components/company/CompanySelect.vue | 2 +- src/utils/validate.js | 9 + .../ExpenditureContractList.vue | 17 +- .../modules/ExpenditureContractModule.vue | 109 +++-- .../revenueContract/RevenueContractList.vue | 2 +- .../modules/RevenueContractModule.vue | 43 +- src/views/packManagement/PackCompanyList.vue | 184 +++++++++ .../packManagement/PackProjectMaintenance.vue | 376 ++++++++++++++++++ .../modules/BatchIncomePaymentModule.vue | 265 ++++++++++++ .../modules/BatchInvoicingModule.vue | 176 ++++++++ .../modules/PackCompanyModule.vue | 266 +++++++++++++ .../PackProjectSelectProjectModule.vue | 188 +++++++++ .../WorkingGroupMemberUnitMaintenance.vue | 8 +- .../modules/GeneralProjectModule.vue | 2 + 17 files changed, 1604 insertions(+), 48 deletions(-) create mode 100644 src/assets/imgs/icon/icon_pack_list.png create mode 100644 src/assets/imgs/icon/icon_pack_project_maintenance.png create mode 100644 src/views/packManagement/PackCompanyList.vue create mode 100644 src/views/packManagement/PackProjectMaintenance.vue create mode 100644 src/views/packManagement/modules/BatchIncomePaymentModule.vue create mode 100644 src/views/packManagement/modules/BatchInvoicingModule.vue create mode 100644 src/views/packManagement/modules/PackCompanyModule.vue create mode 100644 src/views/packManagement/modules/PackProjectSelectProjectModule.vue diff --git a/src/api/incomePaymentsApi.js b/src/api/incomePaymentsApi.js index a0fef27..9a031ef 100644 --- a/src/api/incomePaymentsApi.js +++ b/src/api/incomePaymentsApi.js @@ -26,6 +26,8 @@ const archiveRevenueContract = (param) => postAction('contract/payIncomeContract const queryUserByDepartId = (param) => getAction('/sys/user/listRoleAndDepart', param) // 企业联系人新建重名校验 const queryContactByName = (param) => getAction('/company/payContactsManagement/queryByName', param) +// 通过id获取支出合同信息 +const getExpenditureContractById = (param) => getAction('/contract/paySpendingContract/queryById', param) export { getWorkingGroupById, @@ -40,5 +42,6 @@ export { getWorkingGroupListByNotCompany, archiveRevenueContract, queryUserByDepartId, - queryContactByName + queryContactByName, + getExpenditureContractById } \ No newline at end of file diff --git a/src/assets/imgs/icon/icon_pack_list.png b/src/assets/imgs/icon/icon_pack_list.png new file mode 100644 index 0000000000000000000000000000000000000000..3bdc3b3e05e3390fb7dd82dd3c714ec101f0c2eb GIT binary patch literal 2627 zcmV-J3cU4+P)vNRV9e$qk?qmJG zPNy^NRHxc96$r4rY!a?QkO;`dC=f#+yU97f&a8Gw#qrT$;_TGv&|$I1Nam`znSeJIq1DVog~S4nx>PtvlY#d=mipf zJ}++Fx^=zDa2XJTn-&r%O0@#zuWUBdm z{?zvE+b8DQr-5g#AL-hbE?wF=IXSr;z&etf1qi?c0PawPNFFh>gCqrRiJ7f)&aE}G zMF6e<7$P|kLO2fKL^hkfFjoX`2}}{H)oNb@P$XFduo1v209lfsnVB}yl^t}>4V&3D zlI`C6<<2=>Zx4V1fV%*E2H=eNM{?iP)YQP0D_2ep4Gq<13(gI|wr<^;85q0DK?7%keP!iK6$RA`IX_2;qox?pQXPJ=@pU zcd>Pi>wpQ=)vH$@2q6^BOdQg+tp%_Ez$G*L0Kk6d+#y|w_x?h)S{-R!aO1{}ZSC#t zI?y*sK4)fI;+0#Lm{}!F(+>ey6OeegXwjnOdLO{UW~O)71Goohh)W_kNpf74 zA`SwOX!PA_MUSLDL-FscEEbC;=iG8L6OSG>v-_g#8z(X|MdyfKa?YKtR4Sh|PbFYF z7|Hb^gfhv;0f<|T0|6Lr+D4KjABuwjq*@8*F*Dl`0p>`KM(`5J#{%{nk`It9o7sav z!_SVA{2zcFBo9_9m5*D&=%hV8J)KiiQ}-%5&bhA0Me$G@Um|%}(G4L~bg-FM-re0T z$~;N(c{BS)1bA7|Yw)mCD!ms^AUnv3I{^L-;P2l1z5V_D`tkI$ZQHhFcz9S=P>|y* zXaE#t@#a(UkYqoAs`vh6E|QsmOz@!I57N<|gt++d|rk^4{cu!*R*w|7ac zR#OmGIOiS-Av{h}mZWt$0JH-b6)*u=BIgDm$x5k#T62Q3-f{|3T#G@>LVXoW!*zgs@Rujv{NU zFM$E*Q^GehiADuMPQc_%dfq4bb_hX9cx6lKSrJ35NGb&h;E@o*KS;ipB+1a;y?Yg* z8=lRZH{X@bW_4W>R@phX!OR3mm4#o-*Y{0;aSQ%#LI_*$_QZ*S1Ci zF|$vi^9#^E=iK2mO-FUA?(XiVLI|&#* zj2ylffYJ~I%FIM&Nj_(0qs}=gR%%sAG~~TMKhqami0MkDlJ?qm9k823OqoFDr;l=* zIQ55my?!8{&##kX$LJ{8%Zn62C2P6kMbFH{ISJ`MW_Gk%t*QsO!DwdzIr~-KDqklFPxmvC6 zn*r=wB!6vY50l&h;PraFzN=Mnb6lgozAa##Ns??-!kyz<|UG)rE?&HNXIopFio3QXNv@2KkB=NWbV$j*71(nTm;|t! zgYE@w8{d^U`y1KfSWwY6r&FqKjO%<_00LxwkL}#KQ#IO6 zpDzPUwHir{9MmeR_7@-(qUx^B2-qtj1dWqaIjR@byy2>uol>V0M@cGa&Lv6mNt&it zXCf?@%j$F*J{GImx14i3W)_fY^^zo69@ChHGmq#KD`S<_YFd=iK4MQ#kABz@LJ)eH zscL$aENWKG%+8WjZ>i!iy>{)|;aPl42Kx&Ei+1srl6b4ZDngk|M&GN6QF*PtK@^hk zRNpnaD^;^*_Sy7^AkHjSMweG;RqUy{XcmX3RKBQQOOoV+5Q0jda~jAMi^V6MbH7qb zQU&6i`-}R?(b3U~#fukf^VQz_^>L1-Ns+Eh5mM!<+t8tv<_@H3s*?N0F;uBkx|`%Z zv5i-!EKG!^13lH zXq^;Astjv1)q3?e9Yd*h&*$^1Mny^uSu{CRhopu?98`Csai&gupL6b6C3*k?oi=(y zQZ#uq3hRr0@r(IHqa4?~VrKt2JxH7@e-#RarID}-zZw()6mb^fdY#Lon%`?QaQyi3)tO9Ylg6BqdF
yAuQI%57zU=?$JxuQlYPlNK<_lho$TDXbNAVM z?eDSH_Z`C|$I6u}qkKLeU%7H6j-n`&&1R>2?`K9)G!MXhk_!QR48Tm1C(NvGaB%Q% zy}iAqT8^?>7FE}@w6x?J8X6kP<#GebY0kOn0PYBLuJ?YfKso0Y=yx-F3&5|l+3bOy zo}OYYXVnC#v$M0VTrTTi9ol4O&EETk`UIdk3qXCCQvfso$dEh$V1t>xR45e6lL91H zG&VNYB}tOYWHM8{_qyR!0FB=J*=9B$KpwyX0CLZq07PpD-~#|2Ko)>3R|i0Vo@r`o z>g($2s?-E%)v8qu*=$x1&vMQ+I_Kt))L{$Etche(aLLSI0ReCTZU}^#T_xEM;GCI} zq(FZ*#M2=F-ObI-yJ`lsX3d&q3QFgk4o?Hq%oGcEkQ4}+UjP)8*8z-}*`NTBykKVM zNuCa$IRN*X*$R@M1n`!bt>3a`%dT3iqczsv-u}yA30XyPAOJGEEO4FVpbi6Y2EbVW z0&tn+B{Lg#&S}jx0Zo!*j&p8_nSB?)=K=h~%%0q`Wy|i#0D3RPMFikdb(-1x-uv^; zxwGE;GiG)&Ns|63iY_)aH4S%lbtzuPjP~|+rTua<`vHIl030>5?ty`U-}UzPCbfW) zg@!^94g>fL$yd$n9q)aA_4cwvrBb;zJUl$|pEmC3=*TBYvYh1i06YZXGyr+v1(NU8 zl4$}YtIPoKE`aBqbA9=I{z$DsIQrHd9UTjkBzcVFHvxPBK$+wrGdozlq?rwP?+1s5 zh6Zm%mI8DUfHLPzGt+H$Z{ECFu`=n=*4C!XdDN~NLzi9@EE*_$Mv^WN{-wr!g-YSKf1DwWDolHV}12LW7F>I1j};4T37 zNaI2VUk({7YiS-;_ErH+(}Pt&+qZ8&DKye9k!B{7iS^xkpJtYGPP~M2xm?k$cI?<8 zia>jN`$tGFHM8#kxS!;4Gy9DW1MqQ@p9`SGbCMhJ){uA%z!7Ek7(f7i1z=C1P&n1q z)fM;m_b>3?ODblNH0NAO|K9sptgOwPb7%7T{23*IEL1L+mzml30o*5X_1-^QE|>op zMbV5Xit;4yGBZ^Jp8&8pP>u|eT5LR^od6_+r#d@3r!LgC!nwQHM`B$3O06kI0hc&bn+{9$xJO33HV zojWs0lEvQpf705Y$PM?7dx< z-MDchwNNgXO973~vT;GJ7SJlW`{`bjN|xZrBZnWz?zT*698#Zn)a=&t+V1d zewgH=B=0t}n4}7MW!n^z6*H4G?5k8NuWaAGePA3h3eYQN_H-0QN6Y2%qt3YwlB&1& zd+*oBar`#PB_w|u08L2yo5UDW@`<2J$^fagYHAHt2Wo4if4?R9;Cxhb^}$th;0 zlHy%6d)Ya+f77N-gQJKsl@0)}l6=~G|5_A9D*7J}T6Wlbzsosyk>pncPyxDq30D7gTJON~IH0{BbdqYMJ-GJCn)mE0s!Ww?7?vy!Yccey3C_ zsU2VHz5lV9$qQovjn1;Jt}b`^^5v<;VzI$Fr@l=@m=a?qlSzrudta=ptGhmX_Uvma z`p5H7RXTFHT-pYC@28f_r#AlvWkv&Lm0t6c3XnMXgud z1+kQtJxKB}fG4+Z-TLCK_G@cvo9CR9R#vqywU7>1Kc>{&8T#;Z9|ll3psHmLsU9Nv zvqGV;=T`fT6IaFD$mk;f2!LMi{hvZph-@}n)60lbsg$}hj$?JdN@H~$a)HW|4J7xe z+N|!UzbloB_LdlnhgJgkOf`m7U^fO3`_1g{p+VGhY3cgkhAK(#y)!d)zXI}bct@lr zv=6}RW~NqL&8SAA_0G9@p{!jJD#t-tXdnR6!sDS`9ttlGY67H6GE|h)N$M@hM*--y zjA%l8s`Hghq<};jf%(-B>UB=F-bw+T2>;XuYFU)pDphN8*C^}BZ8}f{swtWfS7|@Z zYH?S6MBjB`tyN7e@MmrH>eX_SZY8ubYqdQ6Fo4qR9yPUx4o$n1aYKNrWwBmvsQWng YZ@>a0vg(D-LjV8(07*qoM6N<$g5dv2SO5S3 literal 0 HcmV?d00001 diff --git a/src/components/company/CompanySelect.vue b/src/components/company/CompanySelect.vue index 92e971d..67cd533 100644 --- a/src/components/company/CompanySelect.vue +++ b/src/components/company/CompanySelect.vue @@ -1,6 +1,6 @@ diff --git a/src/utils/validate.js b/src/utils/validate.js index bb484d3..600de6e 100644 --- a/src/utils/validate.js +++ b/src/utils/validate.js @@ -69,3 +69,12 @@ export function taxNo(s) { export function number(s) { return /^[0-9]*$/.test(s) } + +/** + * 金额格式,小数点后两位 + * @param s + * @returns {boolean} + */ +export function money(s) { + return /^[1-9](\d{1,10})?(\.\d{1,2})$|^0\.([1-9](\d{0,1})|\d[1-9])$|^[1-9]\d{0,10}$|^0$/.test(s) +} diff --git a/src/views/contractManagement/expenditureContract/ExpenditureContractList.vue b/src/views/contractManagement/expenditureContract/ExpenditureContractList.vue index c83cd57..0ecd05c 100644 --- a/src/views/contractManagement/expenditureContract/ExpenditureContractList.vue +++ b/src/views/contractManagement/expenditureContract/ExpenditureContractList.vue @@ -53,8 +53,8 @@ @change="handleImportExcel"> 导入 - 导出 - 下载模板 + 导出 + 下载模板 批量删除 @@ -80,7 +80,7 @@ - 编辑 + 编辑 删除 @@ -177,9 +177,9 @@ export default { list: '/contract/paySpendingContract/list', delete: '/contract/paySpendingContract/delete', deleteBatch: '/contract/paySpendingContract/deleteBatch', - exportXlsUrl: '', - importExcelUrl: '', - downTemplateUrl: '' + exportXlsUrl: '/contract/paySpendingContract/exportXls', + importExcelUrl: '/contract/paySpendingContract/importExcel', + downTemplateUrl: '/contract/paySpendingContract/downloadExcelModel' } } }, @@ -189,12 +189,11 @@ export default { path: '/contractManagement/RevenueContractModule' }) }, - handleEdit(id, contractNum) { + handleEdit(id) { this.$router.push({ path: '/contractManagement/RevenueContractModule', query: { - contractId: id, - contractNum: contractNum + contractId: id } }) } diff --git a/src/views/contractManagement/expenditureContract/modules/ExpenditureContractModule.vue b/src/views/contractManagement/expenditureContract/modules/ExpenditureContractModule.vue index abb8c98..6e75a2a 100644 --- a/src/views/contractManagement/expenditureContract/modules/ExpenditureContractModule.vue +++ b/src/views/contractManagement/expenditureContract/modules/ExpenditureContractModule.vue @@ -33,7 +33,7 @@ @change="handleSignedCompanyChange"> - + import PageHeaderTitle from '../../../../components/layouts/PageHeaderTitle' -import { getRevenueContractById } from '../../../../api/incomePaymentsApi' +import { getExpenditureContractById } from '../../../../api/incomePaymentsApi' import pick from 'lodash.pick' import InstallmentForm from '../../../../components/form/InstallmentForm' import CompanySelect from '../../../../components/company/CompanySelect' import SelectContacts from '../../../../components/company/SelectContacts' import SelectPrincipal from '../../../../components/company/SelectPrincipal' -import { getAllUserList } from '../../../../api/api' +import { duplicateCheck, getAllUserList } from '../../../../api/api' import { postAction } from '../../../../api/manage' import JDate from '../../../../components/tools/JDate' import JYearDate from '../../../../components/jero/JYearDate' @@ -305,7 +305,7 @@ export default { }, pack: { rules: [{ required: true, message: '请选择是否打包' }], - validateTrigger: 'blur' + validateTrigger: 'change' } }, url: { @@ -333,26 +333,29 @@ export default { const param = { id: id } - getRevenueContractById(param).then(res => { - let record - record = res.result - this.isSaved = true - record.signedCompany = { - id: record.signedCompanyId, - companyName: record.signedCompanyTemporaryName + getExpenditureContractById(param).then(res => { + if (res.success) { + let record + record = res.result + record.signedCompany = { + id: record.signedCompanyTemporaryId, + companyName: record.signedCompanyTemporaryName + } + this.selectedCompany = record.signedCompany + record.signedContactsId = record.signedContactsTemporaryId + this.selectedContact = { + id: record.signedContactsTemporaryId, + name: record.signedContactsTemporaryName + } + this.$refs.installmentForm.initInstallmentList(record.listInstallment) + this.model = Object.assign({}, record) + this.$nextTick(() => { + this.form.setFieldsValue(pick(this.model, 'contractNum', 'contractName', 'signedCompany', 'signedContactsId', 'opening', 'principalId', 'departmentName', 'contractAmount', 'rate', 'noTaxAmount', 'contractDate', 'terminationDate', 'contractTimePoints', 'accountsReceivableAmount', 'amountReceived', 'outstandingAmount', 'accountStatus', 'contractPaymentTimes', 'pack', 'packYear')) + this.confirmLoading = false + }) + } else { + console.log(res.message) } - this.selectedCompany = record.signedCompany - record.signedContactsId = record.signedContactsTemporaryId - this.selectedContact = { - id: record.signedContactsTemporaryId, - name: record.signedContactsTemporaryName - } - this.$refs.installmentForm.initInstallmentList(record.listInstallment) - this.model = Object.assign({}, record) - this.$nextTick(() => { - this.form.setFieldsValue(pick(this.model, 'contractNum', 'contractName', 'signedCompany', 'signedContactsId', 'opening', 'principalId', 'departmentName', 'contractAmount', 'rate', 'noTaxAmount', 'contractDate', 'terminationDate', 'contractTimePoints', 'accountsReceivableAmount', 'amountReceived', 'outstandingAmount', 'accountStatus', 'contractPaymentTimes', 'pack', 'packYear')) - this.confirmLoading = false - }) }) }, /** @@ -382,8 +385,10 @@ export default { this.contractId = res.result.id this.edit(this.contractId) this.$message.success(res.message) - // 保存上方表单信息,(应该在表单验证完全正确时置为true) - this.isSaved = true + // 跳转至支出合同list页面 + this.$router.push({ + path: '/contractManagement/ExpenditureContract' + }) } else { this.$message.warning(res.message) } @@ -402,6 +407,60 @@ export default { installmentFormOk(value) { this.installmentList = value.installmentList }, + /** + * 合同编号唯一性校验 + * @param rules + * @param value + * @param callback + */ + checkContractNum(rules, value, callback) { + if (value) { + if (!this.model.id) { + const params = { + confusionCode: 'pay_spending_contract_num', + fieldVal: value + } + duplicateCheck(params).then(res => { + if (res.success) { + callback() + } else { + callback('合同编号已存在') + } + }) + return + } + callback() + } else { + callback('请输入合同编号') + } + }, + /** + * 合同名称唯一性校验 + * @param rules + * @param value + * @param callback + */ + checkContractName(rules, value, callback) { + if (value) { + if (!this.model.id) { + const params = { + confusionCode: 'pay_spending_contract_name', + fieldVal: value + } + duplicateCheck(params).then(res => { + if (res.success) { + callback() + } else { + callback('合同名称已存在') + } + }) + return + } + callback() + } else { + callback('请输入合同名称') + } + }, /** * 选中企业变化 * @param value diff --git a/src/views/contractManagement/revenueContract/RevenueContractList.vue b/src/views/contractManagement/revenueContract/RevenueContractList.vue index bbc6179..aeac873 100644 --- a/src/views/contractManagement/revenueContract/RevenueContractList.vue +++ b/src/views/contractManagement/revenueContract/RevenueContractList.vue @@ -275,7 +275,7 @@ export default { * @returns {string} */ aduitClass(record) { - if (record.status === 2 || record.status === 4) { + if (record.chargeStatus === 1) { return 'aduit' } return '' diff --git a/src/views/contractManagement/revenueContract/modules/RevenueContractModule.vue b/src/views/contractManagement/revenueContract/modules/RevenueContractModule.vue index f30c634..9ebb207 100644 --- a/src/views/contractManagement/revenueContract/modules/RevenueContractModule.vue +++ b/src/views/contractManagement/revenueContract/modules/RevenueContractModule.vue @@ -274,7 +274,7 @@ import SelectProjectModule from './SelectProjectModule' import pick from 'lodash.pick' import { getAllUserList } from '../../../../api/api' import { postAction } from '../../../../api/manage' -import { getRevenueContractById } from '../../../../api/incomePaymentsApi' +import { getRevenueContractById, queryUserByDepartId } from '../../../../api/incomePaymentsApi' import { duplicateCheck } from '../../../../api/api' import AssociatedProject from './AssociatedProject' import SelectMeetingProjectModule from './SelectMeetingProjectModule' @@ -476,17 +476,18 @@ export default { selectedCompany: null, // 选中的企业 installmentList: [], isSaved: false, // 是否保存上方数据 - isPackage: false, + isPackage: false, // 是否打包,控制打包年份显隐 accountsReceivableNum: null, // 输入的应收金额 amountReceivedNum: null, // 输入的未收金额 contractAmountNum: null, // 输入的签订合同总金额 rateNum: null, // 输入的税率 - selectedContact: null, + selectedContact: null, // 联系人回显 associatedProjectLoading: false, contractId: '' // 收入合同id } }, mounted() { + // 判断是编辑还是新增 if (this.$route.query.hasOwnProperty.call(this.$route.query, 'revenueId')) { this.contractId = this.$route.query.revenueId this.edit(this.contractId) @@ -505,21 +506,28 @@ export default { const param = { id: id } + // 通过id获取合同信息 getRevenueContractById(param).then(res => { let record record = res.result this.isSaved = true + // 处理企业信息回显 record.signedCompany = { id: record.signedCompanyId, companyName: record.signedCompanyTemporaryName } this.selectedCompany = record.signedCompany + // 处理联系人信息回显 record.signedContactsId = record.signedContactsTemporaryId this.selectedContact = { id: record.signedContactsTemporaryId, name: record.signedContactsTemporaryName } + // 处理分期信息回显 this.$refs.installmentForm.initInstallmentList(record.listInstallment) + // 获取应收金额和已收金额 + this.accountsReceivableNum = record.accountsReceivableAmount + this.amountReceivedNum = record.amountReceived this.model = Object.assign({}, record) this.$nextTick(() => { this.form.setFieldsValue(pick(this.model, 'contractNum', 'contractName', 'signedCompany', 'signedContactsId', 'opening', 'principalId', 'departmentName', 'contractAmount', 'rate', 'noTaxAmount', 'contractDate', 'terminationDate', 'contractTimePoints', 'accountsReceivableAmount', 'amountReceived', 'outstandingAmount', 'accountStatus', 'contractPaymentTimes', 'pack', 'packYear')) @@ -536,6 +544,7 @@ export default { this.form.validateFields((err, values) => { if (!err) { this.confirmLoading = true + // 分期信息存在时可以提交 if (this.installmentList && this.installmentList.length > 0) { let formData = {} values.signedCompanyId = values.signedCompany.id @@ -575,7 +584,7 @@ export default { this.installmentList = value.installmentList }, /** - * 选中企业变化 + * 选中企业变化, 清空已选联系人信息 * @param value */ handleSignedCompanyChange(value) { @@ -667,10 +676,13 @@ export default { calculateOutstandingAmount() { if (this.accountsReceivableNum !== null && this.amountReceivedNum !== null) { this.model.outstandingAmount = Number(this.accountsReceivableNum) - Number(this.amountReceivedNum) - if (this.model.outstandingAmount === 0) { + // 未收金额 === 0,已付全款状态 + if (this.model.outstandingAmount <= 0) { this.model.accountStatus = '3' + // 未收金额 > 0 且 未收金额 < 应收金额,部分付款状态 } else if (this.model.outstandingAmount > 0 && this.model.outstandingAmount < Number(this.accountsReceivableNum)) { this.model.accountStatus = '2' + // 未收金额 === 应收金额,未付款状态 } else if (this.model.outstandingAmount === Number(this.accountsReceivableNum)) { this.model.accountStatus = '1' } @@ -746,11 +758,14 @@ export default { selectProjectTypeOk(type) { let title = '' switch (type) { + // 普通项目 case 1: this.$refs.selectProjectModule.columns = generalProjectColumns + this.getUserDetailByUserId() this.$refs.selectProjectModule.filters = { chargeCompanyId: this.selectedCompany.id, - pack: this.model.pack + pack: this.model.pack, + // contractId: this.contractId } this.$refs.selectProjectModule.url.list = this.url.generalProjectList title = '普通项目列表' @@ -759,8 +774,8 @@ export default { this.$refs.selectProjectModule.projectType = type this.$refs.selectProjectModule.title = title this.$refs.selectProjectModule.open() - break + // 工作组项目 case 2: this.$refs.selectProjectModule.columns = workingProjectColumns this.$refs.selectProjectModule.filters = { @@ -774,9 +789,11 @@ export default { this.$refs.selectProjectModule.open() title = '工作组项目列表' break + // 会议项目 case 3: this.$refs.selectMeetingProjectModule.open() break + // 会员项目 case 4: this.$refs.selectMemberProjectModule.open() break @@ -784,7 +801,17 @@ export default { }, - + /** + * 通过用户id获取用户信息 + */ + getUserDetailByUserId() { + let param = { + id: this.model.principalId + } + queryUserByDepartId(param).then(res => { + console.log(res) + }) + }, /** * 项目选中回调 */ diff --git a/src/views/packManagement/PackCompanyList.vue b/src/views/packManagement/PackCompanyList.vue new file mode 100644 index 0000000..0d0166e --- /dev/null +++ b/src/views/packManagement/PackCompanyList.vue @@ -0,0 +1,184 @@ + + + + + \ No newline at end of file diff --git a/src/views/packManagement/PackProjectMaintenance.vue b/src/views/packManagement/PackProjectMaintenance.vue new file mode 100644 index 0000000..9681a28 --- /dev/null +++ b/src/views/packManagement/PackProjectMaintenance.vue @@ -0,0 +1,376 @@ + + + + + \ No newline at end of file diff --git a/src/views/packManagement/modules/BatchIncomePaymentModule.vue b/src/views/packManagement/modules/BatchIncomePaymentModule.vue new file mode 100644 index 0000000..2d512b9 --- /dev/null +++ b/src/views/packManagement/modules/BatchIncomePaymentModule.vue @@ -0,0 +1,265 @@ + + + + + \ No newline at end of file diff --git a/src/views/packManagement/modules/BatchInvoicingModule.vue b/src/views/packManagement/modules/BatchInvoicingModule.vue new file mode 100644 index 0000000..56ed53c --- /dev/null +++ b/src/views/packManagement/modules/BatchInvoicingModule.vue @@ -0,0 +1,176 @@ + + + + + \ No newline at end of file diff --git a/src/views/packManagement/modules/PackCompanyModule.vue b/src/views/packManagement/modules/PackCompanyModule.vue new file mode 100644 index 0000000..033dd95 --- /dev/null +++ b/src/views/packManagement/modules/PackCompanyModule.vue @@ -0,0 +1,266 @@ + + + + + \ No newline at end of file diff --git a/src/views/packManagement/modules/PackProjectSelectProjectModule.vue b/src/views/packManagement/modules/PackProjectSelectProjectModule.vue new file mode 100644 index 0000000..891e910 --- /dev/null +++ b/src/views/packManagement/modules/PackProjectSelectProjectModule.vue @@ -0,0 +1,188 @@ + + + + + \ No newline at end of file diff --git a/src/views/projectManagement/WorkingGroupMemberUnitMaintenance.vue b/src/views/projectManagement/WorkingGroupMemberUnitMaintenance.vue index 0a91ee6..b38bdb8 100644 --- a/src/views/projectManagement/WorkingGroupMemberUnitMaintenance.vue +++ b/src/views/projectManagement/WorkingGroupMemberUnitMaintenance.vue @@ -31,6 +31,8 @@ + +
成员信息
@@ -416,10 +418,10 @@ export default {