This commit is contained in:
caoqianming 2024-08-07 16:36:17 +08:00
commit e7a3ad5b19
6 changed files with 184 additions and 65 deletions

View File

@ -147,6 +147,12 @@ export default {
);
},
},
cates: {
name: "产品系列",
req: async function (data) {
return await http.get(`${config.API_URL}/mtm/material/cates/`, data);
},
},
},
// 工段
mgroup: {

View File

@ -35,13 +35,31 @@
prop="name"
min-width="100"
></el-table-column>
<el-table-column label="标签" prop="tags">
<el-table-column
label="字段类型"
prop="field_type"
min-width="100"
>
<template #default="scope">
<span v-for="item in scope.row.tags" :key="item"
>{{ item }}</span
>
<span>{{ type_[scope.row.field_type] }}</span>
</template>
</el-table-column>
<el-table-column label="检验类型">
<template #default="scope">
<span v-for="item in scope.row.tags" :key="item"
>{{ tags_[item] }}</span>
</template>
</el-table-column>
<el-table-column
label="物料系列标签"
prop="mcate_tags"
min-width="100"
></el-table-column>
<el-table-column
label="编号"
prop="number"
min-width="100"
></el-table-column>
<el-table-column
label="描述"
prop="description"
@ -113,15 +131,17 @@ export default {
save: false,
},
query: {},
types_: {
0: "电/水/气",
10: "成品",
20: "半成品",
30: "主要原料",
40: "辅助材料",
50: "加工工具",
60: "辅助工装",
70: "办公用品",
type_: {
"input-int":"整数",
"input-number":"小数",
"input-text":"文本",
"select":"单选",
"selects":"多选"
},
tags_:{
"first":"首件检验",
"prod":"成品检验",
"performance":"性能检验"
},
};
},

View File

@ -13,7 +13,7 @@
:model="form"
:rules="rules"
label-position="right"
label-width="80px"
label-width="100px"
style="padding: 0 10px"
>
<el-row>
@ -25,6 +25,100 @@
></el-input>
</el-form-item>
</el-col>
<el-col :md="12" :sm="24">
<el-form-item label="字段类型">
<el-select
v-model="form.field_type"
placeholder="字段类型"
clearable
style="width: 100%"
>
<el-option
v-for="item in options"
:key="item.value"
:label="item.name"
:value="item.value"
>
</el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="24">
<el-form-item label="检验类型">
<el-checkbox-group v-model="form.tags">
<el-checkbox
v-for="item in tagsOptions"
:key="item.value"
:label="item.name"
:value="item.value"/>
</el-checkbox-group>
</el-form-item>
</el-col>
<el-col :span="24">
<el-form-item label="物料系列标签">
<el-checkbox-group v-model="form.mcate_tags">
<el-checkbox
v-for="item in mcateTagsOptions"
:key="item"
:label="item"
:value="item"/>
</el-checkbox-group>
<!-- <el-select
v-model="form.mcate_tags"
placeholder="物料系列标签"
clearable
multiple
style="width: 100%"
>
<el-option
v-for="item in mcateTagsOptions"
:key="item"
:label="item"
:value="item"
>
</el-option>
</el-select> -->
</el-form-item>
</el-col>
</el-row>
<el-row v-if="form.field_type == 'select'||form.field_type == 'selects'">
<el-col :span="24">
<el-form-item label="选项">
<el-button icon="el-icon-circle-plus" text @click="addComponent('choices')">
添加
</el-button>
</el-form-item>
</el-col>
<template
v-for="(item, $index) in form.choices"
:key="$index"
>
<el-col :md="7" :sm="10">
<el-form-item label-width="80px">
<el-input
v-model="form.choices[$index]"
clearable
></el-input>
</el-form-item>
</el-col>
<el-col :md="1" :sm="2">
<div style="text-align: center">
<el-button type="danger" icon="el-icon-remove" text @click="delComponent($index,'choices')">
</el-button>
</div>
</el-col>
</template>
</el-row>
<el-row>
<el-col :md="12" :sm="24">
<el-form-item label="编号">
<el-input
v-model="form.number"
clearable
></el-input>
</el-form-item>
</el-col>
<el-col :md="12" :sm="24">
<el-form-item label="描述">
<el-input
@ -42,38 +136,6 @@
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="24">
<el-form-item label="标签">
<el-button type="primary" @click="addComponent">
添加
</el-button>
</el-form-item>
</el-col>
<template
v-for="(item, $index) in form.tags"
:key="$index"
>
<el-col :md="11" :sm="20">
<el-form-item>
<el-input
v-model="form.tags[$index]"
clearable
></el-input>
</el-form-item>
</el-col>
<el-col :md="1" :sm="2">
<div style="text-align: center">
<el-icon
color="red"
@click="delComponent($index)"
>
<CircleCloseFilled />
</el-icon>
</div>
</el-col>
</template>
</el-row>
</el-form>
</el-main>
<el-footer>
@ -91,7 +153,9 @@ const defaultForm = {
name: "",
description: "",
sort: 1,
tags: [""],
tags: [],
mcate_tags: [],
choices: [""],
};
export default {
emits: ["success", "closed"],
@ -114,19 +178,37 @@ export default {
},
visible: false,
isSaveing: false,
options: [],
options: [
{value:"input-int",name:"整数"},
{value:"input-number",name:"小数"},
{value:"input-text",name:"文本"},
{value:"select",name:"单选"},
{value:"selects",name:"多选"},
],
tagsOptions: [
{value:"first",name:"首件检验"},
{value:"prod",name:"成品检验"},
{value:"performance",name:"性能检验"},
],
mcateTagsOptions: [],
processOptions: [],
setFiltersVisible: false,
};
},
mounted() {},
mounted() {
this.getmcateTagsOptions();
},
methods: {
addComponent() {
this.form.tags.push("");
getmcateTagsOptions() {
this.$API.mtm.material.cates.req().then((res) => {
this.mcateTagsOptions = res;
});
},
delComponent(index) {
this.form.tags.splice(index, 1);
console.log("this.form.tags:", this.form.tags);
addComponent(type) {
this.form[type].push("");
},
delComponent(index,type) {
this.form[type].splice(index, 1);
},
//
open(mode = "add") {

View File

@ -55,13 +55,17 @@
v-model="form.cate"
placeholder="物料系列"
clearable
allow-create
filterable
default-first-option
:reserve-keyword="false"
style="width: 100%"
>
<el-option
v-for="item in cateOptions"
:key="item.id"
:label="item.name"
:value="item.id"
:key="item"
:label="item"
:value="item"
></el-option>
</el-select>
</el-form-item>
@ -244,12 +248,12 @@ export default {
},
visible: false,
isSaveing: false,
cateOptions: [
{ id: "bang", name: "棒" },
{ id: "guan", name: "管" },
{ id: "bangguan", name: "棒管" },
{ id: "huiliao", name: "混料" },
],
// cateOptions: [
// { id: "bang", name: "" },
// { id: "guan", name: "" },
// { id: "bangguan", name: "" },
// { id: "huiliao", name: "" },
// ],
options: [
{ id: 0, name: "电/水/气" },
{ id: 10, name: "成品" },
@ -270,8 +274,15 @@ export default {
},
mounted() {
this.getProcessOptions();
this.getMaterialCate();
},
methods: {
getMaterialCate() {
this.$API.mtm.material.cates.req({ page: 0 }).then((res) => {
this.cateOptions = res;
});
},
getProcessOptions() {
this.$API.mtm.process.list.req({ page: 0 }).then((res) => {
this.processOptions = res;

View File

@ -304,7 +304,7 @@ export default {
getTextItem() {
let that = this;
that.$API.qm.getTestItem
.get({ tag: "performance", page: 0 })
.get({ tags__contains: "performance", page: 0 })
.then((res) => {
that.behaviors = res;
that.query.testitem = res[0].id;

View File

@ -252,7 +252,7 @@ export default {
getTextItem() {
let that = this;
that.$API.qm.getTestItem
.get({ tag: "first", page: 0 })
.get({ tags__contains: "first", page: 0 })
.then((res) => {
console.log(res);
let ftestitems = [];