diff --git a/src/api/eam/basic/moldMaintenanceConfig/index.ts b/src/api/eam/basic/moldMaintenanceConfig/index.ts index 609ae7e..e496037 100644 --- a/src/api/eam/basic/moldMaintenanceConfig/index.ts +++ b/src/api/eam/basic/moldMaintenanceConfig/index.ts @@ -2,6 +2,9 @@ import request from '@/config/axios' export interface MoldMaintenanceConfigVO { deviceNumber: string + maintenanceItemId: string + masterId: string + detailId: string } // 查询设备模具保养项配置列表 @@ -55,4 +58,12 @@ export const getDeviceMoldItemsPage = async (params) => { } else { return await request.get({ url: `/eam/device-mold-maintenance-config/pageDetail`, params }) } +} + +export const addMaintenanceItem = async (data: MoldMaintenanceConfigVO) => { + return await request.post({ url: `/eam/device-mold-maintenance-config/addMaintenanceItem`, data }) +} + +export const delMaintenanceItem = async (data: MoldMaintenanceConfigVO) => { + return await request.post({ url: `/eam/device-mold-maintenance-config/delMaintenanceItem`, data }) } \ No newline at end of file diff --git a/src/components/Detail/src/Detail.vue b/src/components/Detail/src/Detail.vue index b626840..3e869e3 100644 --- a/src/components/Detail/src/Detail.vue +++ b/src/components/Detail/src/Detail.vue @@ -264,6 +264,42 @@ const props = defineProps({ type: Boolean, required: false, default: false + }, + // 子列表 编辑 展示与隐藏 ,默认展示 + detailButtonIsShowEdit:{ + type: Boolean, + required: false, + default: true + }, + // 子列表 删除 展示与隐藏 ,默认展示 + detailButtonIsShowDelete:{ + type: Boolean, + required: false, + default: true + }, + // 子列表 哪个状态下展示新增修改隐藏 列表 + detailButtonIsShowAddStatusArray:{ + type: Array, + required: false, + default: () => ['1'] + }, + // 新增按钮权限 + addHasPermi:{ + type: String, + required: false, + default: '' + }, + // 编辑按钮权限 + editHasPermi:{ + type: String, + required: false, + default: '' + }, + // 删除按钮权限 + deleteHasPermi:{ + type: String, + required: false, + default: '' }, // 是否是选择备件列表 isSearchTableItem: { @@ -288,6 +324,18 @@ const props = defineProps({ required: false, default: undefined }, + // 新增自定义方法 + isNewFuction: { + type: Boolean, + required: false, + default: false + }, + // 删除自定义方法 + isNewDetele: { + type: Boolean, + required: false, + default: false + }, }) const isShowDrawer = ref(false) const detailLoading = ref(false) @@ -366,19 +414,27 @@ const openDetail = async (row: any, titleName: any, titleValue: any, tableName: ]:[] HeadButttondata.value = [...detailButtonAdd] // 动态显示操作列按钮 - if (!props.detailButtonIsShow) { - buttondata.value = [ - ...[ - defaultButtons.mainListEditBtn({ - hide: !isShowMainButton(row, 'edit') - }), // 编辑 - defaultButtons.mainListDeleteBtn({ - hide: !isShowMainButton(row, 'delete') - }) - ], // 删除 - ...props.buttondataTable + let detailButtonEdit: any = [] + let detailButtonDelete: any = [] + if (props.detailButtonIsShowEdit) { + // 编辑 + detailButtonEdit = [ + defaultButtons.mainListEditBtn({ + hide: false, + hasPermi: props.editHasPermi + }) + ] + } + if (props.detailButtonIsShowDelete) { + // 删除 + detailButtonDelete = [ + defaultButtons.mainListDeleteBtn({ + hide: false, + hasPermi: props.deleteHasPermi + }) ] } + buttondata.value = [...detailButtonEdit,...detailButtonDelete,...props.buttondataTable] } finally { detailLoading.value = false } @@ -463,7 +519,11 @@ const buttonTableClick = async (val, row) => { emit('detailOpenForm',val, row) } else if (val == 'delete') { // 删除 - handleDelete(row.id) + if(props.isNewDetele){ + emit('deteleNewFuction',row) + }else{ + handleDelete(row.id) + } } else { emit('tableFormButton', val, row) } @@ -471,7 +531,10 @@ const buttonTableClick = async (val, row) => { /** 添加/修改操作 */ const formRef = ref() const openForm = async (type: string, row?: number) => { - if (row) { + if(props.isNewFuction){ + emit('openFormNewFuction') + }else{ + if (row) { if (detailAllSchemasRef.value?.tableColumns?.length > 0) { //多选逗号分隔转换 let isTrue = false @@ -503,6 +566,8 @@ const openForm = async (type: string, row?: number) => { } else { formRef.value.open(type, row, masterParmas.value); } + } + } // form 提交 @@ -528,6 +593,8 @@ const emit = defineEmits([ 'selectChangeDetail', 'detailOpenForm', 'tableFormButton', + 'openFormNewFuction', + 'deteleNewFuction', 'openImage', 'detailSubmitForm', 'detailOnChange', diff --git a/src/views/eam/basic/deviceMaintenance/deviceMaintenance.data.ts b/src/views/eam/basic/deviceMaintenance/deviceMaintenance.data.ts index f14ddea..f7361ff 100644 --- a/src/views/eam/basic/deviceMaintenance/deviceMaintenance.data.ts +++ b/src/views/eam/basic/deviceMaintenance/deviceMaintenance.data.ts @@ -366,5 +366,13 @@ export const DeviceMaintenanceTwo = useCrudSchemas(reactive([ disabled: true, } }, - + { + label: '操作', + field: 'action', + isForm: false, + table: { + width: 150, + fixed: 'right' + } + } ])) diff --git a/src/views/eam/basic/moldMaintenanceConfig/index.vue b/src/views/eam/basic/moldMaintenanceConfig/index.vue index 0d337aa..869ab7b 100644 --- a/src/views/eam/basic/moldMaintenanceConfig/index.vue +++ b/src/views/eam/basic/moldMaintenanceConfig/index.vue @@ -71,10 +71,17 @@ :apiPage="MoldMaintenanceConfigApi.getDeviceMoldItemsPage" :apiDelete="DeviceMaintenanceApi.deleteDeviceMoldItems" @searchTableSuccessDetail="searchTableSuccessDetail" + :isNewFuction='true' + @openFormNewFuction="openFormNewFuction" + :detailButtonIsShowEdit="false" + :detailButtonIsShowDelete="true" + :isNewDetele="true" + @deteleNewFuction="deteleNewFuction" /> + @@ -88,8 +95,11 @@ import * as defaultButtons from '@/utils/disposition/defaultButtons' import TableHead from '@/components/TableHead/src/TableHead.vue' import ImportForm from '@/components/ImportForm/src/ImportForm.vue' import Detail from '@/components/Detail/src/Detail.vue' +import { SearchTable } from '@/components/SearchTable' import {DeviceMaintenance, DeviceMaintenanceTwo,DeviceMaintenanceRules} from '@/views/eam/basic/deviceMaintenance/deviceMaintenance.data' import * as DeviceMaintenanceApi from '@/api/eam/basic/deviceMaintenance' +// import { DeviceAccounts } from '@/views/eam/device/deviceAccounts/deviceAccounts.data' +// import * as DeviceAccountsApi from '@/api/eam/device/deviceAccounts' defineOptions({ name: 'DeviceMoldMaintenanceConfig' }) @@ -156,21 +166,17 @@ const searchTableSuccess = (formField, searchField, val, formRef, type, row ) => // 主子数据 提交 const submitForm = async (formType, submitData) => { let data = {...submitData} - if(data.masterId){ - data.id = data.masterId - } data.type = 'DEVICE' - data.subList = tableData.value // 拼接子表数据参数 - data.maintenanceItemId = data.subList.map(item=>item.id).join(',') formRef.value.formLoading = true try { if (formType === 'create') { + data.subList = tableData.value // 拼接子表数据参数 + data.maintenanceItemId = data.subList.map(item=>item.id).join(',') console.log(data) await MoldMaintenanceConfigApi.createMoldMaintenanceConfig(data) message.success(t('common.createSuccess')) } else { console.log('data',data); - data.id = data.masterId await MoldMaintenanceConfigApi.updateMoldMaintenanceConfig(data) message.success(t('common.updateSuccess')) } @@ -301,7 +307,9 @@ const openForm =async (type: string, row?: number) => { /** 详情操作 */ const detailRef = ref() +const masterId = ref() const openDetail = (row: any, titleName: any, titleValue: any) => { + masterId.value = row.id detailRef.value.openDetail(row, titleName, titleValue, 'basicMoldMaintenanceConfig') } @@ -358,6 +366,55 @@ const searchFormClick = (searchData) => { getList() // 刷新当前列表 } +const searchTableRef = ref() +const openFormNewFuction = ()=>{ + searchTableRef.value.open( + '选择设备保养项', + DeviceMaintenance.allSchemas, + DeviceMaintenanceApi.getDeviceMoldItemsPage, + null, + DeviceMaintenance.allSchemas.searchSchema, + true, + null, + null, + null, + null, + null + // searchTableSelections.value + ) +} +const submitItem = async (formType, data, val, tableList) => { + console.log('formType',formType) + console.log('data',data) + console.log('val',val) + console.log('tableList',tableList) + let maintenanceItemId = val.map(item=>item.id).join(',') + let data1 = { + maintenanceItemId : maintenanceItemId, + masterId : masterId.value + } + await MoldMaintenanceConfigApi.addMaintenanceItem(data1) + message.success(t('common.createSuccess')) + await detailRef.value.getList() + searchTableRef.value.searchDialogVisible=false +} +const deteleNewFuction =async (row)=>{ + console.log('row',row) + try { + // 删除的二次确认 + await message.delConfirm() + // 发起删除 + let data1 = { + detailId : row.id, + masterId : masterId.value + } + await MoldMaintenanceConfigApi.delMaintenanceItem(data1) + message.success(t('common.delSuccess')) + // 刷新列表 + await detailRef.value.getList() + } catch {} +} + /** 初始化 **/ onMounted(async () => { getList()