diff --git a/src/api/incomePaymentsApi.js b/src/api/incomePaymentsApi.js index ef07b2a..15f9aae 100644 --- a/src/api/incomePaymentsApi.js +++ b/src/api/incomePaymentsApi.js @@ -76,6 +76,8 @@ const sysReminders = (param) => postAction('/reminders/edit', param) const checkCompanyAduit = (param) => getAction('/payMailContract/payMailContract/check', param) // 获取全部部门 const getAllDepartTreeList = (param) => getAction('/sys/sysDepart/queryTreeAllList', param) +// 验证项目是否关联合同 +const getIsAssociatedProject = (param) => getAction('/contract/payIncomeContract/getAssociatedProject', param) export { getWorkingGroupById, @@ -115,5 +117,6 @@ export { homePageDataStatistics, sysReminders, checkCompanyAduit, - getAllDepartTreeList + getAllDepartTreeList, + getIsAssociatedProject } diff --git a/src/components/ProjectDetailModal.vue b/src/components/ProjectDetailModal.vue index 78e722e..8395b26 100644 --- a/src/components/ProjectDetailModal.vue +++ b/src/components/ProjectDetailModal.vue @@ -202,7 +202,7 @@ const columns = [ { title: '开票人', align: 'center', - dataIndex: 'createBy' + dataIndex: 'realName' }, { title: '日期', diff --git a/src/components/tools/UserPassword.vue b/src/components/tools/UserPassword.vue index c82c11a..ae86bd7 100644 --- a/src/components/tools/UserPassword.vue +++ b/src/components/tools/UserPassword.vue @@ -17,7 +17,7 @@ @paste.native.capture.prevent="handleOperate" autocomplete="new-password" label="旧密码"> - + @@ -42,6 +43,7 @@ placeholder="请确认新密码" @paste.native.capture.prevent="handleOperate" autocomplete="new-password" + :maxLength='30' v-decorator="[ 'confirmpassword', validatorRules.confirmpassword]"/> diff --git a/src/utils/projectCheck.js b/src/utils/projectCheck.js new file mode 100644 index 0000000..20bc3e6 --- /dev/null +++ b/src/utils/projectCheck.js @@ -0,0 +1,16 @@ +import { getIsAssociatedProject } from '../api/incomePaymentsApi' +/** + * 验证项目是否关联合同 + * @param projectId + */ +export function checkAssociatedProject(projectId) { + return new Promise(resolve => { + getIsAssociatedProject({projectId: projectId}).then(res => { + if (res.success) { + resolve(false) + } else { + resolve(true) + } + }) + }) +} \ No newline at end of file diff --git a/src/views/contractManagement/revenueContract/RevenueContractList.vue b/src/views/contractManagement/revenueContract/RevenueContractList.vue index 1f60655..ba3f9bf 100644 --- a/src/views/contractManagement/revenueContract/RevenueContractList.vue +++ b/src/views/contractManagement/revenueContract/RevenueContractList.vue @@ -94,6 +94,7 @@ @click="toRevenueContractDetail(record.id, record.contractNum)" v-if="record.chargeStatus === 1" :value="text" + style="cursor: pointer" :length="18"> \ No newline at end of file diff --git a/src/views/contractManagement/revenueContract/modules/RevenueContractDetail.vue b/src/views/contractManagement/revenueContract/modules/RevenueContractDetail.vue index f506de6..7a76b3d 100644 --- a/src/views/contractManagement/revenueContract/modules/RevenueContractDetail.vue +++ b/src/views/contractManagement/revenueContract/modules/RevenueContractDetail.vue @@ -8,18 +8,18 @@
主体信息
- - - - +
+
+ + {{ item.title }}: + {{ detailData[item.fieldName] }}% + {{ detailData[item.fieldName] }} + +
+
+ @@ -28,18 +28,16 @@
日期节点
- - - - +
+
+ + {{ item.title }}: + {{ detailData[item.fieldName] }} + +
+
+ @@ -48,18 +46,16 @@
账款信息
- - - - +
+
+ + {{ item.title }}: + {{ detailData[item.fieldName] }} + +
+
+ @@ -68,18 +64,16 @@
其他信息
- - - - +
+
+ + {{ item.title }}: + {{ detailData[item.fieldName] }} + +
+
+ @@ -138,19 +132,17 @@
存档信息
-
- - +
+
+ + {{ item.createBy }} + {{ item.createTime }} + {{ item.contractStatus_dictText }} + +
+
@@ -159,20 +151,18 @@
审核记录
-
- - +
+
+ + {{ item.createBy }} + {{ item.createTime }} + {{ item.contractStatus_dictText }} + {{ item.explainRemarks }} + +
+
@@ -409,11 +399,16 @@ export default { @import '~@assets/less/common.less'; .detail { + display: flex; padding: 0 20px; + flex-wrap: wrap; &-item { + width: 25%; + min-width: 280px; padding-top: 10px; color: #2F3133; + word-break: break-all; &-title { color: #999999; diff --git a/src/views/contractManagement/revenueContract/modules/RevenueContractModule.vue b/src/views/contractManagement/revenueContract/modules/RevenueContractModule.vue index 7a402c3..9150a6d 100644 --- a/src/views/contractManagement/revenueContract/modules/RevenueContractModule.vue +++ b/src/views/contractManagement/revenueContract/modules/RevenueContractModule.vue @@ -42,6 +42,7 @@ :selected-company="selectedCompany" :init-contacts="selectedContact" :is-cancel="isCancel" + :disabled="isSaved" v-decorator="['signedContactsId',validatorRules.signedContactsId]"> @@ -78,7 +79,7 @@ - + @@ -260,6 +263,7 @@ moment().add(1, 'year') } } } diff --git a/src/views/contractManagement/revenueContract/modules/SelectMeetingProjectModule.vue b/src/views/contractManagement/revenueContract/modules/SelectMeetingProjectModule.vue index 5c3b6ff..672a71f 100644 --- a/src/views/contractManagement/revenueContract/modules/SelectMeetingProjectModule.vue +++ b/src/views/contractManagement/revenueContract/modules/SelectMeetingProjectModule.vue @@ -34,8 +34,8 @@ - - + + @@ -261,6 +261,9 @@ export default { this.contractId = this.contranctInfo.id // 记录打包状态 this.pack = this.contranctInfo.pack + // 运行年份默认为当年 + this.queryParam.particularYear = new Date().getFullYear().toString() + this.lastQueryParam.particularYear = new Date().getFullYear().toString() this.loadData(1) this.visible = true }, @@ -333,7 +336,16 @@ export default { return false } return startValue.valueOf() > endValue.valueOf() - } + }, + searchReset() { + this.lastQueryParam = { + particularYear: new Date().getFullYear().toString() + } + this.queryParam = { + particularYear: new Date().getFullYear().toString() + } + this.loadData(1) + }, } } diff --git a/src/views/contractManagement/revenueContract/modules/SelectProjectModule.vue b/src/views/contractManagement/revenueContract/modules/SelectProjectModule.vue index cf8f78c..1e6ef79 100644 --- a/src/views/contractManagement/revenueContract/modules/SelectProjectModule.vue +++ b/src/views/contractManagement/revenueContract/modules/SelectProjectModule.vue @@ -140,6 +140,11 @@ export default { type: Number, requird: false, default: null + }, + principal: { + type: String, + requird: false, + default: '' } }, data() { @@ -246,14 +251,14 @@ export default { userList: [], // 用户列表 } }, - // 部门id变化时绑定查询条件 - watch: { - departId(val) { - this.queryParam.departId = val - } - }, methods: { open() { + // 运行年份默认为当年 + this.queryParam.year = new Date().getFullYear().toString() + this.lastQueryParam.year = new Date().getFullYear().toString() + // + this.queryParam.principalId = this.principal + this.queryParam.departId = this.departId this.loadDepartTreeData() this.visible = true this.loadData() diff --git a/src/views/projectManagement/modules/GeneralProjectModule.vue b/src/views/projectManagement/modules/GeneralProjectModule.vue index 08b2671..102309d 100644 --- a/src/views/projectManagement/modules/GeneralProjectModule.vue +++ b/src/views/projectManagement/modules/GeneralProjectModule.vue @@ -42,7 +42,7 @@ @@ -187,6 +187,8 @@ import SelectContacts from '@comp/company/SelectContacts' import { addZero } from '../../../utils/util' import Vue from 'vue' import { USER_INFO } from '../../../store/mutation-types' +import { money } from '../../../utils/validate' +import { checkAssociatedProject } from '../../../utils/projectCheck' export default { name: 'GeneralProjectModule', @@ -290,7 +292,7 @@ export default { validateTrigger: 'change' }, receivableAmount: { - rules: [{ required: true, message: '请输入应收金额' }], + rules: [{ required: true, validator: this.checkMoney }], validateTrigger: 'blur' }, needInvoice: { @@ -314,6 +316,7 @@ export default { selectedCompany: null, // 当前选中的企业 selectedContact: null, // 编辑时的联系人 selectedMailContact: null, // 编辑时的邮寄联系人 + disabledCompany: false, // 企业是否可以编辑 url: { add: '/project/payCommonProject/add', edit: '/project/payCommonProject/edit' @@ -346,9 +349,16 @@ export default { companyName: record.chargeCompanyTemporaryName } } - + // 判断企业是否可以编辑,项目来款、开票、邮寄、打包、关联合同后,企业不可更改 + if (record.id) { + // 验证项目是否关联收入合同 + checkAssociatedProject(record.id).then(res => { + this.disabledCompany = this.disabledChargeCompany || res || (!!record.inAccount && record.inAccount !== 0) || (!!record.makeInvoice && record.makeInvoice !== 0) || (!!record.mail && record.mail !== 0) + }) + } else { + this.disabledCompany = this.disabledChargeCompany + } // 是否存在从收入合同传入的签订联系人id - console.log(record, this.signedContactId) record.contactsId = this.signedContactId || record.contactsTemporaryId || undefined record.mailContactsId = this.signedContactId || record.mailContactsTemporaryId || undefined // 回显选中的企业 @@ -487,6 +497,22 @@ export default { this.form.setFieldsValue(pick(this.model, 'mailContactsId')) }) } + }, + /** + * 校验金额格式 + * @param rules + * @param value + * @param callback + */ + checkMoney(rules, value, callback) { + console.log(value, rules.field) + if (value) { + if (money(value)) { + callback() + } + callback('请输入正确格式的金额') + } + callback('请输入应收金额') } } } diff --git a/src/views/projectManagement/modules/WorkingGroupMemberUnitModule.vue b/src/views/projectManagement/modules/WorkingGroupMemberUnitModule.vue index 5be039f..c1e472f 100644 --- a/src/views/projectManagement/modules/WorkingGroupMemberUnitModule.vue +++ b/src/views/projectManagement/modules/WorkingGroupMemberUnitModule.vue @@ -28,7 +28,7 @@ @@ -216,6 +216,7 @@ import { getWorkingGroupListByNotCompany } from '../../../api/incomePaymentsApi' import { isRepeat } from '../../../utils/util' import { addZero } from '../../../utils/util' import { money } from '../../../utils/validate' +import { checkAssociatedProject } from '../../../utils/projectCheck' export default { name: 'WorkingGroupMemberUnitModule', @@ -342,6 +343,7 @@ export default { selectedChargeNotice: null, // 选中的收费通知号 workingGroupId: null, workingGroupList: [], + disabledCompany: false, // 企业是否禁用 url: { add: '/project/payWorkingGroupSubitem/add', edit: '/project/payWorkingGroupSubitem/edit' @@ -393,6 +395,14 @@ export default { companyName: record.chargeCompanyTemporaryName } } + // 验证项目是否关联收入合同,项目来款、开票、邮寄、打包、关联合同后,企业不可更改 + if (record.id) { + checkAssociatedProject(record.id).then(res => { + this.disabledCompany = this.disabledChargeCompany || res || (!!record.inAccount && record.inAccount !== 0) || (!!record.makeInvoice && record.makeInvoice !== 0) || (!!record.mail && record.mail !== 0) + }) + } else { + this.disabledCompany = this.disabledChargeCompany + } // 回显选中的企业 this.selectedCompany = record.chargeCompany this.companyChange(this.selectedCompany) @@ -577,7 +587,7 @@ export default { callback() return } - callback('请输入正确格式的金额') + callback('请输入正确格式的金额,金额格式为不超过十位整数,保留两位小数') } callback('请输入应收金额') },