diff --git a/src/views/projectLibrary/inconformityItem/InconformityItemList.vue b/src/views/projectLibrary/inconformityItem/InconformityItemList.vue index 71121926..52eb9689 100644 --- a/src/views/projectLibrary/inconformityItem/InconformityItemList.vue +++ b/src/views/projectLibrary/inconformityItem/InconformityItemList.vue @@ -253,9 +253,10 @@ export default { text: this.$t('edit'), clickEvent: 'handleEdit', has: 'inconformityItem:edit', - // 创建人可以维护自己创建的数据,管理员可以维护所有数据 + // 创建人可以维护自己创建的数据,管理员可以维护所有数据;待整改、警示、超期有编辑按钮 show: (record) => { - return (this.isAdmin || record.engineerId === this.userInfo.id) && record.state !== InconformityItemState.done.value && record.state !== InconformityItemState.closed.value + const canEditState = [InconformityItemState.toBeRectified.value, InconformityItemState.caution.value, InconformityItemState.exceedTheTimeLimit.value] + return (this.isAdmin || record.engineerId === this.userInfo.id) && canEditState.includes(record.state) } } ], diff --git a/src/views/projectLibrary/inconformityItem/modules/InconformityItemModal.vue b/src/views/projectLibrary/inconformityItem/modules/InconformityItemModal.vue index a264148b..1f9b4456 100644 --- a/src/views/projectLibrary/inconformityItem/modules/InconformityItemModal.vue +++ b/src/views/projectLibrary/inconformityItem/modules/InconformityItemModal.vue @@ -84,7 +84,7 @@ :placeholder="$t('pleaseSelect')+$t('enterpriseStandardLibrary.check.rectificationStatus')" :type="'select'" :triggerChange="false" - dictCode="assess_rectification" /> + :options="stateOptions" /> @@ -97,8 +97,9 @@ import StandardSelection from '../../../../components/selection/StandardSelectio import VehicleProjectSelection from '../../../../components/selection/VehicleProjectSelection' import UserSelection from '../../../../components/selection/UserSelection' import { addInconformityItem, editInconformityItem } from '../../../../api/projectLibraryApi' -import { StandardSource } from '../../../../enums/commonEnums' +import { InconformityItemState, StandardSource } from '../../../../enums/commonEnums' import moment from 'moment' +import { ajaxGetDictItems } from '../../../../api/api' export default { name: 'InconformityItemModal', @@ -180,7 +181,8 @@ export default { rules: [{ required: true, message: this.$t('pleaseSelect') + this.$t('enterpriseStandardLibrary.check.rectificationStatus') }], validateTrigger: 'change' } - } + }, + stateOptions: [] // 整改状态的可选列表 } }, methods: { @@ -193,6 +195,24 @@ export default { this.$nextTick(() => { this.form.setFieldsValue(this.model) }) + this.initDict() + }, + initDict() { + ajaxGetDictItems('assess_rectification').then(res => { + if (res.success) { + const data = res.result || [] + let canSelectStates = [] + if (!!this.model.id) { + // 编辑时只能修改成已完成或已关闭 + canSelectStates = [InconformityItemState.done.value, InconformityItemState.closed.value, this.model.state] + } else { + // 新增时只能选择待整改、已完成、已关闭状态 + canSelectStates = [InconformityItemState.toBeRectified.value, InconformityItemState.done.value, InconformityItemState.closed.value] + } + this.stateOptions = data.filter(tt => canSelectStates.includes(tt.value)) + console.log(this.stateOptions) + } + }) }, handleOk () { this.form.validateFields((errors, values) => {