Commit 69eb19e7 authored by 周远喜's avatar 周远喜

Merge branch 'master' of http://git.mes123.com/zhouyx/mes-ui

parents e9f103ea 27ee0d2c
<template> <template>
<div class="orderDetail"> <div class="orderDetail">
<Row> <Row>
<Col span="8"> <Col span="8">
<span class="fwBold">{{l('mesCode')}}</span> <span class="fwBold">{{ l("mesCode") }}</span>
<p>{{baseData.mesCode}}</p> <p>{{ baseData.mesCode }}</p>
</Col> </Col>
<Col span="8"> <Col span="8">
<span class="fwBold">{{l('taskType')}}</span> <span class="fwBold">{{ l("taskType") }}</span>
<p> <p>
<state code="plan.order.taskType" :value="baseData.taskType" type="text"></state> <state
code="plan.order.taskType"
:value="baseData.taskType"
type="text"
></state>
</p> </p>
</Col> </Col>
<Col span="8"> <Col span="8">
<span class="fwBold">{{l('quantity')}}</span> <span class="fwBold">{{ l("quantity") }}</span>
<p>{{baseData.quantity}}</p> <p>{{ baseData.quantity }}</p>
</Col> </Col>
</Row> </Row>
<Row> <Row>
<Col span="8"> <Col span="8">
<span class="fwBold">{{l('status')}}</span> <span class="fwBold">{{ l("status") }}</span>
<p> <p>
<state code="plan.order.status" :value="baseData.status" type="text"></state> <state
code="plan.order.status"
:value="baseData.status"
type="text"
></state>
</p> </p>
</Col> </Col>
<Col span="8"> <Col span="8">
<span class="fwBold">{{l('productName')}}</span> <span class="fwBold">{{ l("productName") }}</span>
<p>{{baseData.productName}}</p> <p>{{ baseData.productName }}</p>
</Col> </Col>
<Col span="8"> <Col span="8">
<span class="fwBold">{{l('drawnNumber')}}</span> <span class="fwBold">{{ l("drawnNumber") }}</span>
<p>{{baseData.drawnNumber}}</p> <p>{{ baseData.drawnNumber }}</p>
</Col> </Col>
</Row> </Row>
<Row> <Row>
<Col span="8"> <Col span="8">
<span class="fwBold">{{l('batchNumber')}}</span> <span class="fwBold">{{ l("batchNumber") }}</span>
<p>{{baseData.batchNumber}}</p> <p>{{ baseData.batchNumber }}</p>
</Col> </Col>
<Col span="8"> <Col span="8">
<span class="fwBold">{{l('projectNumber')}}</span> <span class="fwBold">{{ l("projectNumber") }}</span>
<p>{{baseData.projectNumber}}</p> <p>{{ baseData.projectNumber }}</p>
</Col> </Col>
<Col span="8"> <Col span="8">
<span class="fwBold">{{l('urgencyLevel')}}</span> <span class="fwBold">{{ l("urgencyLevel") }}</span>
<p> <p>
<state code="plan.order.urgencyLevel" :value="baseData.urgencyLevel" type="text"></state> <state
code="plan.order.urgencyLevel"
:value="baseData.urgencyLevel"
type="text"
></state>
</p> </p>
</Col> </Col>
</Row> </Row>
<Row> <Row>
<Col span="8"> <Col span="8">
<span class="fwBold">{{l('demandStartDate')}}</span> <span class="fwBold">{{ l("demandStartDate") }}</span>
<p> <p>
<DTSpan type="date" v-model="baseData.demandStartDate"></DTSpan> <DTSpan type="date" v-model="baseData.demandStartDate"></DTSpan>
</p> </p>
</Col> </Col>
<Col span="8"> <Col span="8">
<span class="fwBold">{{l('demandFinishDate')}}</span> <span class="fwBold">{{ l("demandFinishDate") }}</span>
<p> <p>
<DTSpan type="date" v-model="baseData.demandFinishDate"></DTSpan> <DTSpan type="date" v-model="baseData.demandFinishDate"></DTSpan>
</p> </p>
</Col> </Col>
<Col span="8"> <Col span="8">
<span class="fwBold">{{l('taskRequire')}}</span> <span class="fwBold">{{ l("taskRequire") }}</span>
<p>{{baseData.taskRequire}}</p> <p>{{ baseData.taskRequire }}</p>
</Col> </Col>
</Row> </Row>
<Row class="lastRow"> <Row class="lastRow">
<Col span="24"> <Col span="24">
<span class="fwBold">{{l('remark')}}</span> <span class="fwBold">{{ l("remark") }}</span>
<p>{{baseData.remark}}</p> <p>{{ baseData.remark }}</p>
</Col> </Col>
</Row> </Row>
</div>
</div>
</template> </template>
<script> <script>
export default { export default {
props: ['baseData'], props: ["baseData"],
data() { data() {
return { return {
themeBg: 'light', themeBg: "light",
basicData: {}, basicData: {},
} };
}, },
methods: { methods: {
l(key) { l(key) {
key = "mes_plan" + "." + key; key = "mes_plan" + "." + key;
return this.$t(key); return this.$t(key);
}
}, },
} },
};
</script> </script>
<style lang="less"> <style lang="less">
.orderDetail { .orderDetail {
line-height: 30px; line-height: 30px;
width: 90%; width: 100%;
margin: 0 auto; margin: 0 auto;
.ivu-row { .ivu-row {
padding-top: 20px; padding-top: 20px;
padding-bottom: 20px; padding-bottom: 20px;
margin-right: 25px;
border-bottom: #ccc solid 1px; border-bottom: #ccc solid 1px;
} }
......
<template> <template>
<div class> <div class>
<Tabs :animated="false" @on-click="tabChange" value="1"> <Tabs :animated="false" @on-click="tabChange" value='1'>
<TabPane label="工艺信息" name="1"> <TabPane label="工艺信息" name="1">
<Form :model="craftData" :label-width="130" inline> <Form :model="craftData" :label-width="130" inline>
<Row> <Row>
...@@ -74,25 +74,27 @@ ...@@ -74,25 +74,27 @@
</Form> </Form>
</TabPane> --> </TabPane> -->
<TabPane label="质量信息" name="3"> <TabPane label="质量信息" name="3">
<orderqcrecord ref="orderqcrecord1" :items="items"/> <Orderqcrecord ref="orderqcrecord1" :items="items" />
</TabPane> </TabPane>
<TabPane label="配套数据" name="4"> <TabPane label="配套数据" name="4">
<!-- <orderqcrecord ref="orderqcrecord1" /> --> <Matching ref="matching" :items="items" />
</TabPane> </TabPane>
</Tabs> </Tabs>
</div> </div>
</template> </template>
<script> <script>
import service from "@/plugins/request"; import service from "@/plugins/request";
import orderqcrecord from "./orderqcrecord.vue"; import Orderqcrecord from "./orderqcrecord.vue";
import Matching from "./matching.vue";
export default { export default {
components: { orderqcrecord }, components: { Orderqcrecord, Matching },
props: { props: {
baseData: { baseData: {
type: [String, Number, Array, Object], type: [String, Number, Array, Object],
}, },
items: { items: {
mesCodeId: { orderId: {
type: Number, type: Number,
}, },
headerid: { headerid: {
...@@ -108,8 +110,9 @@ export default { ...@@ -108,8 +110,9 @@ export default {
}, },
data() { data() {
return { return {
selectName: "1",
themeBg: "light", themeBg: "light",
craftData:this.items.craftData, //工艺信息 craftData: this.items.craftData, //工艺信息
equipmentData: {}, //设备信息 equipmentData: {}, //设备信息
headerid: "", //暂存传字段 headerid: "", //暂存传字段
routingType: "", //工艺类型(主/专业) routingType: "", //工艺类型(主/专业)
...@@ -121,22 +124,22 @@ export default { ...@@ -121,22 +124,22 @@ export default {
}, },
methods: { methods: {
// 获取设备信息 10020 /equipinfo/getlistall // 获取设备信息 10020 /equipinfo/getlistall
getlistall(equipids) { // getlistall(equipids) {
let url02 = `${systemUrl}/equipinfo/getlistall?equipids=` + equipids; // let url02 = `${systemUrl}/equipinfo/getlistall?equipids=` + equipids;
service.get(`${url02}`).then((res) => { // service.get(`${url02}`).then((res) => {
if (res.success) { // if (res.success) {
if (res.result.length != 0) { // if (res.result.length != 0) {
this.equipmentData = res.result[0]; // this.equipmentData = res.result[0];
} else { // } else {
this.equipmentData = []; // this.equipmentData = [];
console.log("获取主工艺设备信息为空."); // console.log("获取主工艺设备信息为空.");
} // }
} else { // } else {
this.equipmentData = []; // this.equipmentData = [];
console.log("获取主工艺设备数据失败."); // console.log("获取主工艺设备数据失败.");
} // }
}); // });
}, // },
getqc(executeid) { getqc(executeid) {
this.$refs.orderqcrecord1.qcdatasearch.execute_id = executeid; this.$refs.orderqcrecord1.qcdatasearch.execute_id = executeid;
}, },
...@@ -146,22 +149,22 @@ export default { ...@@ -146,22 +149,22 @@ export default {
this.$refs.orderqcrecord1.qcdatasearch.SkipCount = 0; this.$refs.orderqcrecord1.qcdatasearch.SkipCount = 0;
this.$refs.orderqcrecord1.onqcpage(); this.$refs.orderqcrecord1.onqcpage();
}, },
tabChange() { tabChange(name) {
// console.log("切换tab") console.log(name)
}, },
}, },
mounted() {}, mounted() {},
watch: { // watch: {
baseData: { // baseData: {
handler(v, o) { // handler(v, o) {
// this.pamasId = v.id // // this.pamasId = v.id
// console.log(v.id) // // console.log(v.id)
// this.loaddata(v.id) // // this.loaddata(v.id)
// console.info(o.id) // // console.info(o.id)
}, // },
deep: true, // deep: true,
}, // },
}, // },
}; };
</script> </script>
<style scoped> <style scoped>
......
<template>
<div>
<Table border :columns="cols" :data="datas" class="tableCommon"> </Table>
</div>
</template>
<script>
import service from "@/plugins/request";
export default {
data() {
return {
datas: [],
cols: [
{
key: "routingDetailNo",
title: this.l("routingDetailNo"),
align: "left",
width: 80,
},
{
key: "routingDetailName",
title: this.l("routingDetailName"),
align: "left",
},
{
key: "nameMaterial",
title: this.l("nameMaterial"),
align: "left",
},
{
key: "materialNumber",
title: this.l("materialNumber"),
align: "left",
width: 150,
},
{
key: "totalCount",
title: this.l("totalCount"),
align: "left",
},
{
key: "applicationNumber",
title: this.l("applicationNumber"),
align: "right",
},
{
key: "",
title: this.l("count3"),
align: "right",
width: 150,
width: 150,
render: (h, params) => {
return h(
"div",
{},
params.row.receiveNumber + "/" + params.row.outStockNumber
);
},
},
{
key: "creatorUserId",
title: "领用人",
align: "center",
width: 150,
render: (h, params) => {
if (params.row.creatorUserId) {
return h("User", {
props: {
value: params.row.creatorUserId,
},
});
}
},
},
// {
// key: "remark",
// title: this.l("remark"),
// align: "left",
// },
],
};
},
async fetch({ store, params }) {
await store.dispatch("loadDictionary"); // 加载数据字典
},
props: {
items: {
orderId: {
type: Number,
},
headerid: {
type: Number,
},
routingType: {
type: Number,
},
craftData: {
type: Object,
},
},
},
mounted() {
this.matchdetail();
},
methods: {
matchdetail() {
//配套审核单列表
let orderId = this.items.orderId;
let url = `${technologyUrl}materiallist/matchdetaillist?id=` + orderId;
service.get(`${url}`).then((res) => {
if (res.result) {
this.datas = [];
let suport = [];
res.result.forEach((e, index) => {
// console.log(e);
if (this.items.headerid == e.routingHeaderId) {
suport = e.suport;
this.datas = suport;
}
});
}
// console.log(this.datas);
});
},
l(key) {
let vkey = "support_item" + "." + key;
return this.$t(vkey) || key;
},
},
};
</script>
\ No newline at end of file
...@@ -159,7 +159,7 @@ export default { ...@@ -159,7 +159,7 @@ export default {
components: { entryrecordfiles, entryrecordMovie, entryrecorddata }, components: { entryrecordfiles, entryrecordMovie, entryrecorddata },
props: { props: {
items: { items: {
mesCodeId: { orderId: {
type: Number, type: Number,
}, },
headerid: { headerid: {
...@@ -258,6 +258,7 @@ export default { ...@@ -258,6 +258,7 @@ export default {
}, },
mounted() { mounted() {
this.getmainorder(); this.getmainorder();
}, },
watch: {}, watch: {},
methods: { methods: {
...@@ -269,12 +270,12 @@ export default { ...@@ -269,12 +270,12 @@ export default {
// this.$refs.orderqcrecord1.onqcpage() // this.$refs.orderqcrecord1.onqcpage()
}, },
getmainorder() { getmainorder() {
let mesCodeId = this.items.mesCodeId; let orderId = this.items.orderId;
let headerid = this.items.headerid; let headerid = this.items.headerid;
let routingType = this.items.routingType; let routingType = this.items.routingType;
let url01 = let url01 =
`${PlanUrl}/orderexecute/getorderproductandequip?orderId=` + `${PlanUrl}/orderexecute/getorderproductandequip?orderId=` +
mesCodeId + orderId +
`&headerid=` + `&headerid=` +
headerid + headerid +
`&routingType=` + `&routingType=` +
...@@ -311,6 +312,7 @@ export default { ...@@ -311,6 +312,7 @@ export default {
console.log(err); console.log(err);
}); });
}, },
onPageChanged(page_index) { onPageChanged(page_index) {
this.pageindex = page_index; this.pageindex = page_index;
this.onqcpage(); this.onqcpage();
......
<template> <template>
<div class="reve_cont"> <div class="reve_cont">
<Row> <Row>
<Col span="4"> <Col span="5">
<Menu <ul>
:active-name="actNum" <li :class="isactive == -1 ? 'addclass' : ''" @click="listData1">
ref="actNum" 基本信息
class="menuBg" </li>
@on-select="openView" <li
:theme="themeBg"
>
<MenuItem name="1" replace> 基本信息 </MenuItem>
<MenuItem
v-for="(li, index) in nameList" v-for="(li, index) in nameList"
:key="index" :key="index"
:name="index + 2" @click="listData2(li, index)"
replace :class="isactive == index ? 'addclass' : ''"
> >
{{ li.name }} {{ li.name }}
</MenuItem> </li>
</Menu> </ul>
</Col> </Col>
<Col span="20" class="revieweBox"> <Col span="19" class="revieweBox">
<component <component
:is="detail" :is="detail"
:baseData="basicData" :baseData="basicData"
...@@ -29,8 +25,6 @@ ...@@ -29,8 +25,6 @@
@on-ok="ok" @on-ok="ok"
/> />
<!-- <basicView ref="basicView" :baseData="basicData" v-show="basicmodal" />
<mainView ref="mainView" :baseData="basicData" v-show="mainmodal" /> -->
<!-- <dispatched ref="dispatched" :baseData="basicData" v-show="dispatchedmodal"/> --> <!-- <dispatched ref="dispatched" :baseData="basicData" v-show="dispatchedmodal"/> -->
</Col> </Col>
</Row> </Row>
...@@ -39,15 +33,12 @@ ...@@ -39,15 +33,12 @@
<script> <script>
import service from "@/plugins/request"; import service from "@/plugins/request";
import basicView from "./basicView.vue";
import mainView from "./mainView.vue"; //import dispatched from "./dispatched.vue";
import dispatched from "./dispatched.vue";
export default { export default {
components: { // components: {
basicView, // dispatched,
mainView, // },
dispatched,
},
props: { props: {
basicData: null, basicData: null,
actValue: { actValue: {
...@@ -55,18 +46,16 @@ export default { ...@@ -55,18 +46,16 @@ export default {
default: 1, default: 1,
}, },
}, },
created() {
this.detail = () => import("./basicView");
this.openView(this.actNum);
},
data() { data() {
return { return {
items: { items: {
mesCodeId: this.basicData.id, orderId: this.basicData.id,
headerid: 0, headerid: 0,
routingType: 0, routingType: 0,
craftData: {}, craftData: {},
}, },
isactive: -1,
nameList: [], nameList: [],
detail: null, detail: null,
actNum: "1", actNum: "1",
...@@ -82,35 +71,43 @@ export default { ...@@ -82,35 +71,43 @@ export default {
mainexecuteid: 0, mainexecuteid: 0,
}; };
}, },
created() {
this.isactive = -1;
this.detail = () => import("./basicView");
},
mounted() { mounted() {
this.actNum = "1"; // this.actNum = "1";
this.loaddata(this.basicData.id); this.loaddata(this.basicData.id);
}, },
methods: { methods: {
listData1() {
this.items.orderId = this.basicData.id;
this.isactive = -1;
this.detail = () => import("./basicView");
},
listData2(e, index) {
// console.log(e)
this.items.orderId = this.basicData.id;
this.items.craftData = e;
this.items.headerid = e.id;
this.items.routingType = e.routingType;
this.isactive = index;
this.detail = () => import("./mainView");
},
loaddata(pamasId) { loaddata(pamasId) {
this.basicmodal = true;
this.mainmodal = false;
// this.dispatchedmodal= false;
// console.warn(pamasId) 获取主工艺信息 10030
let url = let url =
`${technologyUrl}orderrouting/getordersheaderinfo?orderId=` + pamasId; `${technologyUrl}orderrouting/getordersheaderinfo?orderId=` + pamasId;
if (pamasId) { if (pamasId) {
service.get(`${url}`).then((response) => { service.get(`${url}`).then((response) => {
console.log(response);
if (response.result.length > 0) { if (response.result.length > 0) {
this.nameList = response.result; this.nameList = response.result;
if (response.result[0]) { if (response.result[0]) {
this.$refs.mainView.craftData = response.result[0]; //工艺信息 this.$refs.mainView.craftData = response.result[0]; //工艺信息
// this.headerid = response.result[0].id;
// this.routingType = response.result[0].routingType;
this.getmainorder(pamasId);
} }
if (response.result[1]) { if (response.result[1]) {
this.$refs.dispatched.craftData = response.result[1]; this.$refs.dispatched.craftData = response.result[1];
// this.diHeaderid = response.result[1].id;
// this.diRoutingType = response.result[1].routingType;
this.getdisorder(pamasId);
} }
} else { } else {
console.log("获取工艺信息为空."); console.log("获取工艺信息为空.");
...@@ -120,114 +117,20 @@ export default { ...@@ -120,114 +117,20 @@ export default {
}); });
} }
}, },
// 获取产品号和设备id orderexecute/getorderproductandequip 10050
// getmainorder(pamasId) {
// let headerid = this.headerid;
// let routingType = this.routingType;
// let url01 =
// `${PlanUrl}/orderexecute/getorderproductandequip?orderId=` +
// pamasId +
// `&headerid=` +
// headerid +
// `&routingType=` +
// routingType;
// service
// .get(`${url01}`)
// .then((res) => {
// if (res.success) {
// if (res.result.equipids) {
// let equipids = res.result.equipids;
// this.mainexecuteid = res.result.executeid;
// this.$refs.mainView.getlistall(equipids);
// this.$refs.mainView.getqc(this.mainexecuteid);
// let bandleList = res.result.productCode;
// let codeList = []; // 编号List
// bandleList.map((item, index) => {
// codeList.push(item.productcodes);
// });
// // this.$refs.mainView.mainCodeList = codeList;
// console.warn(codeList); cancel() {
// } else { this.detail = null;
// console.log("获取主工艺设备信息数据为空."); },
// } ok() {
// } else { this.detail = null;
// console.log("获取主工艺设备信息数据失败.");
// }
// })
// .catch((err) => {
// console.log(err);
// });
// },
// getdisorder(pamasId) {
// let diHeaderid = this.diHeaderid;
// let diRoutingType = this.diRoutingType;
// let url02 =
// `${PlanUrl}/orderexecute/getorderproductandequip?orderId=` +
// pamasId +
// `&headerid=` +
// diHeaderid +
// `&routingType=` +
// diRoutingType;
// service
// .get(`${url02}`)
// .then((res) => {
// if (res.success) {
// if (res.result.equipids) {
// let equipids = res.result.equipids;
// this.disexecuteid = res.result.executeid;
// this.$refs.dispatched.getlistall(equipids);
// this.$refs.dispatched.getqc(this.disexecuteid);
// let bandleList = res.result.productCode;
// let boardList = []; // 板次List
// bandleList.map((item, index) => {
// boardList.push(item.boardNumber);
// });
// this.$refs.dispatched.disCodeList = boardList;
// console.warn(boardList);
// } else {
// console.log("获取专业工艺信息数据为空.");
// }
// } else {
// console.log("获取专业工艺信息数据失败.");
// }
// })
// .catch((err) => {
// console.log(err);
// });
// },
// 更换左侧
openView(v) {
console.log(v);
if (v == 1) {
this.detail = () => import("./basicView");
// this.this.basicmodal = true;
// this.mainmodal = false;
} else {
let i = v - 2;
this.nameList.forEach((e, index) => {
if (i == index) {
this.items.craftData = e;
this.items.headerid = e.id;
this.items.routingType = e.routingType;
}
});
this.detail = () => import("./mainView");
// this.$refs.mainView.getqc(this.mainexecuteid);
}
}, },
cancel() {},
ok() {},
}, },
watch: { watch: {
basicData: { basicData: {
handler(v, o) { handler(v, o) {
this.loaddata(v.id); this.loaddata(v.id);
if (v) { if (v) {
this.actNum == "1"; this.items.orderId = v;
this.openView(this.actNum);
} }
}, },
deep: true, deep: true,
...@@ -236,7 +139,27 @@ export default { ...@@ -236,7 +139,27 @@ export default {
}; };
</script> </script>
<style scoped> <style scoped lang="less">
.reve_cont {
ul {
height: 630px;
border-right: 1px solid #eee;
overflow: auto;
li {
height: 35px;
line-height: 35px;
padding: 0 15px;
cursor: pointer;
}
}
.addclass {
height: 35px;
line-height: 35px;
background-color: #f0faff;
color: #2d8cf0;
border-right: 2px solid #2d8cf0;
}
}
.menuBg { .menuBg {
background: none; background: none;
height: 630px; height: 630px;
......
This diff is collapsed.
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