diff --git a/jero-web/src/common/lang/en-us.js b/jero-web/src/common/lang/en-us.js index 80da7601b..538d01790 100644 --- a/jero-web/src/common/lang/en-us.js +++ b/jero-web/src/common/lang/en-us.js @@ -664,4 +664,5 @@ module.exports = { taskAffirmStatus: 'task Affirm Status', listConfirmationStatus:'List confirmation status', ListConfirmationDeadline:'List confirmation deadline', + dataConfirmation:'Please select the data whose list confirmation status is not initiated or rejected, and the regulatory engineer and certification engineer are not empty', } \ No newline at end of file diff --git a/jero-web/src/common/lang/zh-cn.js b/jero-web/src/common/lang/zh-cn.js index 7c7076046..d8c979c06 100644 --- a/jero-web/src/common/lang/zh-cn.js +++ b/jero-web/src/common/lang/zh-cn.js @@ -668,4 +668,5 @@ module.exports = { taskAffirmStatus:'任务确认状态', listConfirmationStatus:'清单确认状态', ListConfirmationDeadline:'清单确认截止时间', + dataConfirmation:'请选择清单确认状态为未发起或拒绝的数据,以及法规工程师、认证工程师不为空', } \ No newline at end of file diff --git a/jero-web/src/views/projectManagement/components/addModel.vue b/jero-web/src/views/projectManagement/components/addModel.vue index b04f2c84c..1ef7d466c 100644 --- a/jero-web/src/views/projectManagement/components/addModel.vue +++ b/jero-web/src/views/projectManagement/components/addModel.vue @@ -16,13 +16,17 @@
{{$t('entryName')}}
- - + + + + + {{ item.projectName}} + + + @@ -189,12 +193,23 @@ visible: false, rules: {}, disabled: false, + projectNameList: [], title: '' } }, mounted() { + this.getNameList() }, methods: { + getNameList() { + getAction('project/projectNameInfoEO/list', {}).then((res) => { + if (res.success) { + this.projectNameList = res.result || [] + } else { + this.projectNameList = [] + } + }) + }, addModel() { this.visible = true this.title = '新增' @@ -222,8 +237,14 @@ url = this.url.add Action = postAction } + let query = JSON.parse(JSON.stringify(this.formInline)) + Object.keys(query).forEach(res => { + if (query[res] && query[res] instanceof Array) { + query[res] = query[res].join(',') + } + }) this.confirmLoading = true - Action(url, this.formInline).then((res) => { + Action(url, query).then((res) => { if (res.success) { this.confirmLoading = false this.$message.success(this.$t('OperationSuccessful')) diff --git a/jero-web/src/views/projectManagement/components/listEditModel.vue b/jero-web/src/views/projectManagement/components/listEditModel.vue index 703140dab..862d17ff4 100644 --- a/jero-web/src/views/projectManagement/components/listEditModel.vue +++ b/jero-web/src/views/projectManagement/components/listEditModel.vue @@ -188,10 +188,10 @@
{{$t('regulatoryEngineer')}}
- + + v-model="formInline.regulationOwnerId"> @@ -210,9 +210,9 @@
{{$t('certifiedEngineer')}}
- + + v-model="formInline.homologationEngineerId"> diff --git a/jero-web/src/views/projectManagement/components/listOfRegulations.vue b/jero-web/src/views/projectManagement/components/listOfRegulations.vue index f0b1c0c64..4423148ce 100644 --- a/jero-web/src/views/projectManagement/components/listOfRegulations.vue +++ b/jero-web/src/views/projectManagement/components/listOfRegulations.vue @@ -127,12 +127,12 @@ {{$t('TaskCutOffTime')}} - + @@ -363,7 +363,15 @@ selectedRowKeys: [], visible: false, formInline: {}, - rules: {}, + rules: { + inventoryAffirmDueDate: [ + { + required: true, + message: this.$t('TaskCutOffTime') + this.$t('cannotEmpty'), + trigger: 'change' + } + ] + }, queryParam: {}, url: { addModelList: '/document/bussDocumentLibraryEO/queryPageInfoDummy', @@ -371,7 +379,8 @@ addModel: 'project/projectLawsInventoryEO/add', editModel: '/project/projectLawsInventoryEO/edit', deleteBatch: '/project/projectLawsInventoryEO/deleteBatch', - deleteOne: '/project/projectLawsInventoryEO/delete' + deleteOne: '/project/projectLawsInventoryEO/delete', + updateStatusBatch: '/project/projectLawsInventoryEO/updateStatusBatch' }, loading: false, dataSource: [] @@ -471,11 +480,12 @@ this.dataSource.forEach(res => { selectedRowKeys.forEach(val => { if (res.id == val) { - if (res.inventoryAffirmStatus == 'Not started' || res.inventoryAffirmStatus == 'rejected') { + if ((res.inventoryAffirmStatus == 'Not started' || res.inventoryAffirmStatus == 'rejected') && + res.homologationEngineerId && res.regulationOwnerId) { this.visible = true this.formInline = {} } else { - this.$message.warning(this.$t('selectLeastOne')) + this.$message.warning(this.$t('dataConfirmation')) } } }) @@ -485,7 +495,29 @@ } }, handleOk() { - + this.$refs.ruleForm.validate(valid => { + if (valid) { + let selectedRowKeys = JSON.parse(JSON.stringify(this.selectedRowKeys)) + let query = { + operatorType: 0, + ids: selectedRowKeys.join(','), + projectLibraryId: this.$route.query.id, + ...this.formInline + } + this.confirmLoading = true + getAction(this.url.updateStatusBatch, query).then((res) => { + if (res.success) { + this.$message.success(this.$t('OperationSuccessful')) + this.visible = false + this.confirmLoading = false + this.getList() + } else { + this.$message.warning(this.$t('operationFailed')) + this.confirmLoading = false + } + }) + } + }) }, handleCancel() { this.formInline = {} @@ -493,7 +525,7 @@ }, dateChange(item) { this.formInline[item.db_field_name] = this.formInline[item.db_field_name] ? moment(this.formInline[item.db_field_name]).format('YYYY-MM-DD') : '' - }, + } } } @@ -608,10 +640,12 @@ height: 38px; margin-top: 2px; } + .Required { color: red; margin-right: 4px; } + .box-button { height: 38px; }