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] }}
-
-
-
-
-
+
+
+
+ {{ item.title }}:
+ {{ detailData[item.fieldName] }}%
+ {{ detailData[item.fieldName] }}
+
+
+
+
@@ -28,18 +28,16 @@
-
-
-
-
- {{ item.title }}:
- {{ detailData[item.fieldName] }}
-
-
-
-
-
+
+
+
+ {{ item.title }}:
+ {{ detailData[item.fieldName] }}
+
+
+
+
@@ -48,18 +46,16 @@
-
-
-
-
- {{ item.title }}:
- {{ detailData[item.fieldName] }}
-
-
-
-
-
+
+
+
+ {{ item.title }}:
+ {{ detailData[item.fieldName] }}
+
+
+
+
@@ -68,18 +64,16 @@
-
-
-
-
- {{ item.title }}:
- {{ detailData[item.fieldName] }}
-
-
-
-
-
+
+
+
+ {{ item.title }}:
+ {{ detailData[item.fieldName] }}
+
+
+
+
@@ -138,19 +132,17 @@
-
-
-
-
- {{ item.createBy }}
- {{ item.createTime }}
- {{ item.contractStatus_dictText }}
-
-
-
-
+
+
+
+ {{ item.createBy }}
+ {{ item.createTime }}
+ {{ item.contractStatus_dictText }}
+
+
+
@@ -159,20 +151,18 @@
-
-
-
-
- {{ item.createBy }}
- {{ item.createTime }}
- {{ item.contractStatus_dictText }}
- {{ item.explainRemarks }}
-
-
-
-
+
+
+
+ {{ 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('请输入应收金额')
},