Commit e9ec59aa authored by 仇晓婷's avatar 仇晓婷

排产

parent 8d77c5ed
import Api from '@/plugins/request'
export default {
getmesorder(params) {
return Api.get(`${apsManualUrl}/aps/getmesorder`, params); //待排产订单数据
getpooltypeorderlist(params) {
return Api.get(`${PlanUrl}/messchedule/getpooltypeorderlist`, params); //排产池订单数据
},
gettaskseqinfo(params) {
return Api.get(`${apsManualUrl}/aps/gettaskseqinfo`, params); //根据订单获取全部工序数据
return Api.get(`${PlanUrl}/aps/gettaskseqinfo`, params); //根据订单获取全部工序数据
},
getlist(params) {
return Api.get(`${apsManualUrl}/mes_sys_shop_info/getlist`, params); //手工排产:查询所在车间下的所有班组信息
return Api.get(`${PlanUrl}/mes_sys_shop_info/getlist`, params); //手工排产:查询所在车间下的所有班组信息
},
getbyshopid(params) {
return Api.get(`${apsManualUrl}/mes_sys_user_info/getuserbyshopid`, params); //手工排产:根据班组ID,加载人员信息
return Api.get(`${PlanUrl}/mes_sys_user_info/getuserbyshopid`, params); //手工排产:根据班组ID,加载人员信息
},
getlistEquip(params) {
return Api.get(`${apsManualUrl}/mes_equip_info/getlist`, params); //手工排产:获取所在车间的设备
return Api.get(`${PlanUrl}/mes_equip_info/getlist`, params); //手工排产:获取所在车间的设备
},
getbyequippk(params) {
return Api.get(`${apsManualUrl}/mes_sys_user_info/getuserbyequippk`, params); //手工排产:根据设备ID,加载人员信息
return Api.get(`${PlanUrl}/mes_sys_user_info/getuserbyequippk`, params); //手工排产:根据设备ID,加载人员信息
},
}
\ No newline at end of file
......@@ -20,7 +20,15 @@
</div>
</Col>
</Row>
<div class="row-name">张芳 &nbsp&nbsp 1级</div>
<ul v-if="singleList.isClick">
<li
ref="liId"
v-for="(item,index) in list"
:key="index"
@click="onclick(index)"
>{{item.name}}&nbsp&nbsp{{item.class}}</li>
</ul>
<!-- <CheckboxGroup
v-model="checkAllGroup"
@on-change="checkAllGroupChange"
......@@ -38,6 +46,7 @@ export default {
props: ["singleList"],
data() {
return {
chooseNum: null,
indeterminate: true,
checkAll: false,
checkAllGroup: [],
......@@ -45,7 +54,20 @@ export default {
show: -1,
list: [
{
name: "张芳"
name: "张芳",
class: "1级"
},
{
name: "张芳",
class: "1级"
},
{
name: "张芳",
class: "1级"
},
{
name: "张芳",
class: "1级"
}
],
taglistData: []
......@@ -56,47 +78,74 @@ export default {
// this.checkList()
},
methods: {
onclick(index) {
if (this.$refs.liId[index].className.length <= 0) {
this.$refs.liId[index].className = "li-focus"; // 添加类
let list = [];
this.$refs.liId.forEach((element, index) => {
if (this.$refs.liId[index].className) {
list.push(this.$refs.liId[index].className);
}
});
if (list.length == this.list.length) {
this.checkAll = true;
}
} else {
this.$refs.liId[index].className = ""; // 选中再取消的情况
this.checkAll = false;
}
},
handleCheckAll(id) {
// console.log(this.list)
// this.list.map((u) => {
// console.log(u)
// })
// this.checkList(id)
this.checkAll = !this.checkAll;
if (this.checkAll) {
let listNew = [];
this.list.map(u => {
if (this.resourcesType == 0) {
listNew.push(u.user_name);
} else if (this.resourcesType == 2) {
listNew.push(u.equip_name);
}
this.$refs.liId.forEach((element, index) => {
this.$refs.liId[index].className = "li-focus"; // 添加类
});
this.checkAllGroup = listNew;
this.$emit("changeData", this.checkAllGroup);
} else {
this.checkAllGroup = [];
this.$refs.liId.forEach((element, index) => {
this.$refs.liId[index].className = ""; // 选中再取消的情况
});
}
// // console.log(this.list)
// // this.list.map((u) => {
// // console.log(u)
// // })
// // this.checkList(id)
// this.checkAll = !this.checkAll;
// if (this.checkAll) {
// let listNew = [];
// this.list.map(u => {
// if (this.resourcesType == 0) {
// listNew.push(u.user_name);
// } else if (this.resourcesType == 2) {
// listNew.push(u.equip_name);
// }
// });
// this.checkAllGroup = listNew;
// this.$emit("changeData", this.checkAllGroup);
// } else {
// this.checkAllGroup = [];
// }
},
checkAllGroupChange(data) {
console.log(data);
console.log(this.list);
// checkAllGroupChange(data) {
// console.log(data);
// console.log(this.list);
this.checkAllGroup = data;
this.$emit("changeData", this.checkAllGroup);
if (data.length === this.list.length) {
this.indeterminate = false;
this.checkAll = true;
} else if (data.length > 0) {
this.indeterminate = true;
this.checkAll = false;
} else {
this.indeterminate = false;
this.checkAll = false;
}
},
// this.checkAllGroup = data;
// this.$emit("changeData", this.checkAllGroup);
// if (data.length === this.list.length) {
// this.indeterminate = false;
// this.checkAll = true;
// } else if (data.length > 0) {
// this.indeterminate = true;
// this.checkAll = false;
// } else {
// this.indeterminate = false;
// this.checkAll = false;
// }
// },
checkList(id) {
if (this.resourcesType == 0) {
//班组
......@@ -145,6 +194,7 @@ export default {
.checkbox-list {
.icon-down {
text-align: right;
cursor: pointer;
}
.check-title {
height: 40px;
......@@ -152,17 +202,27 @@ export default {
padding: 0 10px;
background: rgba(38, 128, 235, 0.5);
}
.row-name {
text-align: center;
width: 100px;
height: 30;
border-radius: 20px;
margin: 5px;
cursor: pointer;
background: rgba(38, 128, 235, 0.2);
}
.row-name:hover {
border: 1px solid rgba(38, 128, 235, 0.5);
ul {
min-height: 60px;
padding: 10px 5px;
display: flex;
li {
list-style-type: none;
text-align: center;
width: 100px;
height: 30px;
line-height: 30px;
border-radius: 20px;
margin: 0 5px;
cursor: pointer;
background: rgba(38, 128, 235, 0.15);
}
li:hover {
border: 1px solid rgba(38, 128, 235, 0.5);
}
.li-focus {
border: 1px solid rgba(38, 128, 235, 0.5);
}
}
}
</style>
\ No newline at end of file
......@@ -20,20 +20,21 @@
>
<Row class="title-i">
<Col :span="20" class="order-code">
<Checkbox v-model="li.checked">订单号:{{li.order_id}}</Checkbox>
<Checkbox v-model="li.checked">订单号:{{li.mesCode}}</Checkbox>
</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">
<span>工序:{{li.routing_schema}}</span>
<span>工序:{{li.drawnNumber}}</span>
</div>
<div class="time-s">{{li.demand_start}}{{li.demand_finish}}</div>
<div class="time-s">{{li.demandFinishDate}}{{li.demandStartDate}}</div>
</div>
</div>
<div class="aps-r">
<div class="r-title">排产设置盘</div>
<Form :model="formItem" :label-width="100">
<FormItem label="工时">
<DatePicker
......@@ -64,7 +65,7 @@
</Select>
</FormItem>
<FormItem>
<FormItem v-if="formItem.radio==0">
<!-- <UserSelect ref="userSelected" v-model="formItem.DistributeMainRouting" /> -->
<div class="list-check">
<Checkbox-List
......@@ -79,13 +80,18 @@
<!-- v-if="tagGroup.lenght>0" -->
<FormItem label="已选择" v-if="formItem.radio==0">
<div class="tag-list">
<Tag
<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>
>{{val.name}}</Tag>-->
</div>
</FormItem>
<FormItem label="备注">
......@@ -107,7 +113,7 @@
<script>
import CheckboxList from "./checkboxList";
// import Set from './set'
// import Api from './api'
import Api from "./api";
export default {
name: "list",
components: {
......@@ -119,32 +125,7 @@ export default {
data() {
return {
// activeindex: 1,
list: [
{
part_task_pk: "euuei",
order_id: "hdhfk",
routing_version: "fsslllsl",
demand_start: "2020-3-30",
demand_finish: "2020-3-30",
checked: true
},
{
part_task_pk: "euuei",
order_id: "hdhfk",
routing_version: "fsslllsl",
demand_start: "2020-3-30",
demand_finish: "2020-3-30",
checked: true
},
{
part_task_pk: "euuei",
order_id: "hdhfk",
routing_version: "fsslllsl",
demand_start: "2020-3-30",
demand_finish: "2020-3-30",
checked: false
}
],
list: [],
status: "0", //全部排产0,1为未排产;2为已排查;
partTaskPk: "", //车间
result: [],
......@@ -174,7 +155,20 @@ export default {
],
tagGroup: [
{
name: "张芳"
name: "张芳",
class: "1级"
},
{
name: "张芳",
class: "1级"
},
{
name: "张芳",
class: "1级"
},
{
name: "张芳",
class: "1级"
}
],
cityList: [
......@@ -198,7 +192,7 @@ export default {
};
},
created() {
// this.orderlist()
this.orderlist();
},
methods: {
// 过滤条件
......@@ -206,19 +200,21 @@ export default {
console.log(a);
// this.orderlist(a);
},
orderlist(a) {
if (a == 0) {
//全部
} else if (a == 1) {
//未排产
} else if (a == 2) {
//已排产
}
Api.getmesorder({ status: 2, workshop_id: 3 }).then(r => {
orderlist() {
// if (a == 0) {
// //全部
// } else if (a == 1) {
// //未排产
// } else if (a == 2) {
// //已排产
// }
Api.getpooltypeorderlist({ PoolType: 2 }).then(r => {
// console.log(r)
if (r.success) {
r.result.forEach(e => {
return (e.checked = false);
});
this.list = r.result;
this.listData(r.result[0].part_task_pk, 0);
}
});
},
......@@ -265,7 +261,8 @@ export default {
},
setData(val) {
this.tagGroup = val;
}
},
closeTag() {}
}
};
</script>
......@@ -336,6 +333,11 @@ export default {
padding: 15px 15px 15px 30px;
margin-left: 20px;
box-shadow: darkgrey 2px 2px 8px 1px; //边框阴影
.r-title {
font-size: 14px;
font-weight: bold;
margin-bottom: 10px;
}
.list-check {
border: 1px solid rgba(38, 128, 235, 0.5);
}
......@@ -343,6 +345,19 @@ export default {
width: 100%;
min-height: 50px;
border: 1px solid rgba(228, 230, 237, 1);
.tag-group {
display: inline-block;
text-align: center;
width: 100px;
height: 30;
line-height: 30px;
border-radius: 20px;
margin: 5px;
background: rgba(38, 128, 235, 0.25);
.ivu-icon {
cursor: pointer;
}
}
}
}
}
......
......@@ -37,7 +37,7 @@
<Row class="g-list">
<Col :span="2" class="chan-chi">工序列表</Col>
<Col :span="22" class="l-ringht">
<RadioGroup v-model="status" type="button" @on-change="changeStatus" size="small">
<RadioGroup v-model="status" type="button" @on-change="changeRodio" size="small">
<Radio label="0">全部</Radio>
<Radio label="1">未排产</Radio>
<Radio label="2">已排查</Radio>
......@@ -45,18 +45,55 @@
</Col>
</Row>
<div class="right-body">
<List :result="result"></List>
<div class="list">
<Timeline>
<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.resources_Type)">{{item.taskname}}</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.resources_Type_Name}}</div>
</TimelineItem>
</Timeline>
<div>
<Drawer title="排产设置盘" :closable="false" v-model="set" width="45%">
<Set :resourcesType="resourcesType"></Set>
</Drawer>
</div>
<!-- <List :result="result"></List> -->
</div>
</div>
</div>
<!-- 拆分 fenModel -->
<Modal
v-model="chaiModal"
title="拆分工序"
:width="400"
:mask-closable="false"
ok-text="拆分"
@on-ok="okChai()"
>
拆分数量:
<InputNumber v-model="chaiNum"></InputNumber>
<Slider v-model="chaiNum" :min="1"></Slider>
</Modal>
</div>
</template>
<script>
import List from "./list.vue";
// import List from "./list.vue";
import Set from "./set";
import Api from "./api";
export default {
name: "list",
components: {
List
Set
// List
},
async fetch({ store, params }) {
await store.dispatch("loadDictionary"); // 加载数据字典
......@@ -82,20 +119,33 @@ export default {
],
status: "0", //全部排产0,1为未排产;2为已排查;
partTaskPk: "", //车间
result: [],
result: [
{
taskname: "工序名称",
equip_id: "制造资源",
equip_type: "排产资源",
resources_Type_Name: "备注信息"
},
{
taskname: "工序名称",
equip_id: "制造资源",
equip_type: "排产资源",
resources_Type_Name: "备注信息"
}
],
isactive: 0,
selectName: "all"
selectName: "all",
resourcesType: null,
set: false,
chaiNum: 1, //拆分数量
chaiModal: false
};
},
created() {
// this.orderlist();
},
methods: {
// 过滤条件
changeStatus(a) {
console.log(a);
// this.orderlist(a);
},
//排产池列表
orderlist() {
Api.getmesorder({ status: 2, workshop_id: 3 }).then(r => {
// console.log(r)
......@@ -105,26 +155,25 @@ export default {
}
});
},
//点击选中排产订单
listData(li, index) {
this.status = "";
this.partTaskPk = li;
this.tagClick("all");
// this.status = "";
// this.partTaskPk = li;
// this.tagClick("all");
this.isactive = index;
},
tagClick(name) {
this.selectName = name;
this.tagTata(this.selectName);
// 排产池过滤条件
changeStatus(a) {
console.log(a);
// this.tagTata(a);
},
//工序排产过滤
changeRodio(a) {
console.log(a);
// this.tagTata(a);
},
tagTata(name) {
if (name == "all") {
this.status = "";
}
if (name == "yi") {
this.status = 13;
}
if (name == "wei") {
this.status = 0;
}
let data = {
part_task_pk: this.partTaskPk,
status: this.status
......@@ -136,7 +185,70 @@ export default {
}
});
},
close() {}
//删除排产订单
close() {
this.$Modal.confirm({
title: "删除",
content: "<p>您确定要移除此订单吗</p>",
onOk: () => {
this.$Message.success("删除成功");
},
onCancel: () => {
this.$Message.info("您已取消删除");
}
});
},
//工序列表序列设置
type(i) {
if (i == 0) {
return "normal";
} else if (i == 1) {
return "normal";
} else if (i == 2) {
return "normal";
} else if (i === this.result.length) {
return "success";
}
},
//设置工序
sets(name) {
this.set = true;
// this.resourcesType = name;
// if (this.resourcesType == 0 || this.resourcesType == 2) {
// this.set = true;
// } else {
// this.set = false;
// // this.$Message.info('没有设置盘')
// }
},
//拆分工序
split() {
this.chaiModal = true;
},
//拆分保存
okChai() {
// Api.saveTeamentry(this.chaiNum).then(res => {
// if (res.success) {
// this.getUserInfoFn();
// this.$Message.success("拆分成功。");
// } else {
// this.$Message.error("拆分失败...");
// }
// });
},
//删除工序
remove() {
this.$Modal.confirm({
title: "删除",
content: "<p>您确定要移除此工序吗</p>",
onOk: () => {
this.$Message.success("删除成功");
},
onCancel: () => {
this.$Message.info("您已取消删除");
}
});
}
}
};
</script>
......@@ -227,6 +339,25 @@ export default {
}
.right-body {
margin-top: 15px;
.list {
padding-left: 10px;
.set-name {
font-weight: bold;
color: rgba(38, 128, 235, 0.8);
span {
cursor: pointer;
}
.ivu-icon {
cursor: pointer;
}
.top {
text-align: center;
}
}
div {
height: 30px;
}
}
}
}
}
......
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