diff --git a/src/common/lang/zh-cn.js b/src/common/lang/zh-cn.js index e3d61902..5a51802c 100644 --- a/src/common/lang/zh-cn.js +++ b/src/common/lang/zh-cn.js @@ -180,6 +180,7 @@ module.exports = { atLeastSelect: '至少选择', personnal: '人', pleaseEnterAPositiveInteger: '请输入正整数', + implementationNeedGreaterThan: '实施日期需要至少比发布日期大15天', // 树右键 treeRight: { addFolder: '新增文件夹', diff --git a/src/components/selection/StandardSelectionModal.vue b/src/components/selection/StandardSelectionModal.vue index af79daac..cb3744d5 100644 --- a/src/components/selection/StandardSelectionModal.vue +++ b/src/components/selection/StandardSelectionModal.vue @@ -61,6 +61,14 @@ + + + @@ -176,7 +184,8 @@ export default { title: this.$t('standardSelect.textState'), dataIndex: 'standardState_dictText', align: 'center', - width: 150 + width: 150, + scopedSlots: { customRender: 'standardState' } } ], dataList: [], diff --git a/src/views/workCenter/enterpriseStandardRevision/modules/AddEditDrafterDrawer.vue b/src/views/workCenter/enterpriseStandardRevision/modules/AddEditDrafterDrawer.vue index 63533539..45dfd95c 100644 --- a/src/views/workCenter/enterpriseStandardRevision/modules/AddEditDrafterDrawer.vue +++ b/src/views/workCenter/enterpriseStandardRevision/modules/AddEditDrafterDrawer.vue @@ -46,6 +46,7 @@ @@ -130,7 +131,8 @@ export default { if (this.confirmLoading) return this.form.validateFields((err, values) => { if (!err) { - const value = Object.assign({}, values, this.model) + console.log(values) + const value = Object.assign({}, this.model, values) this.confirmLoading = true this.$emit('ok', value) this.confirmLoading = false diff --git a/src/views/workCenter/enterpriseStandardRevision/modules/BaseInfoForm.vue b/src/views/workCenter/enterpriseStandardRevision/modules/BaseInfoForm.vue index b37a16cf..b0142839 100644 --- a/src/views/workCenter/enterpriseStandardRevision/modules/BaseInfoForm.vue +++ b/src/views/workCenter/enterpriseStandardRevision/modules/BaseInfoForm.vue @@ -380,6 +380,7 @@ export default { const formInline = {} // 制修订类型 formInline.typeOfRevision = res.result.applicationCategory + formInline.typeOfRevision_dictText = res.result.applicationCategory_dictText // 企标编号 formInline.standard_number = res.result.newEnStandardNo // 企标名称 @@ -441,18 +442,43 @@ export default { await this.$refs.ruleForm.validate(valid => { console.log(valid) if (valid) { - const formInline = JSON.parse(JSON.stringify(this.formInline)) - Object.keys(formInline).forEach(res => { - if (formInline[res] instanceof Array) { - if (formInline[res][0] instanceof Object) { - // 说明是树选择 - formInline[res] = formInline[res].map(item => item.value).join(',') - } else { - formInline[res] = formInline[res].join(',') - } + if (this.formInline.release_date && this.formInline.implementation_date) { + // 实施日期需要比发布日期至少大15天 + // 发布日期15天后的日期 + const releaseDate = new Date(Date.parse(this.formInline.release_date)) + const releaseDateAfter = releaseDate.setDate(releaseDate.getDate() + 15) + if (new Date(Date.parse(this.formInline.implementation_date)) <= releaseDateAfter) { + // 实施日期小于等于发布日期的15天后 + this.$message.warning(this.$t('implementationNeedGreaterThan')) + data = false + } else { + const formInline = JSON.parse(JSON.stringify(this.formInline)) + Object.keys(formInline).forEach(res => { + if (formInline[res] instanceof Array) { + if (formInline[res][0] instanceof Object) { + // 说明是树选择 + formInline[res] = formInline[res].map(item => item.value).join(',') + } else { + formInline[res] = formInline[res].join(',') + } + } + }) + data.formInline = formInline } - }) - data.formInline = formInline + } else { + const formInline = JSON.parse(JSON.stringify(this.formInline)) + Object.keys(formInline).forEach(res => { + if (formInline[res] instanceof Array) { + if (formInline[res][0] instanceof Object) { + // 说明是树选择 + formInline[res] = formInline[res].map(item => item.value).join(',') + } else { + formInline[res] = formInline[res].join(',') + } + } + }) + data.formInline = formInline + } } else { data = false } diff --git a/src/views/workCenter/enterpriseStandardRevision/modules/DepartLiaisonCollectBaseInfo.vue b/src/views/workCenter/enterpriseStandardRevision/modules/DepartLiaisonCollectBaseInfo.vue index 99af5e2f..17dd3650 100644 --- a/src/views/workCenter/enterpriseStandardRevision/modules/DepartLiaisonCollectBaseInfo.vue +++ b/src/views/workCenter/enterpriseStandardRevision/modules/DepartLiaisonCollectBaseInfo.vue @@ -196,7 +196,10 @@ export default { console.log(value, index) if (index || index === 0) { // 有下标,说明是编辑 - this.dataSource.splice(index, 1, value) + this.$set(this.dataSource[index], 'clauseNum', value.clauseNum) + this.$set(this.dataSource[index], 'clauseName', value.clauseName) + this.$set(this.dataSource[index], 'editAdvice', value.editAdvice) + // this.dataSource.splice(index, 1, value) } else { // 没有下标, 是新增 this.dataSource.push(value) diff --git a/src/views/workCenter/enterpriseStandardRevision/modules/DepartLiaisonLeaderApproveBaseInfo.vue b/src/views/workCenter/enterpriseStandardRevision/modules/DepartLiaisonLeaderApproveBaseInfo.vue index 9435c903..65c95c1b 100644 --- a/src/views/workCenter/enterpriseStandardRevision/modules/DepartLiaisonLeaderApproveBaseInfo.vue +++ b/src/views/workCenter/enterpriseStandardRevision/modules/DepartLiaisonLeaderApproveBaseInfo.vue @@ -167,7 +167,10 @@ export default { console.log(value, index) if (index || index === 0) { // 有下标,说明是编辑 - this.dataSource.splice(index, 1, value) + this.$set(this.dataSource[index], 'clauseNum', value.clauseNum) + this.$set(this.dataSource[index], 'clauseName', value.clauseName) + this.$set(this.dataSource[index], 'editAdvice', value.editAdvice) + // this.dataSource.splice(index, 1, value) } else { // 没有下标, 是新增 this.dataSource.push(value) diff --git a/src/views/workCenter/enterpriseStandardRevision/modules/MainDrafterPublishBaseInfo.vue b/src/views/workCenter/enterpriseStandardRevision/modules/MainDrafterPublishBaseInfo.vue index a6ff4a38..789cf072 100644 --- a/src/views/workCenter/enterpriseStandardRevision/modules/MainDrafterPublishBaseInfo.vue +++ b/src/views/workCenter/enterpriseStandardRevision/modules/MainDrafterPublishBaseInfo.vue @@ -115,7 +115,21 @@ export default { let data = {} await this.$refs.ruleForm.validate(valid => { if (valid) { - data = Object.assign({}, this.formInline) + if (this.formInline.releaseDate && this.formInline.implementDate) { + // 实施日期需要比发布日期至少大15天 + // 发布日期15天后的日期 + const releaseDate = new Date(Date.parse(this.formInline.releaseDate)) + const releaseDateAfter = releaseDate.setDate(releaseDate.getDate() + 15) + if (new Date(Date.parse(this.formInline.implementDate)) <= releaseDateAfter) { + // 实施日期小于等于发布日期的15天后 + this.$message.warning(this.$t('implementationNeedGreaterThan')) + data = false + } else { + data = Object.assign({}, this.formInline) + } + } else { + data = Object.assign({}, this.formInline) + } } else { data = false } diff --git a/src/views/workCenter/enterpriseStandardRevision/modules/MainDrafterSentBaseInfo.vue b/src/views/workCenter/enterpriseStandardRevision/modules/MainDrafterSentBaseInfo.vue index bc7041eb..0c4bfceb 100644 --- a/src/views/workCenter/enterpriseStandardRevision/modules/MainDrafterSentBaseInfo.vue +++ b/src/views/workCenter/enterpriseStandardRevision/modules/MainDrafterSentBaseInfo.vue @@ -151,7 +151,8 @@ export default { }, // 编辑 handleEdit (record, index) { - this.modalType = 'edit' + index + console.log(index) + this.modalType = 'edit' + '-' + index this.$refs.addEditDrafterDrawer.edit(record) }, // 删除 @@ -162,8 +163,9 @@ export default { modalFormOk (value) { if (this.modalType === 'add') { this.dataSource.push(value) - } else if (this.modalType && this.modalType.split(',')[0] === 'edit') { - this.dataSource.splice(Number(this.modalType.split(',')[1]), 1, value) + } else if (this.modalType && this.modalType.split('-')[0] === 'edit') { + console.log(Number(this.modalType.split('-')[1]), value) + this.dataSource.splice(Number(this.modalType.split('-')[1]), 1, value) } } } diff --git a/src/views/workCenter/enterpriseStandardRevision/modules/MainDrafterUploadMinuteBaseInfo.vue b/src/views/workCenter/enterpriseStandardRevision/modules/MainDrafterUploadMinuteBaseInfo.vue index a66ee4ce..8c5fd1ff 100644 --- a/src/views/workCenter/enterpriseStandardRevision/modules/MainDrafterUploadMinuteBaseInfo.vue +++ b/src/views/workCenter/enterpriseStandardRevision/modules/MainDrafterUploadMinuteBaseInfo.vue @@ -32,7 +32,7 @@ @@ -172,6 +172,8 @@ import BaseInfoForm from './BaseInfoForm' import UserSelection from '@/components/selection/UserSelection' import UploadFile from '@/components/UploadFile' +import { StandardGradeClassify } from '@/enums/commonEnums' +import { getStandardGradeClassification } from '../../../../api/enterpriseStandardLibraryApi' export default { name: 'MainDrafterUploadMinuteBaseInfo', @@ -251,14 +253,48 @@ export default { trigger: 'change' } ] - } + }, + authDeptDisabled: false, // 授权部门不可编辑 + departSelectRange: [], // 授权部门的可选项 + standardGradeClassification: [] // 企标级别映射数据 } }, + mounted () { + this.getStandardGradeClassificationArr() + }, methods: { // 拿到外面传进来的数据初始化,因为套了几层就不在外层初始化数据了 initData (data) { // 给表单赋值,在线编辑不知道要怎么赋值? this.formInline = Object.assign({}, data) + // 设置授权部门是否可更改和可选范围 + // 基础信息中的标准等级分类 + const gradeClassification = JSON.parse(data.businessJson).grade_classification + // 基础信息中的授权部门 + const authDept = JSON.parse(data.businessJson).auth_dept + if (gradeClassification === StandardGradeClassify.ZERO_LEVEL.value) { + // 选的是0级,授权部门带出发起时填写的数据不可编辑 + this.formInline.authDept = authDept + this.authDeptDisabled = true + } else if (gradeClassification === StandardGradeClassify.ONE_LEVEL.value) { + // 选的是1级,授权部门带出发起时填写的数据 + this.formInline.authDept = authDept + // 设置可选择项 + this.departSelectRange = this.standardGradeClassification.find(item => item.level + '' === '1').deptIds.split(',') + // 设置授权部门可编辑 + this.authDeptDisabled = false + } else if (gradeClassification === StandardGradeClassify.TWO_LEVEL.value) { + // 选的是2级,授权部门带出发起时填写的数据 + this.formInline.authDept = authDept + // 设置可选择项 + this.departSelectRange = this.standardGradeClassification.find(item => item.level + '' === '2').deptIds.split(',') + // 设置授权部门可编辑 + this.authDeptDisabled = false + } else if (gradeClassification === StandardGradeClassify.THREE_LEVEL.value) { + // 选的是3级,授权部门带出发起时填写的数据,不可编辑 + this.formInline.authDept = authDept + this.authDeptDisabled = true + } // 给表单赋值 this.$nextTick(() => { this.$refs.baseInfoForm.initData(data) @@ -282,6 +318,14 @@ export default { }) return data }, + // 获取企标级别映射数据 + getStandardGradeClassificationArr () { + getStandardGradeClassification().then(res => { + if (res.success) { + this.standardGradeClassification = res.result + } + }) + }, // 点击文件上传 clickButtonToUpload (fieldName) { this.$refs.uploadFile.open(this.formInline[fieldName])