Commit dc9bb3c2 authored by renjintao's avatar renjintao

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

parents 154ad370 417d9426
import Api from '@/plugins/request' import Api from '@/plugins/request'
export default { export default {
// getpooltypeorderlist(params) {
// return Api.get(`${PlanUrl}/messchedule/getpooltypeorderlist`, params); //排产池订单数据
// },
getpooltypeorderlist(params) { getpooltypeorderlist(params) {
return Api.get(`${PlanUrl}/messchedule/getpooltypeorderlist`, params); //排产池订单数据 return Api.get(`${PlanUrl}/messchedule/getpooltypeorderlist_new`, params); //排产池订单数据
}, },
// getroutingdetails(params) {
// return Api.get(`${PlanUrl}/messchedule/getroutingdetails`, params); //工序信息
// },
getroutingdetails(params) { getroutingdetails(params) {
return Api.get(`${PlanUrl}/messchedule/getroutingdetails`, params); //工序信息 return Api.get(`${PlanUrl}/messchedule/getroutingdetails_mutiroutinggroup`, params); //工序信息
}, },
flonestepschedule(params) { flonestepschedule(params) {
return Api.post(`${PlanUrl}/messchedule/flonestepschedule`, params); //流水一级 return Api.post(`${PlanUrl}/messchedule/flonestepschedule`, params); //流水一级
......
...@@ -73,23 +73,33 @@ ...@@ -73,23 +73,33 @@
</Row> </Row>
<Row class="right-body"> <Row class="right-body">
<Col class="list" span="24"> <Col class="list" span="24">
<Card v-for="(li, i) in result" :key="i">
<p slot="title">
<Badge :count="i + 1"></Badge>
{{ li.routingCode }} / {{ li.routingName }}
</p>
<Timeline> <Timeline>
<TimelineItem v-for="(item, index) in result" :key="index"> <TimelineItem v-for="(item, index) in li.list" :key="index">
<Badge :count="item.seq" slot="dot" :type="type(index)"></Badge> <Badge
:count="item.seq"
slot="dot"
:type="item.aps == 1 ? 'error' : 'success'"
></Badge>
<div class="set-name"> <div class="set-name">
<span <span
@click="sets(item, index)" @click="sets(i, item, index)"
class="mr20" class="mr20"
:class="active == index ? 'gongTitle' : ''" :class="active == index ? 'gongTitle' : ''"
>工序名称:{{ item.name }}</span >工序名称:{{ item.name }}</span
> >
<op <op
title="拆分工序" title="拆分工序"
@click="split(item, index)" @click="split(li, i, item, index)"
type="icon" type="icon"
icon="ios-cut" icon="ios-cut"
v-if="item.quantity > 1 && !item.chai" v-if="item.quantity > 1 && !item.chai"
></op> >
</op>
<op <op
title="移除" title="移除"
@click="remove(item, index)" @click="remove(item, index)"
...@@ -97,7 +107,8 @@ ...@@ -97,7 +107,8 @@
icon="ios-trash" icon="ios-trash"
oprate="delete" oprate="delete"
v-if="item.chai" v-if="item.chai"
></op> >
</op>
</div> </div>
<div class="content">数量:{{ item.quantity }}</div> <div class="content">数量:{{ item.quantity }}</div>
...@@ -123,6 +134,7 @@ ...@@ -123,6 +134,7 @@
<!-- <div>工序号:{{item.task_seq}}</div> --> <!-- <div>工序号:{{item.task_seq}}</div> -->
</TimelineItem> </TimelineItem>
</Timeline> </Timeline>
</Card>
<div> <div>
<Drawer <Drawer
title="排产设置盘" title="排产设置盘"
...@@ -168,6 +180,7 @@ ...@@ -168,6 +180,7 @@
<script> <script>
import Set from "./set"; import Set from "./set";
import Api from "./api"; import Api from "./api";
import { forEach } from "lodash";
export default { export default {
name: "set", name: "set",
components: { components: {
...@@ -182,8 +195,9 @@ export default { ...@@ -182,8 +195,9 @@ export default {
disabled: false, disabled: false,
chaiLIst: [], chaiLIst: [],
mode: 1, mode: 1,
itemList: [],
curIndex: -1, curIndex: -1,
liIndex: -1,
indexId: 0, indexId: 0,
active: null, active: null,
activeindex: 1, activeindex: 1,
...@@ -232,11 +246,6 @@ export default { ...@@ -232,11 +246,6 @@ export default {
u.demandStartDate = u.demandStartDate.substr(0, 10); u.demandStartDate = u.demandStartDate.substr(0, 10);
}); });
this.list = r.result; this.list = r.result;
// if (r.result[0]) {
// this.tagTata(r.result[0].id);
// } else {
// this.result = [];
// }
} else { } else {
this.$Message.info("排产池数据请求失败"); this.$Message.info("排产池数据请求失败");
} }
...@@ -259,20 +268,20 @@ export default { ...@@ -259,20 +268,20 @@ export default {
tagTata(id) { tagTata(id) {
Api.getroutingdetails({ id: id }).then((r) => { Api.getroutingdetails({ id: id }).then((r) => {
if (r.success) { if (r.success) {
r.result.map((u) => { // console.log(r)
r.result.map((e) => {
e.list.map((u) => {
u.seq = u.task_seq; u.seq = u.task_seq;
u.chaiCount = 0; u.chaiCount = 0;
u.chai = false; u.chai = false;
u.aps = 0; u.aps = 0;
}); });
});
this.result = r.result; this.result = r.result;
} }
}); });
}, },
//工序排产过滤
// changeRodio(a) {
// console.log(a);
// },
//删除排产订单 //删除排产订单
close(id) { close(id) {
let ids = []; let ids = [];
...@@ -295,36 +304,29 @@ export default { ...@@ -295,36 +304,29 @@ export default {
}, },
}); });
}, },
//工序列表序列设置
type(i) {
// console.log(i);
if (i < this.result.length) {
return "normal";
} else if (i === this.result.length) {
return "success";
}
},
//设置工序 //设置工序
sets(item, index) { sets(i, item, index) {
console.log(item);
this.set = true; this.set = true;
this.indexId = index; this.indexId = index;
this.liIndex = i;
this.detailId = item.detailId; this.detailId = item.detailId;
this.active = index; this.active = index;
this.$refs.setObj.formItem = {}; this.$refs.setObj.formItem = {};
// this.group.orderId = item.orderId; this.$refs.setObj.formItem.userIds = [];
// this.group.routingHeaderId = item.routingHeaderId;
// this.$refs.setObj.formItem = {};
// this.$refs.setObj.formItem.radio = "0";
}, },
//拆分工序 //拆分工序
split(item, i) { split(li, i, item, index) {
this.chaiModal = true; this.chaiModal = true;
this.curIndex = i; this.curIndex = index;
this.maxnum = this.result[i].quantity - 1; this.itemList = [];
this.liIndex = i;
this.itemList = li.list;
this.maxnum = item.quantity - 1;
}, },
//拆分保存 //拆分保存
okChai() { okChai() {
let items = this.$u.clone(this.result); let items = this.$u.clone(this.itemList);
let curItem = items[this.curIndex]; let curItem = items[this.curIndex];
curItem.aps = this.mode; curItem.aps = this.mode;
...@@ -342,20 +344,25 @@ export default { ...@@ -342,20 +344,25 @@ export default {
total = this.curIndex; total = this.curIndex;
} }
items.splice(total, 0, addItem); items.splice(total, 0, addItem);
this.result = items; console.log(items);
this.result[this.liIndex].list = items;
}, },
//删除工序 //删除工序
remove(item, index) { remove(item, index) {
let vroot = -1; let vroot = -1;
this.result.map((u, i) => { let liIndex = -1;
this.result.map((e, v) => {
e.list.map((u, i) => {
if (!u.chai && u.detailId === item.detailId) { if (!u.chai && u.detailId === item.detailId) {
vroot = i; vroot = i;
liIndex = v;
} }
u.chaiCount = u.chaiCount - 1; u.chaiCount = u.chaiCount - 1;
}); });
this.result[vroot].quantity += item.quantity; });
this.result[liIndex].list[vroot].quantity += item.quantity;
var list = this.$u.clone(this.result); var list = this.$u.clone(this.result);
list.splice(index, 1); list[liIndex].list.splice(index, 1);
this.result = list; this.result = list;
}, },
//下发 //下发
...@@ -364,20 +371,21 @@ export default { ...@@ -364,20 +371,21 @@ export default {
var items = []; var items = [];
var obj = {}; var obj = {};
if (this.mode == 1) { if (this.mode == 1) {
for (let i = 0; i < this.result.length; i++) { this.result.forEach((element) => {
for (let i = 0; i < element.list.length; i++) {
obj = { obj = {
detailId: this.result[i].detailId, detailId: element.list[i].detailId,
userIds: this.result[i].userIds, userIds: element.list[i].userIds,
quantity: this.result[i].quantity, quantity: element.list[i].quantity,
beginTime: this.result[i].beginTime, beginTime: element.list[i].beginTime,
endTime: this.result[i].endTime, endTime: element.list[i].endTime,
remark: this.result[i].remark, remark: element.list[i].remark,
}; };
items.push(obj); items.push(obj);
} }
let data = { let data = {
orderId: this.orderId, orderId: this.orderId,
routingHeaderId: this.routingHeaderId, routingHeaderId: element.routingHeaderId,
items: items, items: items,
}; };
Api.flonestepschedule(data).then((r) => { Api.flonestepschedule(data).then((r) => {
...@@ -389,21 +397,23 @@ export default { ...@@ -389,21 +397,23 @@ export default {
this.$Message.info("下发失败"); this.$Message.info("下发失败");
} }
}); });
});
} else if (this.mode == 2) { } else if (this.mode == 2) {
for (let i = 0; i < this.result.length; i++) { this.result.forEach((element) => {
for (let i = 0; i < element.list.length; i++) {
obj = { obj = {
detailId: this.result[i].detailId, detailId: element.list.length[i].detailId,
shopId: this.result[i].shopId, shopId: element.list.length[i].shopId,
quantity: this.result[i].quantity, quantity: element.list.length[i].quantity,
beginTime: this.result[i].beginTime, beginTime: element.list.length[i].beginTime,
endTime: this.result[i].endTime, endTime: element.list.length[i].endTime,
remark: this.result[i].remark, remark: element.list.length[i].remark,
}; };
items.push(obj); items.push(obj);
} }
let data = { let data = {
orderId: this.orderId, orderId: this.orderId,
routingHeaderId: this.routingHeaderId, routingHeaderId: element.routingHeaderId,
items: items, items: items,
}; };
Api.fltwostepschedule(data).then((r) => { Api.fltwostepschedule(data).then((r) => {
...@@ -415,6 +425,7 @@ export default { ...@@ -415,6 +425,7 @@ export default {
this.$Message.info("下发失败"); this.$Message.info("下发失败");
} }
}); });
});
} }
} else { } else {
this.$Message.info("请先选择排产订单并设置工序"); this.$Message.info("请先选择排产订单并设置工序");
...@@ -422,22 +433,24 @@ export default { ...@@ -422,22 +433,24 @@ export default {
}, },
closeOk() { closeOk() {
this.set = false; this.set = false;
// this.active = null;
}, },
DetermineOk(val, index) { DetermineOk(val, index) {
let item = Object.assign(this.result[index], val); let item = Object.assign(this.result[this.liIndex].list[index], val);
item.aps = this.mode; item.aps = this.mode;
this.$set(this.result, index, item); this.$set(this.result[this.liIndex].list, index, item);
this.set = false; this.set = false;
}, },
}, },
computed: { computed: {
allow() { allow() {
let mode = this.mode; let mode = this.mode;
var flag = true;
let oks = this.result.filter((u) => { let oks = this.result.filter((u) => {
return u.aps == mode; u.list.map((e) => {
if (e.aps != mode) flag = false;
});
}); });
return oks.length == this.result.length; return flag;
}, },
}, },
}; };
...@@ -539,8 +552,8 @@ export default { ...@@ -539,8 +552,8 @@ export default {
height: 82vh; height: 82vh;
overflow: auto; overflow: auto;
.list { .list {
padding-left: 10px; // padding-left: 10px;
padding-top: 30px; // padding-top: 15px;
.set-name { .set-name {
font-weight: bold; font-weight: bold;
height: 30px; height: 30px;
...@@ -568,6 +581,13 @@ export default { ...@@ -568,6 +581,13 @@ export default {
.gong-list { .gong-list {
color: rgba(38, 128, 235, 0.7); color: rgba(38, 128, 235, 0.7);
} }
.ivu-card {
margin: 10px 0;
}
.ivu-timeline {
margin-left: 40px;
}
} }
.xia-fa { .xia-fa {
text-align: right; text-align: right;
......
<template> <template>
<div class="set"> <div class="set">
<Form :model="formItem" :label-width="100" :rules="ruleValidate" ref="formItem"> <Form
:model="formItem"
:label-width="100"
:rules="ruleValidate"
ref="formItem"
>
<FormItem label="工时" prop="time"> <FormItem label="工时" prop="time">
<DatePicker <DatePicker
type="datetimerange" type="datetimerange"
...@@ -8,7 +13,7 @@ ...@@ -8,7 +13,7 @@
placeholder="请选择工时" placeholder="请选择工时"
@on-change="changeFormat" @on-change="changeFormat"
v-model="formItem.time" v-model="formItem.time"
style="width:300px" style="width: 300px"
></DatePicker> ></DatePicker>
</FormItem> </FormItem>
<!-- <FormItem label="类型"> <!-- <FormItem label="类型">
...@@ -17,32 +22,41 @@ ...@@ -17,32 +22,41 @@
<Radio label="1">班组</Radio> <Radio label="1">班组</Radio>
</RadioGroup> </RadioGroup>
</FormItem>--> </FormItem>-->
<FormItem label="人员" v-if="mode==1" prop="userIds"> <FormItem label="人员" v-if="mode == 1" prop="userIds">
<!-- <UserSelect <!-- <UserSelect
ref="userSelected" ref="userSelected"
v-model="formItem.userIds" v-model="formItem.userIds"
style="width:300px" style="width:300px"
:multiple="true" :multiple="true"
/>--> />-->
<UserSelect v-model="formItem.userIds" :multiple="true" :type="2"/> <UserSelect v-model="formItem.userIds" :multiple="true" :type="2" />
</FormItem> </FormItem>
<FormItem label="班组" v-if="mode==2" prop="shopId"> <FormItem label="班组" v-if="mode == 2" prop="shopId">
<Select v-model="formItem.shopId" placeholder="请选择" style="width:300px"> <Select
v-model="formItem.shopId"
placeholder="请选择"
style="width: 300px"
>
<Option <Option
v-for="(item,index) in listClass" v-for="(item, index) in listClass"
:key="index" :key="index"
:value="item.value" :value="item.value"
:label="item.label" :label="item.label"
style="display:none" style="display: none"
></Option> ></Option>
<Tree key="mytree" :data="workShop" ref="mytree" :render="renderContent"></Tree> <Tree
key="mytree"
:data="workShop"
ref="mytree"
:render="renderContent"
></Tree>
</Select> </Select>
</FormItem> </FormItem>
<FormItem label="备注"> <FormItem label="备注">
<Input <Input
v-model="formItem.remark" v-model="formItem.remark"
type="textarea" type="textarea"
:autosize="{minRows: 2,maxRows: 5}" :autosize="{ minRows: 2, maxRows: 5 }"
placeholder="请输入备注信息" placeholder="请输入备注信息"
></Input> ></Input>
</FormItem> </FormItem>
...@@ -60,7 +74,7 @@ export default { ...@@ -60,7 +74,7 @@ export default {
props: { props: {
detailId: Number, detailId: Number,
indexId: Number, indexId: Number,
mode: Number mode: Number,
}, },
data() { data() {
return { return {
...@@ -75,7 +89,7 @@ export default { ...@@ -75,7 +89,7 @@ export default {
departmentTitle: "", departmentTitle: "",
shopId: "", shopId: "",
shopName: "", shopName: "",
userIds: [] userIds: [],
}, },
workShop: [], workShop: [],
listClass: [], listClass: [],
...@@ -88,26 +102,26 @@ export default { ...@@ -88,26 +102,26 @@ export default {
trigger: "blur", trigger: "blur",
fields: { fields: {
0: { type: "date", required: true, message: "请选择工时时间段" }, 0: { type: "date", required: true, message: "请选择工时时间段" },
1: { type: "date", required: true, message: "请选择工时时间段" } 1: { type: "date", required: true, message: "请选择工时时间段" },
} },
} },
],
userIds: [
{
required: true,
message: "请选择人员",
type: "array",
trigger: "change",
},
], ],
// user: [
// {
// required: true,
// message: "请选择人员",
// type: "array",
// trigger: "change"
// }
// ],
shopId: [ shopId: [
{ {
required: true, required: true,
message: "请选择班组", message: "请选择班组",
trigger: "change" trigger: "change",
} },
] ],
} },
}; };
}, },
mounted() { mounted() {
...@@ -120,7 +134,7 @@ export default { ...@@ -120,7 +134,7 @@ export default {
if (this.formItem.userIds && this.formItem.userIds.length == 0) { if (this.formItem.userIds && this.formItem.userIds.length == 0) {
this.$Message.error("人员不能为空"); this.$Message.error("人员不能为空");
} else { } else {
this.$refs["formItem"].validate(valid => { this.$refs["formItem"].validate((valid) => {
if (valid) { if (valid) {
this.formItem.detailId = this.detailId; this.formItem.detailId = this.detailId;
this.$emit("on-DetermineOk", this.formItem, this.indexId); this.$emit("on-DetermineOk", this.formItem, this.indexId);
...@@ -146,7 +160,7 @@ export default { ...@@ -146,7 +160,7 @@ export default {
//部门(班组) //部门(班组)
getWorkshop() { getWorkshop() {
let url = `${systemUrl}/department/getdepartmentsbyproterty`; let url = `${systemUrl}/department/getdepartmentsbyproterty`;
this.$api.get(url,{Property:2}).then(r => { this.$api.get(url, { Property: 2 }).then((r) => {
if (r.result) { if (r.result) {
this.workShop = r.result; this.workShop = r.result;
} }
...@@ -158,13 +172,13 @@ export default { ...@@ -158,13 +172,13 @@ export default {
"span", "span",
{ {
style: { style: {
cursor: "pointer" cursor: "pointer",
}, },
on: { on: {
click: () => { click: () => {
this.handleSelect(data); //手动选择树节点 this.handleSelect(data); //手动选择树节点
} },
} },
}, },
data.name data.name
); );
...@@ -172,21 +186,21 @@ export default { ...@@ -172,21 +186,21 @@ export default {
handleSelect(data) { handleSelect(data) {
let obj = { let obj = {
label: data.name, label: data.name,
value: data.id value: data.id,
}; };
this.listClass = []; this.listClass = [];
this.listClass.push(obj); this.listClass.push(obj);
this.formItem.shopId = this.listClass[0].value; this.formItem.shopId = this.listClass[0].value;
this.formItem.shopName = this.listClass[0].label; this.formItem.shopName = this.listClass[0].label;
} },
}, },
watch: { watch: {
"formItem.radio"(v) { "formItem.radio"(v) {
if (v == 1) { if (v == 1) {
this.getWorkshop(); this.getWorkshop();
} }
} },
} },
}; };
</script> </script>
<style lang="less" scoped> <style lang="less" scoped>
......
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