修改BOM信息

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

@ -1,6 +1,21 @@
import request from '@/utils/request';
import { AxiosPromise } from 'axios';
import { MasterDataDetailVO, MasterDataDetailForm, MasterDataDetailQuery } from '@/api/system/masterDataDetail/types';
import {AxiosPromise} from 'axios';
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
});
};
/**
*

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

@ -5,56 +5,25 @@
<div v-show='showSearch' class='mb-[10px]'>
<el-card shadow='hover'>
<el-form ref='queryFormRef' :model='queryParams' :inline='true'>
<el-form-item label='主键标识' prop='masterDataDetailId'>
<el-input v-model='queryParams.masterDataDetailId' placeholder='请输入主键标识' clearable
@keyup.enter='handleQuery' />
</el-form-item>
<el-form-item label='主数据ID' prop='masterDataId'>
<el-input v-model='queryParams.masterDataId' placeholder='请输入主数据ID' clearable
@keyup.enter='handleQuery' />
</el-form-item>
<!-- <el-form-item label='父级标识' prop='parentId'>-->
<!-- <el-input v-model='queryParams.parentId' placeholder='请输入父级标识' clearable @keyup.enter='handleQuery' />-->
<!-- </el-form-item>-->
<!-- <el-form-item label='祖级列表' prop='ancestors'>-->
<!-- <el-input v-model='queryParams.ancestors' placeholder='请输入祖级列表' 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 label='主键标识' prop='masterDataDetailId'>-->
<!-- <el-input v-model='queryParams.masterDataDetailId' placeholder='请输入主键标识' 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 label='主数据ID' prop='masterDataId'>-->
<!-- <el-input v-model='queryParams.masterDataId' placeholder='请输入主数据ID' 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 label='父级标识' prop='parentId'>-->
<!-- <el-input v-model='queryParams.parentId' 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 v-for="i in reservedFieldList" :label='i.label' :prop='i.tableKey'>
<el-input v-model='queryParams[i.tableKey]' :placeholder='`请输入${i.label}`' 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-button type='primary' icon='Search' @click='handleQuery'>搜索</el-button>
<el-button icon='Refresh' @click='resetQuery'>重置</el-button>
@ -87,31 +56,27 @@
v-hasPermi="['system:masterDataDetail:export']">导出
</el-button>
</el-col>
<right-toolbar v-model:showSearch='showSearch' :columns='columns' :search='true'
<right-toolbar v-model:showSearch='showSearch' :search='true'
@queryTable='getList'></right-toolbar>
</el-row>
</template>
<el-table v-loading='loading' :data='masterDataDetailList' @selection-change='handleSelectionChange'>
<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='主数据ID' align='center' prop='masterDataId' v-if='columns[1].visible' />
<el-table-column label='父级标识' align='center' prop='parentId' v-if='columns[2].visible' />
<el-table-column label='祖级列表' align='center' prop='ancestors' v-if='columns[3].visible' />
<el-table-column label='主数据明细编号' align='center' prop='dataDetailCode' v-if='columns[4].visible' />
<el-table-column label='主数据明细名称' align='center' prop='dataDetailName' v-if='columns[5].visible' />
<el-table-column label='预留字段1数据' align='center' prop='fieldData1' v-if='columns[6].visible' />
<el-table-column label='预留字段2数据' align='center' prop='fieldData2' v-if='columns[7].visible' />
<el-table-column label='预留字段3数据' align='center' prop='fieldData3' v-if='columns[8].visible' />
<el-table-column label='预留字段4数据' align='center' prop='fieldData4' v-if='columns[9].visible' />
<el-table-column label='预留字段5数据' align='center' prop='fieldData5' v-if='columns[10].visible' />
<el-table-column label='显示排序' align='center' prop='displaySort' v-if='columns[11].visible' />
<el-table-column label='备注' align='center' prop='remark' v-if='columns[12].visible' />
<el-table-column label='激活标识' align='center' prop='activeFlag' v-if='columns[13].visible'>
<template #default='scope'>
<dict-tag :options='active_flag' :value='scope.row.activeFlag' />
</template>
</el-table-column>
<el-table-column type='selection' width='55' align='center'/>
<!-- <el-table-column label='主键标识' align='center' prop='masterDataDetailId' />-->
<!-- <el-table-column label='主数据ID' align='center' prop='masterDataId' />-->
<!-- <el-table-column label='父级标识' align='center' prop='parentId' />-->
<!-- <el-table-column label='祖级列表' align='center' prop='ancestors' />-->
<el-table-column label='主数据明细编号' align='center' prop='dataDetailCode' />
<el-table-column label='主数据明细名称' align='center' prop='dataDetailName' />
<el-table-column v-for="i in reservedFieldList" :label='i.label' align='center' :prop='i.tableKey' />
<!-- <el-table-column label='显示排序' align='center' prop='displaySort' />-->
<el-table-column label='备注' align='center' prop='remark' />
<!-- <el-table-column label='激活标识' align='center' prop='activeFlag' >-->
<!-- <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'>
<template #default='scope'>
<el-tooltip content='修改' placement='top'>
@ -127,60 +92,48 @@
</el-table>
<pagination v-show='total > 0' :total='total' v-model:page='queryParams.pageNum'
v-model:limit='queryParams.pageSize' @pagination='getList' />
v-model:limit='queryParams.pageSize' @pagination='getList'/>
</el-card>
<!-- 添加或修改主数据维护明细对话框 -->
<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-item label='主键标识' prop='masterDataDetailId'>
<el-input v-model='form.masterDataDetailId' placeholder='请输入主键标识' />
</el-form-item>
<el-form-item label='主数据ID' prop='masterDataId'>
<el-input v-model='form.masterDataId' placeholder='请输入主数据ID' />
</el-form-item>
<el-form-item label='父级标识' prop='parentId'>
<el-input v-model='form.parentId' placeholder='请输入父级标识' />
</el-form-item>
<el-form-item label='祖级列表' prop='ancestors'>
<el-input v-model='form.ancestors' placeholder='请输入祖级列表' />
<el-form ref='masterDataDetailFormRef' :model='form' :rules='rules' label-width='120px'>
<el-form-item label='主键标识' prop='masterDataDetailId' v-if="false">
<el-input v-model='form.masterDataDetailId' placeholder='请输入主键标识'/>
</el-form-item>
<!-- <el-form-item label='主数据ID' prop='masterDataId'>-->
<!-- <el-input v-model='form.masterDataId' placeholder='请输入主数据ID'/>-->
<!-- </el-form-item>-->
<!-- <el-form-item label='父级标识' prop='parentId'>-->
<!-- <el-input v-model='form.parentId' placeholder='请输入父级标识'/>-->
<!-- </el-form-item>-->
<!-- <el-form-item label='祖级列表' prop='ancestors'>-->
<!-- <el-input v-model='form.ancestors' placeholder='请输入祖级列表'/>-->
<!-- </el-form-item>-->
<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 label='主数据明细名称' prop='dataDetailName'>
<el-input v-model='form.dataDetailName' placeholder='请输入主数据明细名称' />
</el-form-item>
<el-form-item label='预留字段1数据' prop='fieldData1'>
<el-input v-model='form.fieldData1' 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-input v-model='form.dataDetailName' placeholder='请输入主数据明细名称'/>
</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 :label='i.label' :prop='i.tableKey' v-for="i in reservedFieldList">
<el-input v-model='form[i.tableKey]' placeholder='请输入预留字段1数据'/>
</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-input v-model='form.remark' placeholder='请输入备注' />
</el-form-item>
<el-form-item label='激活标识' prop='activeFlag'>
<el-radio-group v-model='form.activeFlag'>
<el-radio
v-for='dict in active_flag'
:key='dict.value'
:value='dict.value'
>{{ dict.label }}
</el-radio>
</el-radio-group>
<el-input v-model='form.remark' placeholder='请输入备注'/>
</el-form-item>
<!-- <el-form-item label='激活标识' prop='activeFlag'>-->
<!-- <el-radio-group v-model='form.activeFlag'>-->
<!-- <el-radio-->
<!-- v-for='dict in active_flag'-->
<!-- :key='dict.value'-->
<!-- :value='dict.value'-->
<!-- >{{ dict.label }}-->
<!-- </el-radio>-->
<!-- </el-radio-group>-->
<!-- </el-form-item>-->
</el-form>
<template #footer>
<div class='dialog-footer'>
@ -198,12 +151,13 @@ import {
getMasterDataDetail,
delMasterDataDetail,
addMasterDataDetail,
updateMasterDataDetail
updateMasterDataDetail,
listMasterData
} from '@/api/system/masterDataDetail';
import { MasterDataDetailVO, MasterDataDetailQuery, MasterDataDetailForm } from '@/api/system/masterDataDetail/types';
import {MasterDataDetailVO, MasterDataDetailQuery, MasterDataDetailForm} from '@/api/system/masterDataDetail/types';
const { proxy } = getCurrentInstance() as ComponentInternalInstance;
const { active_flag } = toRefs<any>(proxy?.useDict('active_flag'));
const {proxy} = getCurrentInstance() as ComponentInternalInstance;
const {active_flag} = toRefs<any>(proxy?.useDict('active_flag'));
const masterDataDetailList = ref<MasterDataDetailVO[]>([]);
const buttonLoading = ref(false);
@ -223,27 +177,27 @@ const dialog = reactive<DialogOption>({
});
//
const columns = ref<FieldOption[]>([
{ key: 0, label: `主键标识`, visible: true },
{ key: 1, label: `主数据ID`, visible: true },
{ key: 2, label: `父级标识`, visible: true },
{ key: 3, label: `祖级列表`, visible: true },
{ key: 4, label: `主数据明细编号`, visible: true },
{ key: 5, label: `主数据明细名称`, visible: true },
{ key: 6, label: `预留字段1数据`, visible: true },
{ key: 7, label: `预留字段2数据`, visible: true },
{ key: 8, label: `预留字段3数据`, visible: true },
{ key: 9, label: `预留字段4数据`, visible: true },
{ key: 10, label: `预留字段5数据`, visible: true },
{ key: 11, label: `显示排序`, visible: true },
{ key: 12, label: `备注`, visible: true },
{ key: 13, label: `激活标识`, visible: true },
{ key: 14, label: `创建部门`, visible: true },
{ key: 15, label: `创建人`, visible: true },
{ key: 16, label: `创建时间`, visible: true },
{ key: 17, label: `更新人`, visible: true },
{ key: 18, label: `更新时间`, visible: true }
]);
// const columns = ref<FieldOption[]>([
// {key: 0, label: ``, visible: true},
// {key: 1, label: `ID`, visible: true},
// {key: 2, label: ``, visible: true},
// {key: 3, label: ``, visible: true},
// {key: 4, label: ``, visible: true},
// {key: 5, label: ``, visible: true},
// {key: 6, label: `1`, visible: true},
// {key: 7, label: `2`, visible: true},
// {key: 8, label: `3`, visible: true},
// {key: 9, label: `4`, visible: true},
// {key: 10, label: `5`, visible: true},
// {key: 11, label: ``, visible: true},
// {key: 12, label: ``, visible: true},
// {key: 13, label: ``, visible: true},
// {key: 14, label: ``, visible: true},
// {key: 15, label: ``, visible: true},
// {key: 16, label: ``, visible: true},
// {key: 17, label: ``, visible: true},
// {key: 18, label: ``, visible: true}
// ]);
const initFormData: MasterDataDetailForm = {
masterDataDetailId: undefined,
@ -262,7 +216,7 @@ const initFormData: MasterDataDetailForm = {
activeFlag: undefined
};
const data = reactive<PageData<MasterDataDetailForm, MasterDataDetailQuery>>({
form: { ...initFormData },
form: {...initFormData},
queryParams: {
pageNum: 1,
pageSize: 10,
@ -283,23 +237,49 @@ const data = reactive<PageData<MasterDataDetailForm, MasterDataDetailQuery>>({
},
rules: {
dataDetailCode: [
{ required: true, message: '主数据明细编号不能为空', trigger: 'blur' }
{required: true, message: '主数据明细编号不能为空', trigger: 'blur'}
],
dataDetailName: [
{ required: true, message: '主数据明细名称不能为空', trigger: 'blur' }
{required: true, message: '主数据明细名称不能为空', trigger: 'blur'}
],
activeFlag: [
{ required: true, message: '激活标识不能为空', trigger: 'change' }
{required: true, message: '激活标识不能为空', trigger: 'change'}
]
}
});
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 () => {
loading.value = true;
const res = await listMasterDataDetail(queryParams.value);
const res = await listMasterDataDetail({...queryParams.value,masterDataId:masterDataId.value});
masterDataDetailList.value = res.rows;
total.value = res.total;
loading.value = false;
@ -313,7 +293,7 @@ const cancel = () => {
/** 表单重置 */
const reset = () => {
form.value = { ...initFormData };
form.value = {...initFormData};
masterDataDetailFormRef.value?.resetFields();
};
@ -359,9 +339,9 @@ const submitForm = () => {
if (valid) {
buttonLoading.value = true;
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 {
await addMasterDataDetail(form.value).finally(() => buttonLoading.value = false);
await addMasterDataDetail({...form.value,masterDataId:masterDataId.value,activeFlag:'1'}).finally(() => buttonLoading.value = false);
}
proxy?.$modal.msgSuccess('操作成功');
dialog.visible = false;
@ -387,6 +367,6 @@ const handleExport = () => {
};
onMounted(() => {
getList();
// getList();
});
</script>

Loading…
Cancel
Save