Commit 79104152 authored by renjintao's avatar renjintao

质控卡&&工艺BOM

parent 18c2822f
......@@ -18,7 +18,7 @@
</div>
</Header>
<Layout class="bottom_box" >
<nuxt-child keep-alive></nuxt-child>
<nuxt-child keep-alive ></nuxt-child>
</Layout>
</Layout>
</template>
......@@ -35,6 +35,7 @@ export default {
},
created() {
this.treeHeight = window.innerHeight - 140
},
async fetch({ store, params }) {
await store.dispatch('loadDictionary') // 加载数据字典
......
<template>
<Form ref="form" :model="entity" :rules="rules" :label-width="100">
<Row>
<!--
<Col :span="12">
<FormItem :label="l('creationTime')" prop="creationTime">
<DatePicker type="date" v-model="entity.creationTime"></DatePicker>
</FormItem>
</Col>
<Col :span="12">
<FormItem :label="l('creatorUserId')" prop="creatorUserId">
<InputNumber v-model="entity.creatorUserId"></InputNumber>
</FormItem>
</Col>
<Col :span="12">
<FormItem :label="l('lastModificationTime')" prop="lastModificationTime">
<DatePicker type="date" v-model="entity.lastModificationTime"></DatePicker>
</FormItem>
</Col>
<Col :span="12">
<FormItem :label="l('lastModifierUserId')" prop="lastModifierUserId">
<InputNumber v-model="entity.lastModifierUserId"></InputNumber>
</FormItem>
</Col>
<Col :span="12">
<FormItem :label="l('isDeleted')" prop="isDeleted">
<Input v-model="entity.isDeleted"></Input>
</FormItem>
</Col>
<Col :span="12">
<FormItem :label="l('deleterUserId')" prop="deleterUserId">
<InputNumber v-model="entity.deleterUserId"></InputNumber>
</FormItem>
</Col>
<Col :span="12">
<FormItem :label="l('deletionTime')" prop="deletionTime">
<DatePicker type="date" v-model="entity.deletionTime"></DatePicker>
</FormItem>
</Col>
<Col :span="12">
<FormItem :label="l('extend')" prop="extend">
<Input v-model="entity.extend"></Input>
</FormItem>
</Col>
<Col :span="12">
<FormItem :label="l('routingStepId')" prop="routingStepId">
<InputNumber v-model="entity.routingStepId"></InputNumber>
</FormItem>
</Col>
-->
<Col :span="12">
<FormItem :label="l('routingHeaderName')" prop="routingHeaderId">
<!--<InputNumber v-model="entity.routingHeaderId"></InputNumber>-->
181
</FormItem>
</Col>
<Col :span="12">
<FormItem :label="l('routingDetailName')" prop="routingDetailId">
<Select v-model="entity.routingDetailId">
<Option
v-for="(item,index) in routingDetailList"
:value="item.value"
:key="index"
>{{ item.label }}</Option>
</Select>
</FormItem>
</Col>
<Col :span="12">
<FormItem :label="l('checkContent')" prop="checkContent">
<Input v-model="entity.checkContent"></Input>
</FormItem>
</Col>
<Col :span="12">
<FormItem :label="l('measurementUnit')" prop="measurementUnit">
<Input v-model="entity.measurementUnit"></Input>
</FormItem>
</Col>
<Col :span="12">
<FormItem :label="l('checkType')" prop="checkType">
<Dictionary code="QC.checktype" v-model="entity.checkType"></Dictionary>
</FormItem>
</Col>
<Col :span="12">
<FormItem :label="l('fillintype')" prop="fillintype">
<Dictionary code="QC.fillintype" v-model="entity.fillintype"></Dictionary>
</FormItem>
</Col>
<Col :span="12">
<FormItem :label="l('checkParams')" prop="checkParams">
<Input v-model="entity.checkParams" type="textarea" :rows="2"></Input>
</FormItem>
</Col>
<Col :span="12">
<FormItem :label="l('qualityTemplate')" prop="qualityTemplate">
<Input v-model="entity.qualityTemplate" type="textarea" :rows="2"></Input>
</FormItem>
</Col>
<Col :span="12">
<FormItem :label="l('isphotograph')" prop="isphotograph">
<Dictionary code="Process.state" v-model="entity.isphotograph" type="radio"></Dictionary>
</FormItem>
</Col>
<Col :span="12">
<FormItem :label="l('status')" prop="status">
<Dictionary code="Process.Status" v-model="entity.status" type="radio"></Dictionary>
</FormItem>
</Col>
<Col :span="24">
<FormItem :label="l('remark')" prop="remark">
<Input v-model="entity.remark" type="textarea" :rows="2"></Input>
</FormItem>
</Col>
<Col :span="12">
<FormItem :label="l('productionRequirement')" prop="productionRequirement">
<Input v-model="entity.productionRequirement" type="textarea" :rows="2"></Input>
</FormItem>
</Col>
<Col :span="12">
<FormItem :label="l('standard')" prop="standard">
<Input v-model="entity.standard" type="textarea" :rows="2"></Input>
</FormItem>
</Col>
<Col :span="12">
<FormItem :label="l('qualityTemplateName')" prop="qualityTemplateName">
<Input v-model="entity.qualityTemplateName"></Input>
</FormItem>
</Col>
<Col :span="12">
<FormItem :label="l('isImportant')" prop="isImportant">
<Dictionary code="Process.state" v-model="entity.isImportant" type="radio"></Dictionary>
</FormItem>
</Col>
<Col :span="12">
<FormItem :label="l('firstCheck')" prop="firstCheck">
<Dictionary code="Process.state" v-model="entity.firstCheck" type="radio"></Dictionary>
</FormItem>
</Col>
<Col :span="12">
<FormItem :label="l('inspection')" prop="inspection">
<Dictionary code="Process.state" v-model="entity.inspection" type="radio"></Dictionary>
</FormItem>
</Col>
<Col :span="12">
<FormItem :label="l('inspectionTime')" prop="inspectionTime">
<InputNumber v-model="entity.inspectionTime"></InputNumber>
</FormItem>
</Col>
<Col :span="12">
<FormItem :label="l('sampling')" prop="sampling">
<Dictionary code="Process.state" v-model="entity.sampling" type="radio"></Dictionary>
</FormItem>
</Col>
<Col :span="12">
<FormItem :label="l('samplingBatch')" prop="samplingBatch">
<Input v-model="entity.samplingBatch"></Input>
</FormItem>
</Col>
</Row>
<FormItem>
<Button type="primary" @click="handleSubmit" :disabled="disabled">保存</Button>
<Button @click="handleClose" class="ml20">取消</Button>
</FormItem>
</Form>
</template>
<script>
import Api from "./api";
export default {
name: "Add",
data() {
return {
disabled: false,
entity: {
creationTime: null,
creatorUserId: null,
lastModificationTime: null,
lastModifierUserId: null,
isDeleted: null,
deleterUserId: null,
deletionTime: null,
routingHeaderId: null,
routingDetailId: null,
routingStepId: null,
checkContent: "",
checkType: null,
checkParams: "",
measurementUnit: "",
fillintype: null,
qualityTemplate: "",
isphotograph: null,
status: null,
extend: "",
remark: "",
productionRequirement: "",
standard: "",
qualityTemplateName: "",
isImportant: null,
firstCheck: null,
inspection: null,
inspectionTime: null,
sampling: null,
samplingBatch: ""
},
rules: {
name: [{ required: true, message: "必填", trigger: "blur" }]
},
routingDetailList: []
};
},
props: {
v: Object,
eid: Number
},
mounted() {
this.loadDetails();
if (this.eid > 0) {
this.load(this.eid);
}
},
methods: {
handleSubmit() {
this.$refs.form.validate(v => {
if (v) {
this.disabled = true;
Api.create(this.entity)
.then(r => {
this.disabled = false;
if (r.success) {
this.$Message.success("保存成功");
this.$emit("on-ok");
} else {
this.$Message.error("保存失败");
}
})
.catch(err => {
this.disabled = false;
this.$Message.error("保存失败");
console.warn(err);
});
}
});
},
handleClose() {
this.$emit("on-close");
},
load(v) {
Api.get({ id: v }).then(r => {
this.entity = r.result;
this.entity.id = 0;
});
},
loadDetails() {
//获取工序列表
let parms = {
headerID: 181
};
Api.pagedDetails(parms).then(r => {
let tempDetails = r.result;
let tempD = [];
tempDetails.forEach(data => {
let tempObj = {};
tempObj.value = data.id;
tempObj.label = data.name;
tempD.push(tempObj);
});
this.routingDetailList = tempD;
});
},
l(key) {
key = "routing_qc_card" + "." + key;
return this.$t(key);
}
},
watch: {
v() {
this.entity = this.$u.clone(this.v);
},
eid(v) {
if (v > 0) {
this.load(v);
}
}
}
};
</script>
import Api from '@/plugins/request'
export default {
index: `${technologyUrl}routingqccard/paged`,
paged(params) {
return Api.post(`${technologyUrl}routingqccard/paged`, params);
},
get(params) {
return Api.get(`${technologyUrl}routingqccard/get`, params);
},
create(params) {
return Api.post(`${technologyUrl}routingqccard/create`, params);
},
update(params) {
return Api.put(`${technologyUrl}routingqccard/update`, params);
},
delete(id) {
return Api.delete(`${technologyUrl}routingqccard/delete`, {
params: {
id: id
}
});
},
deletes(params) {
return Api.post(`${technologyUrl}routingqccard/batchdelete`, params);
},
pagedDetails(params) {//获取工序列表
return Api.get(`${technologyUrl}routingdetail/getlistbyheaderid`, params);
},
}
<template>
<div class="detail">
<Row>
<Filed :span="12" :name="l('routingHeaderName')">{{entity.routingHeaderId}}</Filed>
<Filed :span="12" :name="l('routingDetailName')">{{entity.routingDetailId}}</Filed>
<Filed :span="12" :name="l('routingStepId')" v-if="false">{{entity.routingStepId}}</Filed>
<Filed :span="12" :name="l('checkContent')">{{entity.checkContent}}</Filed>
<Filed :span="12" :name="l('checkType')">
<state
code="QC.checktype"
:value="entity.checkType+''"
type="text"
></state>
</Filed>
<Filed :span="24" :name="l('checkParams')">{{entity.checkParams}}</Filed>
<Filed :span="12" :name="l('measurementUnit')">{{entity.measurementUnit}}</Filed>
<Filed :span="12" :name="l('fillintype')">
<state
code="QC.fillintype"
:value="entity.fillintype+''"
type="text"
></state>
</Filed>
<Filed :span="24" :name="l('qualityTemplate')">{{entity.qualityTemplate}}</Filed>
<Filed :span="12" :name="l('isphotograph')">{{entity.isphotograph}}</Filed>
<Filed :span="12" :name="l('status')"><state
code="Process.state"
:value="entity.status+''"
type="text"
></state></Filed>
<Filed :span="12" :name="l('extend')" v-if="false">{{entity.extend}}</Filed>
<Filed :span="24" :name="l('remark')">{{entity.remark}}</Filed>
<Filed :span="24" :name="l('productionRequirement')">{{entity.productionRequirement}}</Filed>
<Filed :span="24" :name="l('standard')">{{entity.standard}}</Filed>
<Filed :span="12" :name="l('qualityTemplateName')">{{entity.qualityTemplateName}}</Filed>
<Filed :span="12" :name="l('isImportant')"><state
code="Process.state"
:value="entity.isImportant+''"
type="text"
></state></Filed>
<Filed :span="12" :name="l('firstCheck')"><state
code="Process.state"
:value="entity.firstCheck+''"
type="text"
></state></Filed>
<Filed :span="12" :name="l('inspection')"><state
code="Process.state"
:value="entity.inspection+''"
type="text"
></state></Filed>
<Filed :span="12" :name="l('inspectionTime')">{{entity.inspectionTime}}</Filed>
<Filed :span="12" :name="l('sampling')">
<state
code="Process.state"
:value="entity.sampling+''"
type="text"
></state></Filed>
<Filed :span="12" :name="l('samplingBatch')">{{entity.samplingBatch}}</Filed>
<Filed :span="12" :name="l('creationTime')">{{entity.creationTime}}</Filed>
<Filed :span="12" :name="l('creatorUserId')"><User :value="entity.creatorUserId"></User></Filed>
<Filed :span="12" :name="l('lastModificationTime')">{{entity.lastModificationTime}}</Filed>
<Filed :span="12" :name="l('lastModifierUserId')"><User v-model="entity.lastModifierUserId"></User></Filed>
<!-- <Filed :span="12" :name="l('isDeleted')">{{entity.isDeleted}}</Filed>
<Filed :span="12" :name="l('deleterUserId')">{{entity.deleterUserId}}</Filed>
<Filed :span="12" :name="l('deletionTime')">{{entity.deletionTime}}</Filed>
-->
</Row>
</div>
</template>
<script>
import Api from "./api";
export default {
name: "Add",
data() {
return {
entity: {},
rules: {
name: [{ required: true, message: "必填", trigger: "blur" }],
code: [{ required: true, message: "必填", trigger: "blur" }]
}
};
},
props: {
eid: Number
},
mounted() {
if (this.eid > 0) {
this.load(this.eid);
}
},
methods: {
load(v) {
Api.get({ id: v }).then(r => {
this.entity = r.result;
this.$emit("on-load");
});
},
handleClose() {
this.$emit("on-close");
},
l(key) {
key = "routing_qc_card" + "." + key;
return this.$t(key);
}
},
watch: {
eid(v) {
if (v > 0) {
this.load(v);
}
}
}
};
</script>
<template>
<Form ref="form" :model="entity" :rules="rules" :label-width="100">
<Row>
<!--
<Col :span="12">
<FormItem :label="l('creationTime')" prop="creationTime">
<DatePicker type="date" v-model="entity.creationTime"></DatePicker>
</FormItem>
</Col>
<Col :span="12">
<FormItem :label="l('creatorUserId')" prop="creatorUserId">
<InputNumber v-model="entity.creatorUserId"></InputNumber>
</FormItem>
</Col>
<Col :span="12">
<FormItem :label="l('lastModificationTime')" prop="lastModificationTime">
<DatePicker type="date" v-model="entity.lastModificationTime"></DatePicker>
</FormItem>
</Col>
<Col :span="12">
<FormItem :label="l('lastModifierUserId')" prop="lastModifierUserId">
<InputNumber v-model="entity.lastModifierUserId"></InputNumber>
</FormItem>
</Col>
<Col :span="12">
<FormItem :label="l('isDeleted')" prop="isDeleted">
<Input v-model="entity.isDeleted"></Input>
</FormItem>
</Col>
<Col :span="12">
<FormItem :label="l('deleterUserId')" prop="deleterUserId">
<InputNumber v-model="entity.deleterUserId"></InputNumber>
</FormItem>
</Col>
<Col :span="12">
<FormItem :label="l('deletionTime')" prop="deletionTime">
<DatePicker type="date" v-model="entity.deletionTime"></DatePicker>
</FormItem>
</Col>
<Col :span="12">
<FormItem :label="l('routingStepId')" prop="routingStepId">
<InputNumber v-model="entity.routingStepId"></InputNumber>
</FormItem>
</Col>
<Col :span="12">
<FormItem :label="l('extend')" prop="extend">
<Input v-model="entity.extend"></Input>
</FormItem>
</Col>
-->
<Col :span="12">
<FormItem :label="l('routingHeaderId')" prop="routingHeaderId">
<InputNumber v-model="entity.routingHeaderId"></InputNumber>
</FormItem>
</Col>
<Col :span="12">
<FormItem :label="l('routingDetailId')" prop="routingDetailId">
<InputNumber v-model="entity.routingDetailId"></InputNumber>
</FormItem>
</Col>
<Col :span="12">
<FormItem :label="l('checkContent')" prop="checkContent">
<Input v-model="entity.checkContent"></Input>
</FormItem>
</Col>
<Col :span="12">
<FormItem :label="l('measurementUnit')" prop="measurementUnit">
<Input v-model="entity.measurementUnit"></Input>
</FormItem>
</Col>
<Col :span="12">
<FormItem :label="l('checkType')" prop="checkType">
<Dictionary code="QC.checktype" v-model="entity.checkType"></Dictionary>
</FormItem>
</Col>
<Col :span="12">
<FormItem :label="l('fillintype')" prop="fillintype">
<Dictionary code="QC.fillintype" v-model="entity.fillintype"></Dictionary>
</FormItem>
</Col>
<Col :span="12">
<FormItem :label="l('checkParams')" prop="checkParams">
<Input v-model="entity.checkParams" type="textarea" :rows="2"></Input>
</FormItem>
</Col>
<Col :span="12">
<FormItem :label="l('qualityTemplate')" prop="qualityTemplate">
<Input v-model="entity.qualityTemplate" type="textarea" :rows="2"></Input>
</FormItem>
</Col>
<Col :span="12">
<FormItem :label="l('isphotograph')" prop="isphotograph">
<Dictionary code="Process.state" v-model="entity.isphotograph" type="radio"></Dictionary>
</FormItem>
</Col>
<Col :span="12">
<FormItem :label="l('status')" prop="status">
<Dictionary code="Process.Status" v-model="entity.status" type="radio"></Dictionary>
</FormItem>
</Col>
<Col :span="24">
<FormItem :label="l('remark')" prop="remark">
<Input v-model="entity.remark" type="textarea" :rows="2"></Input>
</FormItem>
</Col>
<Col :span="12">
<FormItem :label="l('productionRequirement')" prop="productionRequirement">
<Input v-model="entity.productionRequirement" type="textarea" :rows="2"></Input>
</FormItem>
</Col>
<Col :span="12">
<FormItem :label="l('standard')" prop="standard">
<Input v-model="entity.standard" type="textarea" :rows="2"></Input>
</FormItem>
</Col>
<Col :span="12">
<FormItem :label="l('qualityTemplateName')" prop="qualityTemplateName">
<Input v-model="entity.qualityTemplateName"></Input>
</FormItem>
</Col>
<Col :span="12">
<FormItem :label="l('isImportant')" prop="isImportant">
<Dictionary code="Process.state" v-model="entity.isImportant" type="radio"></Dictionary>
</FormItem>
</Col>
<Col :span="12">
<FormItem :label="l('firstCheck')" prop="firstCheck">
<Dictionary code="Process.state" v-model="entity.firstCheck" type="radio"></Dictionary>
</FormItem>
</Col>
<Col :span="12">
<FormItem :label="l('inspection')" prop="inspection">
<Dictionary code="Process.state" v-model="entity.inspection" type="radio"></Dictionary>
</FormItem>
</Col>
<Col :span="12">
<FormItem :label="l('inspectionTime')" prop="inspectionTime">
<InputNumber v-model="entity.inspectionTime"></InputNumber>
</FormItem>
</Col>
<Col :span="12">
<FormItem :label="l('sampling')" prop="sampling">
<Dictionary code="Process.state" v-model="entity.sampling" type="radio"></Dictionary>
</FormItem>
</Col>
<Col :span="12">
<FormItem :label="l('samplingBatch')" prop="samplingBatch">
<Input v-model="entity.samplingBatch"></Input>
</FormItem>
</Col>
</Row>
<FormItem>
<Button type="primary" @click="handleSubmit" :disabled="disabled">保存</Button>
<Button @click="handleClose" class="ml20">取消</Button>
</FormItem>
</Form>
</template>
<script>
import Api from "./api";
export default {
name: "Edit",
data() {
return {
disabled: false,
entity: {},
rules: {
name: [{ required: true, message: "必填", trigger: "blur" }]
}
};
},
props: {
eid: Number
},
mounted() {
if (this.eid > 0) {
this.load(this.eid);
}
},
methods: {
load(v) {
Api.get({ id: v }).then(r => {
this.entity = r.result;
});
},
handleSubmit() {
this.$refs.form.validate(v => {
if (v) {
this.disabled = true;
Api.update(this.entity)
.then(r => {
this.disabled = false;
if (r.success) {
this.$Message.success("保存成功");
this.$emit("on-ok");
} else {
this.$Message.error("保存失败");
}
})
.catch(err => {
this.disabled = false;
this.$Message.error("保存失败");
console.warn(err);
});
}
});
},
handleClose() {
this.$emit("on-close");
},
l(key) {
key = "routing_qc_card" + "." + key;
return this.$t(key);
}
},
watch: {
eid(v) {
if (v != 0) {
this.load(v);
}
}
}
};
</script>
<template>
<div>
<DataGrid :columns="columns" ref="grid" :action="action">
<template slot="easySearch">
<Form ref="formInline" :model="easySearch" inline>
<FormItem prop="keys">
<Input
placeholder="请输入关键字检测要求/测量单位/模板/备注/生产要求/标准指标/模板名称/抽检批次"
v-model="easySearch.keys.value"
/>
</FormItem>
<FormItem>
<Button type="primary" @click="search">查询</Button>
</FormItem>
</Form>
</template>
<template slot="searchForm">
<Search />
</template>
<template slot="buttons">
<Button type="primary" @click="add">新增</Button>
</template>
</DataGrid>
<Modal v-model="modal" :title="title" width="1200" footer-hide>
<component :is="detail" :eid="curId" @on-close="cancel" @on-ok="ok" />
</Modal>
</div>
</template>
<script>
import Api from "./api";
import Search from "./search";
export default {
name: "list",
props: ["routId"],
components: {
Search
},
head: {
title: "质检卡",
author: "henq",
description: "routing_qc_card 4/27/2020 10:31:00 AM"
},
data() {
return {
action: Api.index,
easySearch: {
keys: {
op:
"checkParams,measurementUnit,qualityTemplate,remark,productionRequirement,standard,qualityTemplateName,samplingBatch",
value: null
}
},
modal: false,
title: "新增",
detail: null,
curId: 0,
columns: [
{ key: "id", title: this.l("id"), hide: true, align: "left" },
{
key: "creationTime",
title: this.l("creationTime"),
align: "left",
high: true
},
{
key: "creatorUserId",
title: this.l("creatorUserId"),
align: "left",
high: true
},
{
key: "lastModificationTime",
title: this.l("lastModificationTime"),
align: "left",
high: true
},
{
key: "lastModifierUserId",
title: this.l("lastModifierUserId"),
align: "left",
high: true
},
{
key: "routingHeaderId",
title: this.l("routingHeaderId"),
align: "left",
high: true
},
{
key: "routingDetailId",
title: this.l("routingDetailId"),
align: "left",
high: true
},
{
key: "routingStepId",
title: this.l("routingStepId"),
align: "left",
high: true
},
{
key: "checkType",
title: this.l("checkType"),
align: "left",
high: true,
code: "QC.checktype"
},
{
key: "checkParams",
title: this.l("checkParams"),
align: "left",
easy: true,
high: true
},
{
key: "measurementUnit",
title: this.l("measurementUnit"),
align: "left",
easy: true,
high: true
},
{
key: "fillintype",
title: this.l("fillintype"),
align: "left",
high: true,
code: "QC.fillintype"
},
{
key: "qualityTemplate",
title: this.l("qualityTemplate"),
align: "left",
easy: true,
high: true
},
{
key: "isphotograph",
title: this.l("isphotograph"),
align: "left",
high: true,
code: "Process.state"
},
{
key: "status",
title: this.l("status"),
align: "left",
high: true,
code: "Process.Status"
},
{
key: "productionRequirement",
title: this.l("productionRequirement"),
align: "left",
easy: true,
high: true
},
{
key: "standard",
title: this.l("standard"),
align: "left",
easy: true,
high: true
},
{
key: "qualityTemplateName",
title: this.l("qualityTemplateName"),
align: "left",
easy: true,
high: true
},
{
key: "isImportant",
title: this.l("isImportant"),
align: "left",
high: true,
code: "Process.state"
},
{
key: "firstCheck",
title: this.l("firstCheck"),
align: "left",
high: true,
code: "Process.state"
},
{
key: "inspection",
title: this.l("inspection"),
align: "left",
high: true,
code: "Process.state"
},
{
key: "inspectionTime",
title: this.l("inspectionTime"),
align: "left",
high: true
},
{
key: "sampling",
title: this.l("sampling"),
align: "left",
high: true,
code: "Process.state"
},
{
key: "samplingBatch",
title: this.l("samplingBatch"),
align: "left",
easy: true,
high: true
},
{
title: "操作",
key: "action",
width: 140,
align: "center",
render: (h, params) => {
return h("div", { class: "action" }, [
h(
"op",
{
attrs: { oprate: "detail" },
on: { click: () => this.view(params.row.id) }
},
"查看"
),
//h('op', { attrs: { oprate: 'copy' }, on: { click: () => this.copy(params.row.id) } }, '克隆'),
h(
"op",
{
attrs: { oprate: "edit" },
on: { click: () => this.edit(params.row.id) }
},
"编辑"
),
h(
"op",
{
attrs: { oprate: "delete" },
on: { click: () => this.remove(params.row.id) }
},
"删除"
)
]);
}
}
]
};
},
mounted() {
console.log(this);
alert(this.routId)
},
async fetch({ store, params }) {
await store.dispatch("loadDictionary"); // 加载数据字典
},
methods: {
ok() {
this.$refs.grid.load();
this.modal = false;
this.curId = 0;
},
search() {
this.$refs.grid.reload(this.easySearch);
},
add() {
this.curId = 0;
this.title = "新增";
this.detail = () => import("./add");
this.modal = true;
},
copy(id) {
this.curId = id;
this.title = "克隆";
this.detail = () => import("./add");
this.modal = true;
},
view(id) {
this.curId = id;
this.title = "详情";
this.detail = () => import("./detail");
this.modal = true;
},
edit(id) {
this.curId = id;
this.title = "编辑";
this.detail = () => import("./edit");
this.modal = true;
},
remove(id) {
Api.delete(id).then(r => {
if (r.success) {
this.$refs.grid.load();
this.$Message.success("删除成功");
}
});
},
cancel() {
this.curId = 0;
this.modal = false;
},
l(key) {
let vkey = "routing_qc_card" + "." + key;
return this.$t(vkey) || key;
}
}
};
</script>
<style lang="less">
</style>
\ No newline at end of file
<template>
<Form ref="form" :model="condition" :label-width="100">
<Row>
<Col :span="12" v-if="condition.routingHeaderId.show">
<FormItem :label="l('routingHeaderId')" prop="routingHeaderId">
<Input v-model="condition.routingHeaderId.value"></Input>
</FormItem>
</Col>
<Col :span="12" v-if="condition.routingDetailId.show">
<FormItem :label="l('routingDetailId')" prop="routingDetailId">
<Input v-model="condition.routingDetailId.value"></Input>
</FormItem>
</Col>
<Col :span="12" v-if="condition.checkType.show">
<FormItem :label="l('checkType')" prop="checkType">
<Dictionary code="QC.checktype" v-model="condition.checkType.value"></Dictionary>
</FormItem>
</Col>
<Col :span="24" v-if="condition.checkParams.show">
<FormItem :label="l('checkParams')" prop="checkParams">
<Input v-model="condition.checkParams.value"></Input>
</FormItem>
</Col>
<Col :span="12" v-if="condition.measurementUnit.show">
<FormItem :label="l('measurementUnit')" prop="measurementUnit">
<Input v-model="condition.measurementUnit.value"></Input>
</FormItem>
</Col>
<Col :span="12" v-if="condition.fillintype.show">
<FormItem :label="l('fillintype')" prop="fillintype">
<Dictionary code="QC.fillintype" v-model="condition.fillintype.value"></Dictionary>
</FormItem>
</Col>
<Col :span="24" v-if="condition.qualityTemplate.show">
<FormItem :label="l('qualityTemplate')" prop="qualityTemplate">
<Input v-model="condition.qualityTemplate.value"></Input>
</FormItem>
</Col>
<Col :span="12" v-if="condition.isphotograph.show">
<FormItem :label="l('isphotograph')" prop="isphotograph">
<Dictionary code="Process.state" v-model="condition.isphotograph.value"></Dictionary>
</FormItem>
</Col>
<Col :span="12" v-if="condition.status.show">
<FormItem :label="l('status')" prop="status">
<Dictionary code="Process.Status" v-model="condition.status.value"></Dictionary>
</FormItem>
</Col>
<Col :span="24" v-if="condition.remark.show">
<FormItem :label="l('remark')" prop="remark">
<Input v-model="condition.remark.value"></Input>
</FormItem>
</Col>
<Col :span="24" v-if="condition.productionRequirement.show">
<FormItem :label="l('productionRequirement')" prop="productionRequirement">
<Input v-model="condition.productionRequirement.value"></Input>
</FormItem>
</Col>
<Col :span="24" v-if="condition.standard.show">
<FormItem :label="l('standard')" prop="standard">
<Input v-model="condition.standard.value"></Input>
</FormItem>
</Col>
<Col :span="12" v-if="condition.qualityTemplateName.show">
<FormItem :label="l('qualityTemplateName')" prop="qualityTemplateName">
<Input v-model="condition.qualityTemplateName.value"></Input>
</FormItem>
</Col>
<Col :span="12" v-if="condition.isImportant.show">
<FormItem :label="l('isImportant')" prop="isImportant">
<Dictionary code="Process.state" v-model="condition.isImportant.value"></Dictionary>
</FormItem>
</Col>
<Col :span="12" v-if="condition.firstCheck.show">
<FormItem :label="l('firstCheck')" prop="firstCheck">
<Dictionary code="Process.state" v-model="condition.firstCheck.value"></Dictionary>
</FormItem>
</Col>
<Col :span="12" v-if="condition.inspection.show">
<FormItem :label="l('inspection')" prop="inspection">
<Dictionary code="Process.state" v-model="condition.inspection.value"></Dictionary>
</FormItem>
</Col>
<Col :span="12" v-if="condition.inspectionTime.show">
<FormItem :label="l('inspectionTime')" prop="inspectionTime">
<Input v-model="condition.inspectionTime.value"></Input>
</FormItem>
</Col>
<Col :span="12" v-if="condition.sampling.show">
<FormItem :label="l('sampling')" prop="sampling">
<Dictionary code="Process.state" v-model="condition.sampling.value"></Dictionary>
</FormItem>
</Col>
<Col :span="12" v-if="condition.samplingBatch.show">
<FormItem :label="l('samplingBatch')" prop="samplingBatch">
<Input v-model="condition.samplingBatch.value"></Input>
</FormItem>
</Col>
</Row>
<Row>
<Col :span="12" v-if="condition.creationTime.show">
<FormItem :label="l('creationTime')" prop="creationTime">
<DatePicker type="daterange" v-model="condition.creationTime.value"></DatePicker>
</FormItem>
</Col>
<Col :span="12" v-if="condition.creatorUserId.show">
<FormItem :label="l('creatorUserId')" prop="creatorUserId">
<Input v-model="condition.creatorUserId.value"></Input>
</FormItem>
</Col>
<Col :span="12" v-if="condition.lastModificationTime.show">
<FormItem :label="l('lastModificationTime')" prop="lastModificationTime">
<DatePicker type="daterange" v-model="condition.lastModificationTime.value"></DatePicker>
</FormItem>
</Col>
<Col :span="12" v-if="condition.lastModifierUserId.show">
<FormItem :label="l('lastModifierUserId')" prop="lastModifierUserId">
<Input v-model="condition.lastModifierUserId.value"></Input>
</FormItem>
</Col>
<Col :span="12" v-if="condition.deletionTime.show">
<FormItem :label="l('deletionTime')" prop="deletionTime">
<DatePicker type="daterange" v-model="condition.deletionTime.value"></DatePicker>
</FormItem>
</Col>
</Row>
</Form>
</template>
<script>
import Api from "./api";
export default {
name: "Add",
data() {
return {
condition: {
creationTime: { op: "Range", value: null, show: true },
creatorUserId: { op: "Equal", value: null, show: true },
lastModificationTime: { op: "Range", value: null, show: true },
lastModifierUserId: { op: "Equal", value: null, show: true },
deletionTime: { op: "Range", value: null, show: false },
routingHeaderId: { op: "Equal", value: null, show: false },
routingDetailId: { op: "Equal", value: null, show: true },
routingStepId: { op: "Equal", value: null, show: false },
checkType: { op: "Equal", value: null, show: true },
checkParams: { op: "Equal", value: null, show: false },
measurementUnit: { op: "Equal", value: null, show: true },
fillintype: { op: "Equal", value: null, show: true },
qualityTemplate: { op: "Equal", value: null, show: false },
isphotograph: { op: "Equal", value: null, show: true },
status: { op: "Equal", value: null, show: true },
remark: { op: "Equal", value: null, show: false },
productionRequirement: { op: "Equal", value: null, show: false },
standard: { op: "Equal", value: null, show: false },
qualityTemplateName: { op: "Equal", value: null, show: true },
isImportant: { op: "Equal", value: null, show: true },
firstCheck: { op: "Equal", value: null, show: true },
inspection: { op: "Equal", value: null, show: true },
inspectionTime: { op: "Equal", value: null, show: true },
sampling: { op: "Equal", value: null, show: true },
samplingBatch: { op: "Equal", value: null, show: true }
}
};
},
methods: {
handleClose() {
this.$emit("on-close");
},
l(key) {
key = "routing_qc_card" + "." + key;
return this.$t(key);
}
}
};
</script>
<template>
<Form ref="form" :model="entity" :rules="rules" :label-width="90">
<Row>
<!--
<Col :span="12">
<FormItem :label="l('routingStepId')" prop="routingStepId">
<InputNumber v-model="entity.routingStepId"></InputNumber>
</FormItem>
</Col>
<Col :span="12">
<FormItem :label="l('materialId')" prop="materialId">
<InputNumber v-model="entity.materialId"></InputNumber>
</FormItem>
</Col>
<Col :span="12">
<FormItem :label="l('extend')" prop="extend">
<Input v-model="entity.extend"></Input>
</FormItem>
</Col>
-->
<Col :span="12">
<FormItem :label="l('routingHeaderId')" prop="routingHeaderId">
<InputNumber v-model="entity.routingHeaderId"></InputNumber>
</FormItem>
</Col>
<Col :span="12">
<FormItem :label="l('routingDetailId')" prop="routingDetailId">
<InputNumber v-model="entity.routingDetailId"></InputNumber>
</FormItem>
</Col>
<Col :span="12">
<FormItem :label="l('materialType')" prop="materialType">
<Dictionary
code="mes_xingchi_resource.material.materialReType"
v-model="entity.materialType"
></Dictionary>
</FormItem>
</Col>
<Col :span="12">
<FormItem :label="l('materialNumber')" prop="materialNumber">
<Input v-model="entity.materialNumber"></Input>
</FormItem>
</Col>
<Col :span="12">
<FormItem :label="l('nameMaterial')" prop="nameMaterial">
<Input v-model="entity.nameMaterial"></Input>
</FormItem>
</Col>
<Col :span="12">
<FormItem :label="l('quantity')" prop="quantity">
<InputNumber v-model="entity.quantity"></InputNumber>
</FormItem>
</Col>
<Col :span="12">
<FormItem :label="l('brand')" prop="brand">
<Input v-model="entity.brand"></Input>
</FormItem>
</Col>
<Col :span="12">
<FormItem :label="l('specifications')" prop="specifications">
<Input v-model="entity.specifications"></Input>
</FormItem>
</Col>
<Col :span="12">
<FormItem :label="l('xhgg')" prop="xhgg">
<Input v-model="entity.xhgg"></Input>
</FormItem>
</Col>
<Col :span="12">
<FormItem :label="l('texture')" prop="texture">
<Input v-model="entity.texture"></Input>
</FormItem>
</Col>
<Col :span="12">
<FormItem :label="l('procurementStandards')" prop="procurementStandards">
<Input v-model="entity.procurementStandards"></Input>
</FormItem>
</Col>
<Col :span="12">
<FormItem :label="l('qualityGrade')" prop="qualityGrade">
<Input v-model="entity.qualityGrade"></Input>
</FormItem>
</Col>
<Col :span="12">
<FormItem :label="l('drawNum')" prop="drawNum">
<Input v-model="entity.drawNum"></Input>
</FormItem>
</Col>
<Col :span="12">
<FormItem :label="l('state')" prop="state">
<Dictionary code="Process.state" v-model="entity.state" type="radio"></Dictionary>
</FormItem>
</Col>
<Col :span="24">
<FormItem :label="l('remark')" prop="remark">
<Input v-model="entity.remark"></Input>
</FormItem>
</Col>
</Row>
<FormItem>
<Button type="primary" @click="handleSubmit" :disabled="disabled">保存</Button>
<Button @click="handleClose" class="ml20">取消</Button>
</FormItem>
</Form>
</template>
<script>
import Api from "./api";
export default {
name: "Add",
data() {
return {
disabled: false,
entity: {
routingHeaderId: null,
routingDetailId: null,
routingStepId: null,
quantity: null,
materialId: null,
materialType: "",
materialNumber: "",
nameMaterial: "",
brand: "",
specifications: "",
xhgg: "",
texture: "",
procurementStandards: "",
qualityGrade: "",
state: null,
extend: "",
remark: "",
drawNum: ""
},
rules: {
name: [{ required: true, message: "必填", trigger: "blur" }]
}
};
},
props: {
v: Object,
eid: Number
},
mounted() {
if (this.eid > 0) {
this.load(this.eid);
}
},
methods: {
handleSubmit() {
this.$refs.form.validate(v => {
if (v) {
this.disabled = true;
Api.create(this.entity)
.then(r => {
this.disabled = false;
if (r.success) {
this.$Message.success("保存成功");
this.$emit("on-ok");
} else {
this.$Message.error("保存失败");
}
})
.catch(err => {
this.disabled = false;
this.$Message.error("保存失败");
console.warn(err);
});
}
});
},
handleClose() {
this.$emit("on-close");
},
load(v) {
Api.get({ id: v }).then(r => {
this.entity = r.result;
this.entity.id = 0;
});
},
l(key) {
key = "routingsupporting" + "." + key;
return this.$t(key);
}
},
watch: {
v() {
this.entity = this.$u.clone(this.v);
},
eid(v) {
if (v > 0) {
this.load(v);
}
}
}
};
</script>
import Api from '@/plugins/request'
export default {
index: `${technologyUrl}routingsupporting/paged`,
paged(params) {
return Api.post(`${technologyUrl}routingsupporting/paged`, params);
},
get(params) {
return Api.get(`${technologyUrl}routingsupporting/get`, params);
},
create(params) {
return Api.post(`${technologyUrl}routingsupporting/create`, params);
},
update(params) {
return Api.put(`${technologyUrl}routingsupporting/update`, params);
},
delete(id) {
return Api.delete(`${technologyUrl}routingsupporting/delete`, {
params: {
id: id
}
});
},
deletes(params) {
return Api.post(`${technologyUrl}routingsupporting/batchdelete`, params);
}
}
<template>
<div class="detail">
<Row>
<Filed :span="12" :name="l('routingHeaderId')">{{entity.routingHeaderId}}</Filed>
<Filed :span="12" :name="l('routingDetailId')">{{entity.routingDetailId}}</Filed>
<Filed :span="12" :name="l('routingStepId')">{{entity.routingStepId}}</Filed>
<Filed :span="12" :name="l('quantity')">{{entity.quantity}}</Filed>
<Filed :span="12" :name="l('materialId')">{{entity.materialId}}</Filed>
<Filed :span="12" :name="l('materialType')"><state
code="mes_xingchi_resource.material.materialReType"
:value="entity.materialType+''"
type="text"
></state></Filed>
<Filed :span="12" :name="l('materialNumber')">{{entity.materialNumber}}</Filed>
<Filed :span="12" :name="l('nameMaterial')">{{entity.nameMaterial}}</Filed>
<Filed :span="12" :name="l('brand')">{{entity.brand}}</Filed>
<Filed :span="12" :name="l('specifications')">{{entity.specifications}}</Filed>
<Filed :span="12" :name="l('xhgg')">{{entity.xhgg}}</Filed>
<Filed :span="12" :name="l('texture')">{{entity.texture}}</Filed>
<Filed :span="12" :name="l('procurementStandards')">{{entity.procurementStandards}}</Filed>
<Filed :span="12" :name="l('qualityGrade')">{{entity.qualityGrade}}</Filed>
<Filed :span="12" :name="l('state')">
<state
code="Process.state"
:value="entity.state+''"
type="text"
></state>
</Filed>
<Filed :span="12" :name="l('extend')" v-if="false">{{entity.extend}}</Filed>
<Filed :span="12" :name="l('remark')">{{entity.remark}}</Filed>
<Filed :span="12" :name="l('drawNum')">{{entity.drawNum}}</Filed>
</Row>
</div>
</template>
<script>
import Api from "./api";
export default {
name: "Add",
data() {
return {
entity: {},
rules: {
name: [{ required: true, message: "必填", trigger: "blur" }],
code: [{ required: true, message: "必填", trigger: "blur" }]
}
};
},
props: {
eid: Number
},
mounted() {
if (this.eid > 0) {
this.load(this.eid);
}
},
methods: {
load(v) {
Api.get({ id: v }).then(r => {
this.entity = r.result;
this.$emit("on-load");
});
},
handleClose() {
this.$emit("on-close");
},
l(key) {
key = "routingsupporting" + "." + key;
return this.$t(key);
}
},
watch: {
eid(v) {
if (v > 0) {
this.load(v);
}
}
}
};
</script>
<template>
<Form ref="form" :model="entity" :rules="rules" :label-width="90">
<Row>
<!--
<Col :span="12">
<FormItem :label="l('routingStepId')" prop="routingStepId">
<InputNumber v-model="entity.routingStepId"></InputNumber>
</FormItem>
</Col>
<Col :span="12">
<FormItem :label="l('materialId')" prop="materialId">
<InputNumber v-model="entity.materialId"></InputNumber>
</FormItem>
</Col>
<Col :span="12">
<FormItem :label="l('extend')" prop="extend">
<Input v-model="entity.extend"></Input>
</FormItem>
</Col>
-->
<Col :span="12">
<FormItem :label="l('routingHeaderId')" prop="routingHeaderId">
<InputNumber v-model="entity.routingHeaderId"></InputNumber>
</FormItem>
</Col>
<Col :span="12">
<FormItem :label="l('routingDetailId')" prop="routingDetailId">
<InputNumber v-model="entity.routingDetailId"></InputNumber>
</FormItem>
</Col>
<Col :span="12">
<FormItem :label="l('materialType')" prop="materialType">
<Dictionary
code="mes_xingchi_resource.material.materialReType"
v-model="entity.materialType"
></Dictionary>
</FormItem>
</Col>
<Col :span="12">
<FormItem :label="l('materialNumber')" prop="materialNumber">
<Input v-model="entity.materialNumber"></Input>
</FormItem>
</Col>
<Col :span="12">
<FormItem :label="l('nameMaterial')" prop="nameMaterial">
<Input v-model="entity.nameMaterial"></Input>
</FormItem>
</Col>
<Col :span="12">
<FormItem :label="l('quantity')" prop="quantity">
<InputNumber v-model="entity.quantity"></InputNumber>
</FormItem>
</Col>
<Col :span="12">
<FormItem :label="l('brand')" prop="brand">
<Input v-model="entity.brand"></Input>
</FormItem>
</Col>
<Col :span="12">
<FormItem :label="l('specifications')" prop="specifications">
<Input v-model="entity.specifications"></Input>
</FormItem>
</Col>
<Col :span="12">
<FormItem :label="l('xhgg')" prop="xhgg">
<Input v-model="entity.xhgg"></Input>
</FormItem>
</Col>
<Col :span="12">
<FormItem :label="l('texture')" prop="texture">
<Input v-model="entity.texture"></Input>
</FormItem>
</Col>
<Col :span="12">
<FormItem :label="l('procurementStandards')" prop="procurementStandards">
<Input v-model="entity.procurementStandards"></Input>
</FormItem>
</Col>
<Col :span="12">
<FormItem :label="l('qualityGrade')" prop="qualityGrade">
<Input v-model="entity.qualityGrade"></Input>
</FormItem>
</Col>
<Col :span="12">
<FormItem :label="l('state')" prop="state">
<Dictionary code="Process.state" v-model="entity.state" type="radio"></Dictionary>
</FormItem>
</Col>
<Col :span="12">
<FormItem :label="l('drawNum')" prop="drawNum">
<Input v-model="entity.drawNum"></Input>
</FormItem>
</Col>
<Col :span="24">
<FormItem :label="l('remark')" prop="remark">
<Input v-model="entity.remark"></Input>
</FormItem>
</Col>
</Row>
<FormItem>
<Button type="primary" @click="handleSubmit" :disabled="disabled">保存</Button>
<Button @click="handleClose" class="ml20">取消</Button>
</FormItem>
</Form>
</template>
<script>
import Api from "./api";
export default {
name: "Edit",
data() {
return {
disabled: false,
entity: {},
rules: {
name: [{ required: true, message: "必填", trigger: "blur" }]
}
};
},
props: {
eid: Number
},
mounted() {
if (this.eid > 0) {
this.load(this.eid);
}
},
methods: {
load(v) {
Api.get({ id: v }).then(r => {
this.entity = r.result;
});
},
handleSubmit() {
this.$refs.form.validate(v => {
if (v) {
this.disabled = true;
Api.update(this.entity)
.then(r => {
this.disabled = false;
if (r.success) {
this.$Message.success("保存成功");
this.$emit("on-ok");
} else {
this.$Message.error("保存失败");
}
})
.catch(err => {
this.disabled = false;
this.$Message.error("保存失败");
console.warn(err);
});
}
});
},
handleClose() {
this.$emit("on-close");
},
l(key) {
key = "routingsupporting" + "." + key;
return this.$t(key);
}
},
watch: {
eid(v) {
if (v != 0) {
this.load(v);
}
}
}
};
</script>
<template>
<div>
<DataGrid :columns="columns" ref="grid" :action="action"><template slot="easySearch"><Form ref="formInline" :model="easySearch" inline><FormItem prop="keys"><Input placeholder="请输入关键字物料类型/物料编号/物料名称/牌号/规格/型号规格/材质/采购标准/质量等级/备注/产品图号" v-model="easySearch.keys.value" /> </FormItem>
<FormItem><Button type="primary" @click="search">查询</Button></FormItem>
</Form></template>
<template slot="searchForm">
<Search />
</template>
<template slot="buttons">
<Button type="primary" @click="add">新增</Button>
</template>
</DataGrid>
<Modal v-model="modal" :title="title" width="1200" footer-hide>
<component :is="detail" :eid="curId" @on-close="cancel" @on-ok="ok" />
</Modal>
</div>
</template>
<script>
import Api from './api'
import Search from './search'
export default {
name: 'list',
components:{
Search
},
head: {
title: "工艺配套表",
author: "henq",
description: "routingsupporting 4/27/2020 10:35:33 AM",
},
data() {
return {
action: Api.index,
easySearch: {
keys:{op:"materialType,materialNumber,nameMaterial,brand,specifications,xhgg,texture,procurementStandards,qualityGrade,remark,drawNum",value:null}
},
modal: false,
title:"新增",
detail:null,
curId: 0,
columns: [
{ key:"id",title:this.l("id") ,hide:true ,align:"left" },
{ key:"creationTime",title:this.l("creationTime") ,hide:true ,align:"left" },
{ key:"creatorUserId",title:this.l("creatorUserId") ,hide:true ,align:"left" },
{ key:"lastModificationTime",title:this.l("lastModificationTime") ,hide:true ,align:"left" },
{ key:"lastModifierUserId",title:this.l("lastModifierUserId") ,hide:true ,align:"left" },
{ key:"isDeleted",title:this.l("isDeleted") ,hide:true ,align:"left" },
{ key:"deletionTime",title:this.l("deletionTime") ,hide:true ,align:"left" },
{ key:"deleterUserId",title:this.l("deleterUserId") ,hide:true ,align:"left" },
{ key:"routingHeaderId",title:this.l("routingHeaderId") ,align:"left" ,high:true },
{ key:"routingDetailId",title:this.l("routingDetailId") ,align:"left" ,high:true },
{ key:"routingStepId",title:this.l("routingStepId") ,align:"left" ,high:true },
{ key:"quantity",title:this.l("quantity") ,align:"left" ,high:true },
{ key:"materialId",title:this.l("materialId") ,align:"left" ,high:true },
{ key:"materialType",title:this.l("materialType") ,align:"left" ,easy:true ,high:true ,code:'mes_xingchi_resource.material.materialReType' },
{ key:"materialNumber",title:this.l("materialNumber") ,align:"left" ,easy:true ,high:true },
{ key:"nameMaterial",title:this.l("nameMaterial") ,align:"left" ,easy:true ,high:true },
{ key:"brand",title:this.l("brand") ,align:"left" ,easy:true ,high:true },
{ key:"specifications",title:this.l("specifications") ,align:"left" ,easy:true ,high:true },
{ key:"xhgg",title:this.l("xhgg") ,align:"left" ,easy:true ,high:true },
{ key:"texture",title:this.l("texture") ,align:"left" ,easy:true ,high:true },
{ key:"procurementStandards",title:this.l("procurementStandards") ,align:"left" ,easy:true ,high:true },
{ key:"qualityGrade",title:this.l("qualityGrade") ,align:"left" ,easy:true ,high:true },
{ key:"state",title:this.l("state") ,align:"left" ,high:true ,code:'Process.Status' },
{ key:"remark",title:this.l("remark") ,align:"left" ,easy:true ,high:true },
{ key:"drawNum",title:this.l("drawNum") ,align:"left" ,easy:true ,high:true },
{
title: '操作',
key: 'action',
width: 140,
align: 'center',
render: (h, params) => {
return h('div', { class: "action" }, [
h('op', { attrs: { oprate: 'detail' }, on: { click: () => this.view(params.row.id) } }, '查看'),
//h('op', { attrs: { oprate: 'copy' }, on: { click: () => this.copy(params.row.id) } }, '克隆'),
h('op', { attrs: { oprate: 'edit'}, on: { click: () => this.edit(params.row.id) } }, '编辑'),
h('op', { attrs: { oprate: 'delete' }, on: { click: () => this.remove(params.row.id) } }, '删除')
])
}
},
]
}
},
mounted(){
console.log(this);
},
async fetch({ store, params }) {
await store.dispatch('loadDictionary') // 加载数据字典
},
methods:{
ok() {
this.$refs.grid.load()
this.modal = false
this.curId = 0;
},
search() {
this.$refs.grid.reload(this.easySearch)
},
add() {
this.curId = 0;
this.title = "新增";
this.detail =()=> import('./add')
this.modal = true;
},
copy(id) {
this.curId = id;
this.title = "克隆";
this.detail = () =>import('./add')
this.modal = true;
},
view(id) {
this.curId = id;
this.title = "详情";
this.detail = () =>import('./detail')
this.modal = true;
},
edit(id) {
this.curId = id;
this.title = "编辑";
this.detail = () => import('./edit')
this.modal = true;
},
remove(id) {
Api.delete(id).then((r) => {
if (r.success) {
this.$refs.grid.load();
this.$Message.success('删除成功')
}
})
},
cancel() {
this.curId = 0;
this.modal = false
},
l(key) {
let vkey = "routingsupporting" + "." + key;
return this.$t(vkey)||key
}
}
}
</script>
<style lang="less">
</style>
\ No newline at end of file
<template>
<Form ref="form" :model="condition" :label-width="90">
<Row>
<Col :span="12" v-if="condition.routingHeaderId.show">
<FormItem :label="l('routingHeaderId')" prop="routingHeaderId">
<Input v-model="condition.routingHeaderId.value"></Input>
</FormItem>
</Col>
<Col :span="12" v-if="condition.routingDetailId.show">
<FormItem :label="l('routingDetailId')" prop="routingDetailId">
<Input v-model="condition.routingDetailId.value"></Input>
</FormItem>
</Col>
<Col :span="12" v-if="condition.routingStepId.show">
<FormItem :label="l('routingStepId')" prop="routingStepId">
<Input v-model="condition.routingStepId.value"></Input>
</FormItem>
</Col>
<Col :span="12" v-if="condition.materialId.show">
<FormItem :label="l('materialId')" prop="materialId">
<Input v-model="condition.materialId.value"></Input>
</FormItem>
</Col>
<Col :span="12" v-if="condition.materialType.show">
<FormItem :label="l('materialType')" prop="materialType">
<Dictionary
code="mes_xingchi_resource.material.materialReType"
v-model="condition.materialType.value"
></Dictionary>
</FormItem>
</Col>
<Col :span="12" v-if="condition.materialNumber.show">
<FormItem :label="l('materialNumber')" prop="materialNumber">
<Input v-model="condition.materialNumber.value"></Input>
</FormItem>
</Col>
<Col :span="12" v-if="condition.nameMaterial.show">
<FormItem :label="l('nameMaterial')" prop="nameMaterial">
<Input v-model="condition.nameMaterial.value"></Input>
</FormItem>
</Col>
<Col :span="12" v-if="condition.quantity.show">
<FormItem :label="l('quantity')" prop="quantity">
<Input v-model="condition.quantity.value"></Input>
</FormItem>
</Col>
<Col :span="12" v-if="condition.brand.show">
<FormItem :label="l('brand')" prop="brand">
<Input v-model="condition.brand.value"></Input>
</FormItem>
</Col>
<Col :span="12" v-if="condition.specifications.show">
<FormItem :label="l('specifications')" prop="specifications">
<Input v-model="condition.specifications.value"></Input>
</FormItem>
</Col>
<Col :span="12" v-if="condition.xhgg.show">
<FormItem :label="l('xhgg')" prop="xhgg">
<Input v-model="condition.xhgg.value"></Input>
</FormItem>
</Col>
<Col :span="12" v-if="condition.texture.show">
<FormItem :label="l('texture')" prop="texture">
<Input v-model="condition.texture.value"></Input>
</FormItem>
</Col>
<Col :span="12" v-if="condition.procurementStandards.show">
<FormItem :label="l('procurementStandards')" prop="procurementStandards">
<Input v-model="condition.procurementStandards.value"></Input>
</FormItem>
</Col>
<Col :span="12" v-if="condition.qualityGrade.show">
<FormItem :label="l('qualityGrade')" prop="qualityGrade">
<Input v-model="condition.qualityGrade.value"></Input>
</FormItem>
</Col>
<Col :span="12" v-if="condition.state.show">
<FormItem :label="l('state')" prop="state">
<Dictionary code="Process.state" v-model="condition.state.value"></Dictionary>
</FormItem>
</Col>
<Col :span="12" v-if="condition.remark.show">
<FormItem :label="l('remark')" prop="remark">
<Input v-model="condition.remark.value"></Input>
</FormItem>
</Col>
<Col :span="12" v-if="condition.drawNum.show">
<FormItem :label="l('drawNum')" prop="drawNum">
<Input v-model="condition.drawNum.value"></Input>
</FormItem>
</Col>
</Row>
</Form>
</template>
<script>
import Api from "./api";
export default {
name: "Add",
data() {
return {
condition: {
routingHeaderId: { op: "Equal", value: null, show: true },
routingDetailId: { op: "Equal", value: null, show: true },
routingStepId: { op: "Equal", value: null, show: false },
quantity: { op: "Equal", value: null, show: true },
materialId: { op: "Equal", value: null, show: false },
materialType: { op: "Equal", value: null, show: true },
materialNumber: { op: "Equal", value: null, show: true },
nameMaterial: { op: "Equal", value: null, show: true },
brand: { op: "Equal", value: null, show: true },
specifications: { op: "Equal", value: null, show: true },
xhgg: { op: "Equal", value: null, show: true },
texture: { op: "Equal", value: null, show: true },
procurementStandards: { op: "Equal", value: null, show: true },
qualityGrade: { op: "Equal", value: null, show: true },
state: { op: "Equal", value: null, show: true },
remark: { op: "Equal", value: null, show: false },
drawNum: { op: "Equal", value: null, show: true }
}
};
},
methods: {
handleClose() {
this.$emit("on-close");
},
l(key) {
key = "routingsupporting" + "." + key;
return this.$t(key);
}
}
};
</script>
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment