修改bom管理,权限页面查看显示不全

This commit is contained in:
龙运模 2024-12-06 13:17:20 +08:00
parent 098396f716
commit 052fd2a55c
7 changed files with 378 additions and 20 deletions

View File

@ -31,9 +31,9 @@
<scTable ref="table" :apiObj="list.apiObj" :column="list.column" :params="params" row-key="id" stripe :size="size" @selection-change="selectionChange"> <scTable ref="table" :apiObj="list.apiObj" :column="list.column" :params="params" row-key="id" stripe :size="size" @selection-change="selectionChange">
<el-table-column type="selection" align="center" width="40"></el-table-column> <el-table-column type="selection" align="center" width="40"></el-table-column>
<sc-table-column label="序号" align="center" type="index"></sc-table-column> <sc-table-column label="序号" align="center" type="index"></sc-table-column>
<template #disable_status="scope"> <!-- <template #disable_status="scope">-->
<el-switch :size="size" v-model="scope.row.disable_status" @change="changeSwitch($event, scope.row)" :loading="scope.row.$switch_status" :active-value="true" :inactive-value="false"></el-switch> <!-- <el-switch :size="size" v-model="scope.row.disable_status" @change="changeSwitch($event, scope.row)" :loading="scope.row.$switch_status" :active-value="true" :inactive-value="false"></el-switch>-->
</template> <!-- </template>-->
<el-table-column label="操作" fixed="right" align="center" width="160"> <el-table-column label="操作" fixed="right" align="center" width="160">
<template #default="scope"> <template #default="scope">
<el-dropdown> <el-dropdown>
@ -56,21 +56,24 @@
</el-main> </el-main>
</el-container> </el-container>
<save-dialog v-if="dialog.save" ref="saveDialog" @success="handleSuccess" @closed="dialog.save=false"></save-dialog> <save-dialog v-if="dialog.save" ref="saveDialog" @success="handleSuccess" @closed="dialog.save=false"></save-dialog>
<show-dialog v-if="dialog.show" ref="showDialog" @success="handleSuccess" @closed="dialog.show=false"></show-dialog>
</template> </template>
<script> <script>
import saveDialog from './save' import saveDialog from './save'
import showDialog from './show'
export default { export default {
name:"bom", name:"bom",
components: { components: {
saveDialog saveDialog,
showDialog
}, },
data() { data() {
return { return {
size:'small', size:'small',
dialog: { dialog: {
save: false, save: false,
show: false, show: false
}, },
list: { list: {
apiObj: this.$API.setup.bom.list, apiObj: this.$API.setup.bom.list,
@ -189,7 +192,7 @@ export default {
table_edit(row){ table_edit(row){
this.dialog.save = true this.dialog.save = true
this.$nextTick(() => { this.$nextTick(() => {
this.$refs.saveDialog.open('edit').setData(row) this.$refs.saveDialog.open('edit').setData(row);
}) })
}, },
// //

View File

@ -17,7 +17,7 @@
<el-form-item label="父项物料编码" prop="parent_material_code"> <el-form-item label="父项物料编码" prop="parent_material_code">
<el-input v-model="form.parent_material_code" placeholder="请填写父项物料编码" clearable></el-input> <el-input v-model="form.parent_material_code" placeholder="请填写父项物料编码" clearable></el-input>
</el-form-item> </el-form-item>
<el-form-item label="父项物料称" prop="parent_material_name"> <el-form-item label="父项物料称" prop="parent_material_name">
<el-input v-model="form.parent_material_name" placeholder="请填写父项物料民称" clearable></el-input> <el-input v-model="form.parent_material_name" placeholder="请填写父项物料民称" clearable></el-input>
</el-form-item> </el-form-item>
<el-form-item label="父项物料单位" prop="parent_material_unit"> <el-form-item label="父项物料单位" prop="parent_material_unit">
@ -26,14 +26,14 @@
<el-form-item label="子项物料编码" prop="child_material_code"> <el-form-item label="子项物料编码" prop="child_material_code">
<el-input v-model="form.child_material_code" placeholder="请填写子项物料编码" clearable></el-input> <el-input v-model="form.child_material_code" placeholder="请填写子项物料编码" clearable></el-input>
</el-form-item> </el-form-item>
<el-form-item label="子项物料称" prop="child_material_name"> <el-form-item label="子项物料称" prop="child_material_name">
<el-input v-model="form.child_material_name" placeholder="请填写子项物料民称" clearable></el-input> <el-input v-model="form.child_material_name" placeholder="请填写子项物料民称" clearable></el-input>
</el-form-item> </el-form-item>
<el-form-item label="子项物料单位" prop="child_material_unit"> <el-form-item label="子项物料单位" prop="child_material_unit">
<el-input v-model="form.child_material_unit" placeholder="请填写子项物料单位" clearable></el-input> <el-input v-model="form.child_material_unit" placeholder="请填写子项物料单位" clearable></el-input>
</el-form-item> </el-form-item>
<el-form-item label="项" prop="item_sequence"> <el-form-item label="" prop="item_sequence">
<el-input v-model="form.item_sequence" placeholder="请填写项" clearable></el-input> <el-input v-model="form.item_sequence" placeholder="请填写" clearable></el-input>
</el-form-item> </el-form-item>
<el-form-item label="子项类型" prop="child_material_type"> <el-form-item label="子项类型" prop="child_material_type">
<el-input v-model="form.child_material_type" placeholder="请填写子项类型" clearable></el-input> <el-input v-model="form.child_material_type" placeholder="请填写子项类型" clearable></el-input>
@ -110,7 +110,60 @@ export default {
}, },
// //
rules: { rules: {
bom_version:[
{required:true,message:"BOM版本不能为空"},
],
bom_abbreviation:[
{required:true,message:"BOM简称不能为空"},
],
bom_classification:[
{required:true,message:"BOM分类不能为空"},
],
bom_purpose:[
{required:true,message:"BOM用途不能为空"},
],
parent_material_code:[
{required:true,message:"父项物料编码不能为空"},
],
parent_material_name:[
{required:true,message:"父项物料名称不能为空"},
],
parent_material_unit:[
{required:true,message:"父项物料单位不能为空"},
],
child_material_code:[
{required:true,message:"子项物料编码不能为空"},
],
child_material_name:[
{required:true,message:"子项物料名称不能为空"},
],
child_material_unit:[
{required:true,message:"子项物料单位不能为空"},
],
item_sequence:[
{required:true,message:"项次不能为空"},
],
child_material_type:[
{required:true,message:"子项类型不能为空"},
],
usage_numerator:[
{required:true,message:"用量分子不能为空"},
],
usage_denominator:[
{required:true,message:"用量分母不能为空"},
],
create_org_code:[
{required:true,message:"创建组织编码不能为空"},
],
create_org_name:[
{required:true,message:"创建组织名称不能为空"},
],
use_org_code:[
{required:true,message:"使用组织编码不能为空"},
],
use_org_name:[
{required:true,message:"使用组织名称不能为空"},
]
}, },
} }
}, },
@ -143,7 +196,8 @@ export default {
}, },
// //
setData(data){ setData(data){
this.form.id = data.id Object.assign(this.form,data);
// this.form.id = data.id
} }
} }
} }

View File

@ -0,0 +1,275 @@
<template>
<el-dialog :title="titleMap[mode]" v-model="visible" :width="800" draggable destroy-on-close @closed="$emit('closed')">
<el-scrollbar max-height="500" style="padding: 0 20px;">
<el-form class="form" :model="form" :rules="rules" :disabled="mode=='show'" ref="dialogForm" label-width="110px" label-position="right">
<el-row>
<el-col :span="12">
<el-form-item label="BOM版本" prop="bom_version">
{{form.bom_version}}
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="BOM简称" prop="bom_abbreviation">
{{form.bom_abbreviation}}
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<el-form-item label="BOM分类" prop="bom_classification">
{{form.bom_classification}}
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="BOM用途" prop="bom_purpose">
{{form.bom_purpose}}
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<el-form-item label="父项物料编码" prop="parent_material_code">
{{form.parent_material_code}}
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="父项物料名称" prop="parent_material_name">
{{form.parent_material_name}}
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<el-form-item label="父项物料单位" prop="parent_material_unit">
{{form.parent_material_unit}}
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="子项物料编码" prop="child_material_code">
{{form.child_material_code}}
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<el-form-item label="子项物料名称" prop="child_material_name">
{{form.child_material_name}}
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="子项物料单位" prop="child_material_unit">
{{form.child_material_unit}}
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<el-form-item label="项次" prop="item_sequence">
{{form.item_sequence}}
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="子项类型" prop="child_material_type">
{{form.child_material_type}}
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<el-form-item label="用量分子" prop="usage_numerator">
{{form.usage_numerator}}
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="用量分母" prop="usage_denominator">
{{form.usage_denominator}}
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<el-form-item label="创建组织编码" prop="create_org_code">
{{form.create_org_code}}
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="创建组织名称" prop="create_org_name">
{{form.create_org_name}}
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<el-form-item label="使用组织编码" prop="use_org_code">
{{form.use_org_code}}
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="使用组织名称" prop="use_org_name">
{{form.use_org_name}}
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<el-form-item label="单据状态" prop="document_status">
{{form.document_status}}
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="禁用状态" prop="disable_status">
{{form.disable_status}}
</el-form-item>
</el-col>
</el-row>
</el-form>
</el-scrollbar>
<template #footer>
<el-button @click="visible=false" > </el-button>
</template>
</el-dialog>
</template>
<script>
export default {
emits: ['success', 'closed'],
data() {
return {
mode: "show",
titleMap: {
show: '查看BOM',
},
visible: false,
isSave: false,
//
form: {
id:"",
bom_version:"",
bom_abbreviation:"",
bom_classification:"",
bom_purpose:"",
parent_material_code:"",
parent_material_name:"",
parent_material_unit:"",
child_material_code:"",
child_material_name:"",
child_material_unit:"",
item_sequence:"",
child_material_type:"",
usage_numerator:"",
usage_denominator:"",
create_org_code:"",
create_org_name:"",
use_org_code:"",
use_org_name:"",
document_status:"",
disable_status:""
},
//
rules: {
bom_version:[
{required:true,message:"BOM版本不能为空"},
],
bom_abbreviation:[
{required:true,message:"BOM简称不能为空"},
],
bom_classification:[
{required:true,message:"BOM分类不能为空"},
],
bom_purpose:[
{required:true,message:"BOM用途不能为空"},
],
parent_material_code:[
{required:true,message:"父项物料编码不能为空"},
],
parent_material_name:[
{required:true,message:"父项物料名称不能为空"},
],
parent_material_unit:[
{required:true,message:"父项物料单位不能为空"},
],
child_material_code:[
{required:true,message:"子项物料编码不能为空"},
],
child_material_name:[
{required:true,message:"子项物料名称不能为空"},
],
child_material_unit:[
{required:true,message:"子项物料单位不能为空"},
],
item_sequence:[
{required:true,message:"项次不能为空"},
],
child_material_type:[
{required:true,message:"子项类型不能为空"},
],
usage_numerator:[
{required:true,message:"用量分子不能为空"},
],
usage_denominator:[
{required:true,message:"用量分母不能为空"},
],
create_org_code:[
{required:true,message:"创建组织编码不能为空"},
],
create_org_name:[
{required:true,message:"创建组织名称不能为空"},
],
use_org_code:[
{required:true,message:"使用组织编码不能为空"},
],
use_org_name:[
{required:true,message:"使用组织名称不能为空"},
]
},
}
},
mounted() {
},
methods: {
//
open(mode='add'){
this.mode = mode;
this.visible = true;
return this
},
//
submit(){
this.$refs.dialogForm.validate(async (valid) => {
if (valid) {
this.isSave = true;
const res = await this.$API.setup.bom.add.post(this.form);
this.isSave = false;
if(res.code == 200){
this.$emit('success', this.form, this.mode)
this.visible = false;
this.$message.success("操作成功")
}
}else{
return false;
}
})
},
//
setData(data){
Object.assign(this.form,data);
}
}
}
</script>
<style lang="scss" scoped>
.form{
.cardBoxForm{
border-bottom: 1px solid #f7f7f7;
.title{
padding: 15px 0 8px 18px;
font-weight: bold;
}
}
.cardBoxForm:last-child{
border-bottom: 0;
}
}
</style>

View File

@ -31,7 +31,12 @@
<div class="tdName authority"> <div class="tdName authority">
<div class="childTr"> <div class="childTr">
<div class="preBox" v-for="(li,lidex) in em.meta.data_permission" :key="lidex"> <div class="preBox" v-for="(li,lidex) in em.meta.data_permission" :key="lidex">
<el-checkbox @change="checkChange(item,em)" v-model="li.checked" :size="size">{{li.title}}</el-checkbox> <span v-if="li.title.length<9">
<el-checkbox @change="checkChange(item,em)" v-model="li.checked" :size="size"><span class="name">{{li.title}}</span></el-checkbox>
</span>
<el-tooltip :content="li.title" placement="top" v-else>
<el-checkbox @change="checkChange(item,em)" v-model="li.checked" :size="size"><span class="name">{{li.title}}</span></el-checkbox>
</el-tooltip>
</div> </div>
</div> </div>
</div> </div>
@ -351,6 +356,14 @@ export default {
flex-wrap: wrap; flex-wrap: wrap;
margin-right: 20px; margin-right: 20px;
width: 110px; width: 110px;
.name{
width: 100px;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
display: block;
text-align: left;
}
} }
} }
} }

View File

@ -24,7 +24,12 @@
<div class="nextTd"> <div class="nextTd">
<div class="tdName authority"> <div class="tdName authority">
<div class="boxName" v-for="(li,ind) in em.meta.data_permission" :key="ind"> <div class="boxName" v-for="(li,ind) in em.meta.data_permission" :key="ind">
<el-checkbox v-model="li.checked" :size="size" @change="checkChange(item,em)"><span class="name">{{li.title}}</span></el-checkbox> <span v-if="li.title.length<9">
<el-checkbox v-model="li.checked" :size="size" @change="checkChange(item,em)"><span class="name">{{li.title}}</span></el-checkbox>
</span>
<el-tooltip :content="li.title" placement="top" v-else>
<el-checkbox v-model="li.checked" :size="size" @change="checkChange(item,em)"><span class="name">{{li.title}}</span></el-checkbox>
</el-tooltip>
</div> </div>
</div> </div>
</div> </div>

View File

@ -3,8 +3,6 @@
<el-header> <el-header>
<div class="left-panel"> <div class="left-panel">
<el-button type="primary" v-auth="'addRoles'" :size="size" icon="el-icon-plus" @click="add">新增角色</el-button> <el-button type="primary" v-auth="'addRoles'" :size="size" icon="el-icon-plus" @click="add">新增角色</el-button>
<!--<el-button type="danger" :size="size" plain icon="el-icon-delete" :disabled="roleCheckList.length==0" @click="batch_del"></el-button>-->
<!--<el-button type="primary" :size="size" plain :disabled="roleCheckList.length!=1" @click="permission">权限设置</el-button>-->
</div> </div>
<div class="right-panel"> <div class="right-panel">
@ -13,9 +11,6 @@
<el-container class="mainBox" style="border-radius: 0;padding-left: 0;padding-right: 0;"> <el-container class="mainBox" style="border-radius: 0;padding-left: 0;padding-right: 0;">
<el-aside width="200px" v-loading="showGroupLoading"> <el-aside width="200px" v-loading="showGroupLoading">
<el-container> <el-container>
<!-- <el-header>-->
<!-- <el-input placeholder="输入关键字进行过滤" :size="size" v-model="groupFilterText" clearable></el-input>-->
<!-- </el-header>-->
<el-main class="treeMain nopadding"> <el-main class="treeMain nopadding">
<el-scrollbar> <el-scrollbar>
<role-sort ref="roleSort" :role_id="role_id" :column="group" @roleChange="groupChange" @roleClick="roleClick" @roleEdit="table_edit" @roleDelete="table_del"></role-sort> <role-sort ref="roleSort" :role_id="role_id" :column="group" @roleChange="groupChange" @roleClick="roleClick" @roleEdit="table_edit" @roleDelete="table_del"></role-sort>

View File

@ -38,7 +38,12 @@
<div class="tdName authority"> <div class="tdName authority">
<div class="childTr"> <div class="childTr">
<div class="preBox" v-for="(li,lidex) in em.meta.data_permission" :key="lidex"> <div class="preBox" v-for="(li,lidex) in em.meta.data_permission" :key="lidex">
<el-checkbox @change="checkChange(item,em,li)" v-model="li.checked" :disabled="showPermission" :size="size">{{li.title}}</el-checkbox> <span v-if="li.title.length < 9">
<el-checkbox @change="checkChange(item,em,li)" v-model="li.checked" :disabled="showPermission" :size="size"><span class="name">{{li.title}}</span></el-checkbox>
</span>
<el-tooltip :content="li.title" placement="top" v-else>
<el-checkbox @change="checkChange(item,em,li)" v-model="li.checked" :disabled="showPermission" :size="size"><span class="name">{{li.title}}</span></el-checkbox>
</el-tooltip>
</div> </div>
</div> </div>
</div> </div>
@ -236,6 +241,14 @@ export default {
flex-wrap: wrap; flex-wrap: wrap;
margin-right: 20px; margin-right: 20px;
width: 110px; width: 110px;
.name{
width: 100px;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
display: block;
text-align: left;
}
} }
} }
} }