Commit 2c9c78de authored by 仇晓婷's avatar 仇晓婷

整机排产

parent ff6e3b4b
......@@ -9,6 +9,7 @@ export default {
cmtwostepschedule(params) {
return Api.post(`${PlanUrl}/messchedule/cmtwostepschedule`, params); //整机排产--二级排产
},
// getlist(params) {
// return Api.get(`${PlanUrl}/mes_sys_shop_info/getlist`, params); //手工排产:查询所在车间下的所有班组信息
// },
......
......@@ -11,6 +11,7 @@
</RadioGroup>
</Col>
</Row>
<div class="left-down">
<div
class="left-body"
v-for="(li,index) in list"
......@@ -32,6 +33,7 @@
<div class="time-s">{{li.demandFinishDate}}{{li.demandStartDate}}</div>
</div>
</div>
</div>
<div class="aps-r">
<div class="r-title">排产设置盘</div>
<Form :model="formItem" :label-width="100">
......@@ -51,26 +53,34 @@
<Radio label="1">班组</Radio>
</RadioGroup>
</FormItem>
<FormItem label="人员分组形式" v-if="formItem.radio==0">
<Dictionary
<FormItem label="人员" v-if="formItem.radio==0">
<UserSelect
ref="userSelected"
v-model="formItem.userIds"
style="width:300px"
:multiple="true"
/>
<!-- <Dictionary
disabled
code="aps.scheduling.groupingForm"
v-model="formItem.resourcesType"
type="radio"
></Dictionary>
></Dictionary>-->
</FormItem>
<FormItem label="班组" v-if="formItem.radio==1">
<Select v-model="formItem.shopId" style="width:300px" multiple>
<Select v-model="formItem.shopId" placeholder="请选择" style="width:300px">
<Option
v-for="item in classList"
:value="item.shopId"
:key="item.shopId"
>{{ item.label }}</Option>
v-for="(item,index) in listClass"
:key="index"
:value="item.value"
:label="item.label"
style="display:none"
></Option>
<Tree key="mytree" :data="workShop" ref="mytree" :render="renderContent"></Tree>
</Select>
</FormItem>
<FormItem v-if="formItem.radio==0">
<!-- <UserSelect ref="userSelected" v-model="formItem.DistributeMainRouting" /> -->
<!-- <FormItem v-if="formItem.radio==0">
<div class="list-check">
<Checkbox-List
:single-list="li"
......@@ -80,26 +90,19 @@
:key="index"
></Checkbox-List>
</div>
</FormItem>
</FormItem>-->
<!-- v-if="tagGroup.lenght>0" -->
<FormItem label="已选择" v-if="formItem.radio==0">
<!-- <FormItem label="已选择" v-if="formItem.radio==0">
<div class="tag-list">
<div v-for="(item,index) in tagGroup" :key="index" class="tag-group">
<span>{{item.name}}&nbsp&nbsp{{item.class}}</span>
<Icon type="md-close" @click="closeTag" />
</div>
<!-- <Tag
color="rgba(38,128,235,0.3)"
closable
@on-close="handleClose"
:key="index"
v-for="(val, index) in tagGroup"
>{{val.name}}</Tag>-->
</div>
</FormItem>
</FormItem>-->
<FormItem label="备注">
<Input
v-model="formItem.textarea"
v-model="formItem.remark "
type="textarea"
:autosize="{minRows: 2,maxRows: 5}"
placeholder="请输入备注信息"
......@@ -136,57 +139,45 @@ export default {
time: "",
beginTime: "",
endTime: "",
textarea: ""
remark: "",
departmentTitle: "",
shopId: "",
userName: ""
},
listGroup: [
{
equip_name: "调试组",
isClick: true
},
{
equip_name: "装配组"
}
],
tagGroup: [
{
id: 1,
name: "张芳",
class: "1级"
},
{
id: 2,
name: "张芳",
class: "1级"
},
{
id: 4,
name: "张芳",
class: "1级"
},
{
id: 5,
name: "张芳",
class: "1级"
}
],
classList: [
{
shopId: "0",
label: "调试组"
},
{
shopId: "1",
label: "装配组"
},
{
shopId: "2",
label: "计划组"
},
{
shopId: "3",
label: "管理组"
}
],
// listGroup: [
// {
// equip_name: "调试组",
// isClick: true
// },
// {
// equip_name: "装配组",
// isClick: false
// }
// ],
// tagGroup: [
// {
// id: 1,
// name: "张芳",
// class: "1级"
// },
// {
// id: 2,
// name: "张芳",
// class: "1级"
// },
// {
// id: 4,
// name: "张芳",
// class: "1级"
// },
// {
// id: 5,
// name: "张芳",
// class: "1级"
// }
// ],
workShop: [],
listClass: [],
orderIds: []
};
},
......@@ -232,18 +223,26 @@ export default {
lowerHair() {
if (this.formItem.radio == 0) {
//一级排产选择人员
let urseId = [];
for (var i = 0; i < this.tagGroup.length; i++) {
urseId.push(this.tagGroup[i].id);
}
// let urseId = [];
// for (var i = 0; i < this.tagGroup.length; i++) {
// urseId.push(this.tagGroup[i].id);
// }
let params1 = {
orderIds: this.orderIds,
userIds: urseId,
userIds: this.formItem.userIds,
beginTime: this.formItem.beginTime,
endTime: this.formItem.endTime
endTime: this.formItem.endTime,
remark: this.formItem.remark,
userName: this.formItem.userName
};
Api.cmonestepschedule(params1).then(r => {
if (r.success) {
this.$Message.success("下发成功");
this.orderlist(this.status);
} else {
this.$Message.success("下发失败");
this.formItem = {};
this.formItem.radio = 0;
}
});
} else if (this.formItem.radio == 1) {
......@@ -252,15 +251,61 @@ export default {
orderIds: this.orderIds,
shopId: this.formItem.shopId,
beginTime: this.formItem.beginTime,
endTime: this.formItem.endTime
endTime: this.formItem.endTime,
remark: this.formItem.remark
};
Api.cmtwostepschedule(params2).then(r => {
if (r.success) {
this.$Message.success("下发成功");
this.orderlist(this.status);
this.formItem = {};
this.formItem.radio = 0;
} else {
this.$Message.success("下发失败");
}
});
}
},
//部门(班组)
getWorkshop() {
let url = `${systemUrl}/user/userdepartmentsofworkshop`;
this.$api.get(url).then(r => {
if (r.result) {
this.workShop = r.result;
}
});
},
renderContent(h, { root, node, data }) {
//渲染树的样式
return h(
"span",
{
style: {
cursor: "pointer"
},
on: {
click: () => {
this.handleSelect(data); //手动选择树节点
}
}
},
closeOk() {},
data.title
);
},
handleSelect(data) {
let obj = {
label: data.title,
value: data.value
};
this.listClass = [];
this.listClass.push(obj);
this.formItem.shopId = this.listClass[0].value;
},
closeOk() {
this.formItem = {};
this.formItem.radio = 0;
},
close() {
this.$Modal.confirm({
title: "删除",
......@@ -277,10 +322,17 @@ export default {
handleClose(nodeKey) {
// this.$refs.users.handleCheck({ checked: false, nodeKey: nodeKey });
},
setData(val) {
this.tagGroup = val;
},
// setData(val) {
// this.tagGroup = val;
// },
closeTag() {}
},
watch: {
"formItem.radio"(v) {
if (v == 1) {
this.getWorkshop();
}
}
}
};
</script>
......@@ -298,9 +350,7 @@ export default {
.aps-l {
width: 20%;
border-right: 1px solid #e4e6ed;
height: 86vh;
padding: 0 15px 10px 10px;
overflow: auto;
.row-p {
border-bottom: 1px solid #e4e6ed;
padding: 5px;
......@@ -313,6 +363,9 @@ export default {
text-align: right;
}
}
.left-down {
height: 82vh;
overflow: auto;
.left-body {
margin-top: 15px;
border: 1px solid rgba(228, 230, 237, 1);
......@@ -345,6 +398,7 @@ export default {
}
}
}
}
.aps-r {
border: 1px solid rgba(228, 230, 237, 0.5);
width: 80%;
......
......@@ -11,38 +11,40 @@
</RadioGroup>
</Col>
</Row>
<div class="left-down">
<div
class="left-body"
v-for="(li,index) in list"
:key="index"
@click="listData(li)"
@click="listData(li,index)"
:class="isactive == index ? 'addclass' : '' "
>
<Row class="title-i">
<Col :span="20" class="order-code">订单号:{{li.order_id}}</Col>
<Col :span="20" class="order-code">订单号:{{li.mesCode}}</Col>
<Col :span="4" class="order-ringht">
<Icon type="md-close" @click="close" />
</Col>
</Row>
<div class="fa">{{li.routing_version}}</div>
<div class="fa">产品名称:{{li.productName}}</div>
<div class="time-s">
<!-- <Icon type="ios-copy" /> -->
<span>工序:{{li.routing_schema}}</span>
<span>工序:{{li.drawnNumber}}</span>
</div>
<div class="time-s">{{li.demandFinishDate}}{{li.demandStartDate}}</div>
</div>
<div class="time-s">{{li.demand_start}}{{li.demand_finish}}</div>
</div>
</div>
<div class="aps-r">
<!-- <div class="g-list">工序列表</div> -->
<Row class="g-list">
<Col :span="2" class="chan-chi">工序列表</Col>
<Col :span="22" class="l-ringht">
<!-- <Col :span="22" class="l-ringht">
<RadioGroup v-model="status" type="button" @on-change="changeRodio" size="small">
<Radio label="0">全部</Radio>
<Radio label="1">未排产</Radio>
<Radio label="2">已排查</Radio>
</RadioGroup>
</Col>
</Col>-->
</Row>
<div class="right-body">
<div class="list">
......@@ -50,14 +52,14 @@
<TimelineItem v-for="(item, index) in result" :key="index">
<Badge :count="index+ 1" slot="dot" :type="type(index)"></Badge>
<div class="set-name">
<span @click="sets(item.routingHeaderId)">{{item.taskname}}</span> &nbsp
<span @click="sets(item.routingHeaderId)">工序名称:{{item.name}}</span> &nbsp
<Tooltip content="拆分工序" placement="top">
<Icon type="md-bluetooth" @click="split" />
</Tooltip>
<Icon type="ios-trash" @click="remove" />
</div>
<div>{{item.equip_id}}</div>
<div>{{item.equip_type}}</div>
<div>任务顺序:{{item.task_seq}}</div>
<div>数量:{{item.quantity}}</div>
<div>{{item.resources_Type_Name}}</div>
</TimelineItem>
</Timeline>
......@@ -144,18 +146,27 @@ export default {
},
//排产池列表
orderlist() {
Api.getpooltypeorderlist({ PoolType: 3,status:this.status }).then(r => {
Api.getpooltypeorderlist({ PoolType: 3, status: this.status }).then(r => {
// console.log(r)
if (r.success) {
if (r.result) {
r.result.forEach(e => {
return (e.checked = false);
});
this.list = r.result;
if (r.result[0]) {
this.tagTata(r.result[0].id);
} else {
this.result = [];
}
} else {
this.$Message.info("排产池数据请求失败");
}
});
},
//点击选中排产订单
listData(li) {
listData(li, index) {
console.log(li);
this.isactive = index;
this.group.orderId = li.id;
this.tagTata(li.id);
......@@ -169,9 +180,9 @@ export default {
});
},
//工序排产过滤
changeRodio(a) {
console.log(a);
},
// changeRodio(a) {
// console.log(a);
// },
//删除排产订单
close() {
this.$Modal.confirm({
......@@ -250,9 +261,9 @@ export default {
.aps-l {
width: 20%;
border-right: 1px solid #e4e6ed;
height: 86vh;
padding: 0 15px 10px 10px;
overflow: auto;
.row-p {
border-bottom: 1px solid #e4e6ed;
padding: 5px;
......@@ -265,6 +276,9 @@ export default {
text-align: right;
}
}
.left-down {
height: 82vh;
overflow: auto;
.left-body:hover {
cursor: pointer;
border-color: rgba(38, 128, 235, 0.5);
......@@ -304,9 +318,11 @@ export default {
}
}
}
}
.aps-r {
width: 80%;
padding: 0 15px;
.g-list {
font-size: 14px;
width: 100%;
......@@ -323,6 +339,8 @@ export default {
}
.right-body {
margin-top: 15px;
height: 82vh;
overflow: auto;
.list {
padding-left: 10px;
.set-name {
......
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