修改BOM信息

master
夜笙歌 5 months ago
parent 78afb37e9d
commit c12f5503bc

@ -2,6 +2,21 @@ import request from '@/utils/request';
import {AxiosPromise} from 'axios'; import {AxiosPromise} from 'axios';
import {MasterDataDetailVO, MasterDataDetailForm, MasterDataDetailQuery} from '@/api/system/masterDataDetail/types'; import {MasterDataDetailVO, MasterDataDetailForm, MasterDataDetailQuery} from '@/api/system/masterDataDetail/types';
/**
*
* @param query
* @returns {*}
*/
export const listMasterData = (query) => {
return request({
url: '/system/masterData/list',
method: 'get',
params: query
});
};
/** /**
* *
* @param query * @param query

@ -134,6 +134,7 @@
<el-form-item label="物料类型" prop="materialTypeId"> <el-form-item label="物料类型" prop="materialTypeId">
<!-- <el-input v-model="form.materialTypeId" placeholder="请输入物料类型ID" />--> <!-- <el-input v-model="form.materialTypeId" placeholder="请输入物料类型ID" />-->
<el-tree-select <el-tree-select
@current-change="currentChange"
v-model="form.materialTypeId" v-model="form.materialTypeId"
:data="baseMaterialTypeOptions" :data="baseMaterialTypeOptions"
:props="{ value: 'matrialTypeId', label: 'matrialTypeName', children: 'children' }" :props="{ value: 'matrialTypeId', label: 'matrialTypeName', children: 'children' }"
@ -385,20 +386,10 @@ const getbaseMaterialTypeOptions = async () => {
} }
} }
const currentChange = (e)=>{
// form.materialTypeId const selectedMaterial = e.matrialTypeName
watch(() => form.value.materialTypeId, (newValue) => { form.value.materialTypeName = e.matrialTypeName || ''
// baseMaterialTypeOptions materialTypeName
const selectedMaterial = baseMaterialTypeOptions.value.find(
(item) => item.matrialTypeId == newValue
);
console.log("selectedMaterial:",newValue,selectedMaterial);
if (selectedMaterial) {
form.value.materialTypeName = selectedMaterial.matrialTypeName;
} else {
form.value.materialTypeName = undefined;
} }
});
onMounted(() => { onMounted(() => {

@ -5,56 +5,25 @@
<div v-show='showSearch' class='mb-[10px]'> <div v-show='showSearch' class='mb-[10px]'>
<el-card shadow='hover'> <el-card shadow='hover'>
<el-form ref='queryFormRef' :model='queryParams' :inline='true'> <el-form ref='queryFormRef' :model='queryParams' :inline='true'>
<el-form-item label='主键标识' prop='masterDataDetailId'> <!-- <el-form-item label='主键标识' prop='masterDataDetailId'>-->
<el-input v-model='queryParams.masterDataDetailId' placeholder='请输入主键标识' clearable <!-- <el-input v-model='queryParams.masterDataDetailId' placeholder='请输入主键标识' clearable-->
@keyup.enter='handleQuery' /> <!-- @keyup.enter='handleQuery'/>-->
</el-form-item> <!-- </el-form-item>-->
<el-form-item label='主数据ID' prop='masterDataId'> <!-- <el-form-item label='主数据ID' prop='masterDataId'>-->
<el-input v-model='queryParams.masterDataId' placeholder='请输入主数据ID' clearable <!-- <el-input v-model='queryParams.masterDataId' placeholder='请输入主数据ID' clearable-->
@keyup.enter='handleQuery' /> <!-- @keyup.enter='handleQuery'/>-->
</el-form-item> <!-- </el-form-item>-->
<!-- <el-form-item label='父级标识' prop='parentId'>--> <!-- <el-form-item label='父级标识' prop='parentId'>-->
<!-- <el-input v-model='queryParams.parentId' placeholder='请输入父级标识' clearable @keyup.enter='handleQuery'/>--> <!-- <el-input v-model='queryParams.parentId' placeholder='请输入父级标识' clearable @keyup.enter='handleQuery'/>-->
<!-- </el-form-item>--> <!-- </el-form-item>-->
<!-- <el-form-item label='祖级列表' prop='ancestors'>--> <el-form-item v-for="i in reservedFieldList" :label='i.label' :prop='i.tableKey'>
<!-- <el-input v-model='queryParams.ancestors' placeholder='请输入祖级列表' clearable @keyup.enter='handleQuery' />--> <el-input v-model='queryParams[i.tableKey]' :placeholder='`请输入${i.label}`' clearable @keyup.enter='handleQuery'/>
<!-- </el-form-item>-->
<!-- <el-form-item label='主数据明细编号' prop='dataDetailCode'>-->
<!-- <el-input v-model='queryParams.dataDetailCode' placeholder='请输入主数据明细编号' clearable-->
<!-- @keyup.enter='handleQuery' />-->
<!-- </el-form-item>-->
<!-- <el-form-item label='主数据明细名称' prop='dataDetailName'>-->
<!-- <el-input v-model='queryParams.dataDetailName' placeholder='请输入主数据明细名称' clearable-->
<!-- @keyup.enter='handleQuery' />-->
<!-- </el-form-item>-->
<!-- <el-form-item label='预留字段1数据' prop='fieldData1'>-->
<!-- <el-input v-model='queryParams.fieldData1' placeholder='请输入预留字段1数据' clearable-->
<!-- @keyup.enter='handleQuery' />-->
<!-- </el-form-item>-->
<!-- <el-form-item label='预留字段2数据' prop='fieldData2'>-->
<!-- <el-input v-model='queryParams.fieldData2' placeholder='请输入预留字段2数据' clearable-->
<!-- @keyup.enter='handleQuery' />-->
<!-- </el-form-item>-->
<!-- <el-form-item label='预留字段3数据' prop='fieldData3'>-->
<!-- <el-input v-model='queryParams.fieldData3' placeholder='请输入预留字段3数据' clearable-->
<!-- @keyup.enter='handleQuery' />-->
<!-- </el-form-item>-->
<!-- <el-form-item label='预留字段4数据' prop='fieldData4'>-->
<!-- <el-input v-model='queryParams.fieldData4' placeholder='请输入预留字段4数据' clearable-->
<!-- @keyup.enter='handleQuery' />-->
<!-- </el-form-item>-->
<!-- <el-form-item label='预留字段5数据' prop='fieldData5'>-->
<!-- <el-input v-model='queryParams.fieldData5' placeholder='请输入预留字段5数据' clearable-->
<!-- @keyup.enter='handleQuery' />-->
<!-- </el-form-item>-->
<!-- <el-form-item label='显示排序' prop='displaySort'>-->
<!-- <el-input v-model='queryParams.displaySort' placeholder='请输入显示排序' clearable @keyup.enter='handleQuery' />-->
<!-- </el-form-item>-->
<el-form-item label='激活标识' prop='activeFlag'>
<el-select v-model='queryParams.activeFlag' placeholder='请选择激活标识' clearable>
<el-option v-for='dict in active_flag' :key='dict.value' :label='dict.label' :value='dict.value' />
</el-select>
</el-form-item> </el-form-item>
<!-- <el-form-item label='激活标识' prop='activeFlag'>-->
<!-- <el-select v-model='queryParams.activeFlag' placeholder='请选择激活标识' clearable>-->
<!-- <el-option v-for='dict in active_flag' :key='dict.value' :label='dict.label' :value='dict.value'/>-->
<!-- </el-select>-->
<!-- </el-form-item>-->
<el-form-item> <el-form-item>
<el-button type='primary' icon='Search' @click='handleQuery'>搜索</el-button> <el-button type='primary' icon='Search' @click='handleQuery'>搜索</el-button>
<el-button icon='Refresh' @click='resetQuery'>重置</el-button> <el-button icon='Refresh' @click='resetQuery'>重置</el-button>
@ -87,31 +56,27 @@
v-hasPermi="['system:masterDataDetail:export']">导出 v-hasPermi="['system:masterDataDetail:export']">导出
</el-button> </el-button>
</el-col> </el-col>
<right-toolbar v-model:showSearch='showSearch' :columns='columns' :search='true' <right-toolbar v-model:showSearch='showSearch' :search='true'
@queryTable='getList'></right-toolbar> @queryTable='getList'></right-toolbar>
</el-row> </el-row>
</template> </template>
<el-table v-loading='loading' :data='masterDataDetailList' @selection-change='handleSelectionChange'> <el-table v-loading='loading' :data='masterDataDetailList' @selection-change='handleSelectionChange'>
<el-table-column type='selection' width='55' align='center'/> <el-table-column type='selection' width='55' align='center'/>
<el-table-column label='主键标识' align='center' prop='masterDataDetailId' v-if='columns[0].visible' /> <!-- <el-table-column label='主键标识' align='center' prop='masterDataDetailId' />-->
<el-table-column label='主数据ID' align='center' prop='masterDataId' v-if='columns[1].visible' /> <!-- <el-table-column label='主数据ID' align='center' prop='masterDataId' />-->
<el-table-column label='父级标识' align='center' prop='parentId' v-if='columns[2].visible' /> <!-- <el-table-column label='父级标识' align='center' prop='parentId' />-->
<el-table-column label='祖级列表' align='center' prop='ancestors' v-if='columns[3].visible' /> <!-- <el-table-column label='祖级列表' align='center' prop='ancestors' />-->
<el-table-column label='主数据明细编号' align='center' prop='dataDetailCode' v-if='columns[4].visible' /> <el-table-column label='主数据明细编号' align='center' prop='dataDetailCode' />
<el-table-column label='主数据明细名称' align='center' prop='dataDetailName' v-if='columns[5].visible' /> <el-table-column label='主数据明细名称' align='center' prop='dataDetailName' />
<el-table-column label='预留字段1数据' align='center' prop='fieldData1' v-if='columns[6].visible' /> <el-table-column v-for="i in reservedFieldList" :label='i.label' align='center' :prop='i.tableKey' />
<el-table-column label='预留字段2数据' align='center' prop='fieldData2' v-if='columns[7].visible' /> <!-- <el-table-column label='显示排序' align='center' prop='displaySort' />-->
<el-table-column label='预留字段3数据' align='center' prop='fieldData3' v-if='columns[8].visible' /> <el-table-column label='备注' align='center' prop='remark' />
<el-table-column label='预留字段4数据' align='center' prop='fieldData4' v-if='columns[9].visible' /> <!-- <el-table-column label='激活标识' align='center' prop='activeFlag' >-->
<el-table-column label='预留字段5数据' align='center' prop='fieldData5' v-if='columns[10].visible' /> <!-- <template #default='scope'>-->
<el-table-column label='显示排序' align='center' prop='displaySort' v-if='columns[11].visible' /> <!-- <dict-tag :options='active_flag' :value='scope.row.activeFlag'/>-->
<el-table-column label='备注' align='center' prop='remark' v-if='columns[12].visible' /> <!-- </template>-->
<el-table-column label='激活标识' align='center' prop='activeFlag' v-if='columns[13].visible'> <!-- </el-table-column>-->
<template #default='scope'>
<dict-tag :options='active_flag' :value='scope.row.activeFlag' />
</template>
</el-table-column>
<el-table-column label='操作' align='center' class-name='small-padding fixed-width'> <el-table-column label='操作' align='center' class-name='small-padding fixed-width'>
<template #default='scope'> <template #default='scope'>
<el-tooltip content='修改' placement='top'> <el-tooltip content='修改' placement='top'>
@ -131,56 +96,44 @@
</el-card> </el-card>
<!-- 添加或修改主数据维护明细对话框 --> <!-- 添加或修改主数据维护明细对话框 -->
<el-dialog :title='dialog.title' v-model='dialog.visible' width='500px' append-to-body> <el-dialog :title='dialog.title' v-model='dialog.visible' width='500px' append-to-body>
<el-form ref='masterDataDetailFormRef' :model='form' :rules='rules' label-width='80px'> <el-form ref='masterDataDetailFormRef' :model='form' :rules='rules' label-width='120px'>
<el-form-item label='主键标识' prop='masterDataDetailId'> <el-form-item label='主键标识' prop='masterDataDetailId' v-if="false">
<el-input v-model='form.masterDataDetailId' placeholder='请输入主键标识'/> <el-input v-model='form.masterDataDetailId' placeholder='请输入主键标识'/>
</el-form-item> </el-form-item>
<el-form-item label='主数据ID' prop='masterDataId'> <!-- <el-form-item label='主数据ID' prop='masterDataId'>-->
<el-input v-model='form.masterDataId' placeholder='请输入主数据ID' /> <!-- <el-input v-model='form.masterDataId' placeholder='请输入主数据ID'/>-->
</el-form-item> <!-- </el-form-item>-->
<el-form-item label='父级标识' prop='parentId'> <!-- <el-form-item label='父级标识' prop='parentId'>-->
<el-input v-model='form.parentId' placeholder='请输入父级标识' /> <!-- <el-input v-model='form.parentId' placeholder='请输入父级标识'/>-->
</el-form-item> <!-- </el-form-item>-->
<el-form-item label='祖级列表' prop='ancestors'> <!-- <el-form-item label='祖级列表' prop='ancestors'>-->
<el-input v-model='form.ancestors' placeholder='请输入祖级列表' /> <!-- <el-input v-model='form.ancestors' placeholder='请输入祖级列表'/>-->
</el-form-item> <!-- </el-form-item>-->
<el-form-item label='主数据明细编号' prop='dataDetailCode'> <el-form-item label='主数据明细编号' prop='dataDetailCode'>
<el-input v-model='form.dataDetailCode' placeholder='请输入主数据明细编号'/> <el-input v-model='form.dataDetailCode' placeholder='请输入主数据明细编号'/>
</el-form-item> </el-form-item>
<el-form-item label='主数据明细名称' prop='dataDetailName'> <el-form-item label='主数据明细名称' prop='dataDetailName'>
<el-input v-model='form.dataDetailName' placeholder='请输入主数据明细名称'/> <el-input v-model='form.dataDetailName' placeholder='请输入主数据明细名称'/>
</el-form-item> </el-form-item>
<el-form-item label='预留字段1数据' prop='fieldData1'> <el-form-item :label='i.label' :prop='i.tableKey' v-for="i in reservedFieldList">
<el-input v-model='form.fieldData1' placeholder='请输入预留字段1数据' /> <el-input v-model='form[i.tableKey]' placeholder='请输入预留字段1数据'/>
</el-form-item>
<el-form-item label='预留字段2数据' prop='fieldData2'>
<el-input v-model='form.fieldData2' placeholder='请输入预留字段2数据' />
</el-form-item>
<el-form-item label='预留字段3数据' prop='fieldData3'>
<el-input v-model='form.fieldData3' placeholder='请输入预留字段3数据' />
</el-form-item>
<el-form-item label='预留字段4数据' prop='fieldData4'>
<el-input v-model='form.fieldData4' placeholder='请输入预留字段4数据' />
</el-form-item>
<el-form-item label='预留字段5数据' prop='fieldData5'>
<el-input v-model='form.fieldData5' placeholder='请输入预留字段5数据' />
</el-form-item>
<el-form-item label='显示排序' prop='displaySort'>
<el-input v-model='form.displaySort' placeholder='请输入显示排序' />
</el-form-item> </el-form-item>
<!-- <el-form-item label='显示排序' prop='displaySort'>-->
<!-- <el-input v-model='form.displaySort' placeholder='请输入显示排序'/>-->
<!-- </el-form-item>-->
<el-form-item label='备注' prop='remark'> <el-form-item label='备注' prop='remark'>
<el-input v-model='form.remark' placeholder='请输入备注'/> <el-input v-model='form.remark' placeholder='请输入备注'/>
</el-form-item> </el-form-item>
<el-form-item label='激活标识' prop='activeFlag'> <!-- <el-form-item label='激活标识' prop='activeFlag'>-->
<el-radio-group v-model='form.activeFlag'> <!-- <el-radio-group v-model='form.activeFlag'>-->
<el-radio <!-- <el-radio-->
v-for='dict in active_flag' <!-- v-for='dict in active_flag'-->
:key='dict.value' <!-- :key='dict.value'-->
:value='dict.value' <!-- :value='dict.value'-->
>{{ dict.label }} <!-- >{{ dict.label }}-->
</el-radio> <!-- </el-radio>-->
</el-radio-group> <!-- </el-radio-group>-->
</el-form-item> <!-- </el-form-item>-->
</el-form> </el-form>
<template #footer> <template #footer>
<div class='dialog-footer'> <div class='dialog-footer'>
@ -198,7 +151,8 @@ import {
getMasterDataDetail, getMasterDataDetail,
delMasterDataDetail, delMasterDataDetail,
addMasterDataDetail, addMasterDataDetail,
updateMasterDataDetail updateMasterDataDetail,
listMasterData
} from '@/api/system/masterDataDetail'; } from '@/api/system/masterDataDetail';
import {MasterDataDetailVO, MasterDataDetailQuery, MasterDataDetailForm} from '@/api/system/masterDataDetail/types'; import {MasterDataDetailVO, MasterDataDetailQuery, MasterDataDetailForm} from '@/api/system/masterDataDetail/types';
@ -223,27 +177,27 @@ const dialog = reactive<DialogOption>({
}); });
// //
const columns = ref<FieldOption[]>([ // const columns = ref<FieldOption[]>([
{ key: 0, label: `主键标识`, visible: true }, // {key: 0, label: ``, visible: true},
{ key: 1, label: `主数据ID`, visible: true }, // {key: 1, label: `ID`, visible: true},
{ key: 2, label: `父级标识`, visible: true }, // {key: 2, label: ``, visible: true},
{ key: 3, label: `祖级列表`, visible: true }, // {key: 3, label: ``, visible: true},
{ key: 4, label: `主数据明细编号`, visible: true }, // {key: 4, label: ``, visible: true},
{ key: 5, label: `主数据明细名称`, visible: true }, // {key: 5, label: ``, visible: true},
{ key: 6, label: `预留字段1数据`, visible: true }, // {key: 6, label: `1`, visible: true},
{ key: 7, label: `预留字段2数据`, visible: true }, // {key: 7, label: `2`, visible: true},
{ key: 8, label: `预留字段3数据`, visible: true }, // {key: 8, label: `3`, visible: true},
{ key: 9, label: `预留字段4数据`, visible: true }, // {key: 9, label: `4`, visible: true},
{ key: 10, label: `预留字段5数据`, visible: true }, // {key: 10, label: `5`, visible: true},
{ key: 11, label: `显示排序`, visible: true }, // {key: 11, label: ``, visible: true},
{ key: 12, label: `备注`, visible: true }, // {key: 12, label: ``, visible: true},
{ key: 13, label: `激活标识`, visible: true }, // {key: 13, label: ``, visible: true},
{ key: 14, label: `创建部门`, visible: true }, // {key: 14, label: ``, visible: true},
{ key: 15, label: `创建人`, visible: true }, // {key: 15, label: ``, visible: true},
{ key: 16, label: `创建时间`, visible: true }, // {key: 16, label: ``, visible: true},
{ key: 17, label: `更新人`, visible: true }, // {key: 17, label: ``, visible: true},
{ key: 18, label: `更新时间`, visible: true } // {key: 18, label: ``, visible: true}
]); // ]);
const initFormData: MasterDataDetailForm = { const initFormData: MasterDataDetailForm = {
masterDataDetailId: undefined, masterDataDetailId: undefined,
@ -296,10 +250,36 @@ const data = reactive<PageData<MasterDataDetailForm, MasterDataDetailQuery>>({
const {queryParams, form, rules} = toRefs(data); const {queryParams, form, rules} = toRefs(data);
const routeParam = ref({queryParam:'{"router": "brand"}'})
const masterDataTitle = ref()
const tableTh = ref([])
const masterDataId = ref()
const reservedFieldList = ref([])
//
listMasterData(routeParam.value).then(e => {
let data = e.rows?.[0] ||{}
masterDataId.value = data.masterDataId
masterDataTitle.value = data.masterDataTitle
let fieldNameList = ['1','2','3','4','5']
reservedFieldList.value = fieldNameList.map((v)=>{
if(data['displayFlag' + v]==='1'){
return {
label:data['fieldName' + v],
tableKey:'fieldData'+v
}
}else{
return null
}
}).filter(ee=>!!ee)
console.log(reservedFieldList.value)
getList()
})
/** 查询主数据维护明细列表 */ /** 查询主数据维护明细列表 */
const getList = async () => { const getList = async () => {
loading.value = true; loading.value = true;
const res = await listMasterDataDetail(queryParams.value); const res = await listMasterDataDetail({...queryParams.value,masterDataId:masterDataId.value});
masterDataDetailList.value = res.rows; masterDataDetailList.value = res.rows;
total.value = res.total; total.value = res.total;
loading.value = false; loading.value = false;
@ -359,9 +339,9 @@ const submitForm = () => {
if (valid) { if (valid) {
buttonLoading.value = true; buttonLoading.value = true;
if (form.value.masterDataDetailId) { if (form.value.masterDataDetailId) {
await updateMasterDataDetail(form.value).finally(() => buttonLoading.value = false); await updateMasterDataDetail({...form.value,masterDataId:masterDataId.value,activeFlag:'1'}).finally(() => buttonLoading.value = false);
} else { } else {
await addMasterDataDetail(form.value).finally(() => buttonLoading.value = false); await addMasterDataDetail({...form.value,masterDataId:masterDataId.value,activeFlag:'1'}).finally(() => buttonLoading.value = false);
} }
proxy?.$modal.msgSuccess('操作成功'); proxy?.$modal.msgSuccess('操作成功');
dialog.visible = false; dialog.visible = false;
@ -387,6 +367,6 @@ const handleExport = () => {
}; };
onMounted(() => { onMounted(() => {
getList(); // getList();
}); });
</script> </script>

Loading…
Cancel
Save