diff --git a/src/components/BasicForm/src/BasicForm.vue b/src/components/BasicForm/src/BasicForm.vue index 534fd89..48c5e5d 100644 --- a/src/components/BasicForm/src/BasicForm.vue +++ b/src/components/BasicForm/src/BasicForm.vue @@ -241,6 +241,87 @@ const props = defineProps({ required: false, default: false }, + // 窗体底部按钮 显示or隐藏:保存,关闭 + isShowFooterButtton: { + type: Boolean, + required: false, + default: true + }, + // 明细数据长度校验 + tableFormDataLength: { + type: Boolean, + required: false, + default: true + }, + // 底部按钮集合 + footButttondata: { + type: Array, + required: false, + default: null + }, + //是否直接展示搜索表单 + isOpenSearchTable: { + type: Boolean, + required: false, + default: false + }, + + fieldTableColumn: { + type: String, + required: false, + default: '' + }, + //表单中展示的数据,需要用searchTable中字段计算 + /***[{ + formField:form中对应的field, + tableField:searchtable中对应的field, + }]*/ + sumFormDataField: { + type: Array, + required: false, + default: null + }, + sumFormDataByForm: { + type: Function, + required: false, + default: null + }, + sumFormDataByTableCustom: { + type: Function, + required: false, + default: null + }, + showSearchTableQueryFields: { + type: Array, + required: false, + default: ()=>[] + }, + hiddenFilterBtnFields:{ + type: Array, + required: false, + default:()=>[] + }, + // // 失去焦点之后是否进行校验, + isJiaoyan: { + type: Boolean, + required: false, + default: false + }, + // true 取消父子关联; false 关联 + isCheckStrictly:{ + type:Boolean, + default:false + }, + // true 展示汇总功能组件; false 不展示 + includeCollectionTable:{ + type:Boolean, + default:false + }, + //滚动高度 + fixedScrollHieght:{ + type:Boolean, + default:false + } }) const { t } = useI18n() // 国际化 @@ -526,7 +607,21 @@ const handleDeleteTable = (row, index) => { } // 添加数据 const handleAddTable = () => { - emit('handleAddTable') + if (props.isOpenSearchTable) { + const tableFormKeys = {} + tableAllSchemas.value.tableFormColumns.forEach((item) => { + tableFormKeys[item.field] = item.default ? item.default : '' + }) + if (props.fieldTableColumn != '') { + inpuFocus( + tableAllSchemas.value.tableFormColumns.find((item) => item.field == props.fieldTableColumn), + tableFormKeys, + 0 + ) + } + } else { + emit('handleAddTable') + } } // 输入框聚焦 const inpuFocus = (headerItem, row, index) => { diff --git a/src/views/eam/basic/deviceMaintenance/deviceMaintenance.data.ts b/src/views/eam/basic/deviceMaintenance/deviceMaintenance.data.ts index bd060d6..f14ddea 100644 --- a/src/views/eam/basic/deviceMaintenance/deviceMaintenance.data.ts +++ b/src/views/eam/basic/deviceMaintenance/deviceMaintenance.data.ts @@ -231,3 +231,140 @@ export const DeviceMaintenance = useCrudSchemas(reactive([ } } ])) +export const DeviceMaintenanceTwo = useCrudSchemas(reactive([ + { + label: '保养内容', + field: 'name', + sort: 'custom', + isSearch: true, + form: { + // labelMessage: '信息提示说明!!!', + componentProps: { + isSearchList: true, // 开启查询弹窗 + searchListPlaceholder: '请选择设备保养项', // 输入框占位文本 + searchField: 'name', // 查询弹窗赋值字段 + searchTitle: '设备保养项信息', // 查询弹窗标题 + searchAllSchemas: DeviceMaintenance.allSchemas, // 查询弹窗所需类 + searchPage: DeviceMoldItemsApi.getDeviceMoldItemsPage, // 查询弹窗所需分页方法 + searchCondition: [ + { + key: 'available', + value: "TRUE", + isMainValue: false + }, { + key: 'type', + value: "DEVICE", + isMainValue: false + } + ] + } + }, + tableForm: { + multiple: true, + isInpuFocusShow: false, // 开启查询弹窗 + disabled:true, + searchListPlaceholder: '请选择设备保养项', + searchField: 'name', + searchTitle: '设备保养项信息', + searchAllSchemas: DeviceMaintenance.allSchemas, // 查询弹窗所需类 + searchPage: DeviceMoldItemsApi.getDeviceMoldItemsPage, // 查询弹窗所需分页方法 + searchCondition: [ + { + key: 'available', + value: "TRUE", + isMainValue: false + }, { + key: 'type', + value: "DEVICE", + isMainValue: false + } + ] + }, + }, + { + label: '类型', + field: 'type', + dictType: DICT_TYPE.DEVICE_MOLD_TYPE, + dictClass: 'string', + sort: 'custom', + isSearch: false, + form: { + value: 'DEVICE', + componentProps: { + disabled: true, + } + }, + tableForm: { + type:'Select', + disabled: true, + } + }, + { + label: '设备保养部位', + field: 'equipmentParts', + sort: 'custom', + isSearch: true, + tableForm: { + disabled: true, + } + }, + { + label: '项类型', + field: 'status', + dictType: DICT_TYPE.DEVICEMOLDITEMS_STATUS, + dictClass: 'string', + sort: 'custom', + isSearch: false, + form: { + component: 'Select', + value: 'MAINTAIN', + componentProps: { + disabled: true + } + }, + tableForm: { + type: 'Select', + disabled: true, + } + }, + { + label: '人数', + field: 'peoples', + sort: 'custom', + isSearch: false, + table: { + width: 150, + }, + form: { + component: 'InputNumber', + componentProps: { + min: 1, + max: 100, + precision: 0 + } + }, + tableForm: { + disabled: true, + } + }, + { + label: '保养所需时间(分钟)', + field: 'estimatedMinutes', + sort: 'custom', + isSearch: false, + table: { + width: 200, + }, + form: { + component: 'InputNumber', + componentProps: { + min: 1, + precision: 0 + } + }, + tableForm: { + disabled: true, + } + }, + +])) diff --git a/src/views/eam/basic/moldMaintenanceConfig/index.vue b/src/views/eam/basic/moldMaintenanceConfig/index.vue index 5a4a2ea..43c7012 100644 --- a/src/views/eam/basic/moldMaintenanceConfig/index.vue +++ b/src/views/eam/basic/moldMaintenanceConfig/index.vue @@ -42,11 +42,11 @@ { +const searchTableSuccess = (formField, searchField, val, formRef, type, row ) => { nextTick(() => { - const setV = {} - setV[formField] = val[0][searchField] - if(formField == 'deviceNumber'){ - setV['deviceName'] = val[0].name + if (type == 'tableForm') { + // 明细查询页赋值 + if (formField == 'name') { + val = val.filter(item => !tableData.value.find(item1 => item1['id'] == item['id'])) + if (val.length == 0) return + val.forEach(item => { + const newRow = JSON.parse(JSON.stringify({ ...tableFormKeys, ...item })) + tableData.value.push(newRow) + }) + } else { + row[formField] = val[0][searchField] + } + + } else { + const setV = {} + setV[formField] = val[0][searchField] + if (formField == 'deviceName') { + setV['deviceName'] = val[0].name + } + formRef.setValues(setV) } - formRef.setValues(setV) }) } // 主子数据 提交 const submitForm = async (formType, submitData) => { + let data = {...submitData} + if(data.masterId){ + data.id = data.masterId + } + formRef.value.formLoading = true + try { + if (formType === 'create') { + console.log(data) + await InventorychangeRequestMainApi.createInventorychangeRequestMain(data) + message.success(t('common.createSuccess')) + } else { + console.log('data',data); + data.id = data.masterId + await InventorychangeRequestMainApi.updateInventorychangeRequestMain(data) + message.success(t('common.updateSuccess')) + } + formRef.value.dialogVisible = false + // 刷新当前列表 + if (formType === 'create') { + getList() + }else{ + buttonBaseClick('refresh',null) + } + } finally { + formRef.value.formLoading = false + } } // 查询页面返回——详情