| | |
| | | :columns="detail.columns" |
| | | style="margin-top: 8px;"> |
| | | <template v-slot:itemPart="props"> |
| | | <a-textarea v-model="props.row.itemPart" allowClear @change="$refs.editableDetailTable.validateTable()" |
| | | :placeholder="model.maintenanceCategory!='THIRD_MAINTENANCE'?'仅三保需要维护':'请输入部位'" :rows="1" |
| | | autoSize :disabled="model.maintenanceCategory!='THIRD_MAINTENANCE'"/> |
| | | <a-textarea v-model="props.row.itemPart" allowClear @blur="$refs.editableDetailTable.validateTable()" |
| | | :placeholder="!Boolean(model.maintenanceCategory)?'请选择保养分类':'请输入部位'" :rows="1" |
| | | autoSize :disabled="!Boolean(model.maintenanceCategory)"/> |
| | | </template> |
| | | |
| | | <template v-slot:itemCategory="props"> |
| | | <j-dict-select-tag v-model="props.row.itemCategory" :dict-code="encodedDictCode" |
| | | @change="$refs.editableDetailTable.validateTable()" |
| | | :placeholder="getItemCategoryPlaceholder" |
| | | :disabled="!Boolean(model.maintenanceCategory)||model.maintenanceCategory=='THIRD_MAINTENANCE'"/> |
| | | :placeholder="!Boolean(model.maintenanceCategory)?'请选择保养分类':'请选择项保养分类'" |
| | | :disabled="!Boolean(model.maintenanceCategory)"/> |
| | | </template> |
| | | </j-vxe-table> |
| | | </a-row> |
| | |
| | | ] |
| | | } |
| | | ], |
| | | defaultColumns: [ |
| | | { |
| | | title: 'ID', |
| | | key: 'id', |
| | | type: JVXETypes.hidden |
| | | }, |
| | | { |
| | | title: 'standardId', |
| | | key: 'standardId', |
| | | type: JVXETypes.hidden |
| | | }, |
| | | { |
| | | title: '项目序号', |
| | | key: 'itemCode', |
| | | type: JVXETypes.inputNumber, |
| | | align: 'center', |
| | | placeholder: '请输入项目序号', |
| | | width: 150, |
| | | validateRules: [ |
| | | { required: true, message: '请输入项目序号' }, |
| | | { unique: true, message: '项目序号不能重复' } |
| | | ] |
| | | }, |
| | | { |
| | | title: '部位', |
| | | key: 'itemPart', |
| | | type: JVXETypes.slot, |
| | | slotName: 'itemPart', |
| | | placeholder: '请输入部位', |
| | | align: 'center', |
| | | validateRules: [{ handler: this.itemPartValidate }] |
| | | }, |
| | | { |
| | | title: '保养项分类', |
| | | key: 'itemCategory', |
| | | type: JVXETypes.slot, |
| | | slotName: 'itemCategory', |
| | | align: 'center', |
| | | validateRules: [{ handler: this.itemCategoryValidate }] |
| | | }, |
| | | { |
| | | title: '保养项目', |
| | | key: 'itemName', |
| | | placeholder: '请输入保养项目', |
| | | type: JVXETypes.textarea, |
| | | align: 'center', |
| | | validateRules: [ |
| | | { required: true, message: '请输入保养项目' } |
| | | ] |
| | | }, |
| | | { |
| | | title: '保养规范或要求', |
| | | key: 'itemDemand', |
| | | placeholder: '请输入保养规范或要求', |
| | | type: JVXETypes.textarea, |
| | | align: 'center', |
| | | validateRules: [ |
| | | { required: true, message: '请输入保养规范或要求' } |
| | | ] |
| | | } |
| | | ], |
| | | toolbarConfig: { |
| | | // prefix 前缀;suffix 后缀 |
| | | slot: ['prefix', 'suffix'], |
| | |
| | | } |
| | | } |
| | | }, |
| | | computed: { |
| | | getItemCategoryPlaceholder() { |
| | | if (!Boolean(this.model.maintenanceCategory)) return '请选择保养分类' |
| | | else { |
| | | if (this.model.maintenanceCategory != 'THIRD_MAINTENANCE') return '请选择保养项分类' |
| | | else return '三保无需维护' |
| | | |
| | | watch: { |
| | | 'model.maintenanceCategory': { |
| | | handler(val) { |
| | | if (val) { |
| | | if (val != 'THIRD_MAINTENANCE') this.detail.columns = [...this.detail.defaultColumns.filter(item => item.key != 'itemPart')] |
| | | else this.detail.columns = [...this.detail.defaultColumns.filter(item => item.key != 'itemCategory')] |
| | | } |
| | | else this.detail.columns = [...this.detail.defaultColumns] |
| | | } |
| | | } |
| | | }, |
| | | |
| | | computed: { |
| | | encodedDictCode() { |
| | | let suffix |
| | | if (!Boolean(this.model.maintenanceCategory) || this.model.maintenanceCategory === 'THIRD_MAINTENANCE') return |
| | |
| | | } |
| | | }, |
| | | methods: { |
| | | // 主页面点击新增后触发 |
| | | add() { |
| | | this.model = {} |
| | | this.visible = true |
| | |
| | | this.detail.dataSource = [] |
| | | }, |
| | | |
| | | /** |
| | | * 主页面点击编辑后触发 |
| | | * @param record 主页面列表行记录 |
| | | */ |
| | | edit(record) { |
| | | this.model = Object.assign({}, record) |
| | | this.visible = true |
| | |
| | | this.loadDetail(record.id) |
| | | }, |
| | | |
| | | /** |
| | | * 点击升版后触发 |
| | | * @param record 主页面列表行记录 |
| | | */ |
| | | upgrade(record) { |
| | | this.model = Object.assign({}, record) |
| | | this.visible = true |
| | |
| | | if (value !== 'THIRD_MAINTENANCE') delete item.itemPart |
| | | delete item.itemCategory |
| | | }) |
| | | |
| | | this.detail.dataSource = [...tableData] |
| | | console.log('tableData', tableData) |
| | | this.$refs.editableDetailTable.validateTable() |
| | | }, |
| | | |
| | | /** |
| | |
| | | |
| | | /deep/ textarea.ant-input { |
| | | resize: none; |
| | | margin-bottom: 0; |
| | | } |
| | | </style> |