Commit 67d7e6b7 authored by 仇晓婷's avatar 仇晓婷

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

parents 65630c91 31a0ab97
...@@ -27,7 +27,7 @@ ...@@ -27,7 +27,7 @@
</div> </div>
<div class="fg" ref="ftable"> <div class="fg" ref="ftable">
<div v-if="type=='card'" class="table-card"> <div v-if="type=='card'" class="table-card">
<Row> <Row :gutter="gutter">
<Col :span="span" v-for="(row,i) in list" :key="i"> <Col :span="span" v-for="(row,i) in list" :key="i">
<slot name="card" :row="row"> <slot name="card" :row="row">
<span>{{row.id}}</span> <span>{{row.id}}</span>
...@@ -237,6 +237,10 @@ export default { ...@@ -237,6 +237,10 @@ export default {
return ["table", "card", "list"].indexOf(value) !== -1; return ["table", "card", "list"].indexOf(value) !== -1;
} }
}, },
gutter:{
type:Number,
default:0
},
span: { span: {
type: Number, type: Number,
default: 24 default: 24
...@@ -589,6 +593,9 @@ export default { ...@@ -589,6 +593,9 @@ export default {
} }
.fg { .fg {
overflow: auto; overflow: auto;
.table-card{
overflow: hidden;
}
} }
.tableCommon tr td { .tableCommon tr td {
line-height: 25px; line-height: 25px;
......
...@@ -1092,13 +1092,13 @@ export default { ...@@ -1092,13 +1092,13 @@ export default {
put_into_qty: '投产数量', put_into_qty: '投产数量',
plan_start: '计划排产开始', plan_start: '计划排产开始',
plan_finish: '计划排产结束', plan_finish: '计划排产结束',
setup_time: '准备工时', setup_time: '排产准结工时',
run_time: '单件工时', run_time: '单件工时',
transport_time: '转运时间', transport_time: '转运时间',
check_time: '检验时间', check_time: '检验时间',
efficiency_value: '效率系数', efficiency_value: '效率系数',
singleout: '单件产出', singleout: '单件产出',
first_equip: '设备编号', first_equip: '首选资源',
equip_type: '设备类型', equip_type: '设备类型',
cal_id: '连班策略', cal_id: '连班策略',
machine_rule: '设备优先规则', machine_rule: '设备优先规则',
......
...@@ -39,7 +39,7 @@ ...@@ -39,7 +39,7 @@
</Col> </Col>
<Col span="12"> <Col span="12">
<FormItem label="分解数量" style="width:100%" prop="splitQuantity"> <FormItem label="分解数量" style="width:100%" prop="splitQuantity">
<InputNumber :min="1" v-model="orderForm.splitQuantity" :step="1" style="width:180px"></InputNumber> <InputNumber :min="0" v-model="orderForm.splitQuantity" style="width:180px"></InputNumber>
<Button type="primary" @click="addSplitOrder">确定</Button> <Button type="primary" @click="addSplitOrder">确定</Button>
</FormItem> </FormItem>
</Col> </Col>
...@@ -177,6 +177,11 @@ export default { ...@@ -177,6 +177,11 @@ export default {
}, },
//确定增加数量 //确定增加数量
addSplitOrder() { addSplitOrder() {
if (this.orderForm.splitQuantity < 2||this.orderForm.splitQuantity==undefined) {
this.dataList = [];
return;
}
if (this.orderForm.quantity >= this.orderForm.splitQuantity) { if (this.orderForm.quantity >= this.orderForm.splitQuantity) {
this.dataListRetrun.items = []; this.dataListRetrun.items = [];
this.$refs["formValidate"].validate(valid => { this.$refs["formValidate"].validate(valid => {
...@@ -267,7 +272,7 @@ export default { ...@@ -267,7 +272,7 @@ export default {
this.orderForm = this.$u.clone(this.row); this.orderForm = this.$u.clone(this.row);
this.orderForm.planStartTime = this.orderForm.demandStartDate; this.orderForm.planStartTime = this.orderForm.demandStartDate;
this.orderForm.planEndTime = this.orderForm.demandFinishDate; this.orderForm.planEndTime = this.orderForm.demandFinishDate;
this.orderForm.splitQuantity = 2; //this.orderForm.splitQuantity = 2;
this.dataListRetrun.id = this.orderForm.id; this.dataListRetrun.id = this.orderForm.id;
this.dataListRetrun.quantity = this.orderForm.quantity; this.dataListRetrun.quantity = this.orderForm.quantity;
this.dataListRetrun.mesCode = this.orderForm.mesCode; this.dataListRetrun.mesCode = this.orderForm.mesCode;
......
...@@ -4,5 +4,7 @@ export default { ...@@ -4,5 +4,7 @@ export default {
paged(params) { paged(params) {
return Api.post(`${PlanUrl}/orderexecutenew/paged_img`, params); return Api.post(`${PlanUrl}/orderexecutenew/paged_img`, params);
}, },
getCardList(params) {
return Api.post(`${PlanUrl}/orderexecutenew/list`, params);
},
} }
...@@ -15,48 +15,31 @@ ...@@ -15,48 +15,31 @@
<div class="card_box"> <div class="card_box">
<Card class="card_order" v-for="(item,index) in listTasks" <Card class="card_order" v-for="(item,index) in listTasks"
@click.native="goPage(item)" :key="index" @click.native="goPage(item)" :key="index"
:class="item.status=='未开工'? 'card_border1' : (item.status=='执行中' ? 'card_border2': (item.status=='暂停中' ?'card_border3': :class="item.status==12 ? 'card_border1' : (item.status==14 ? 'card_border2': (item.status==5 ?'card_border3':
(item.status=='交检中'?'card_border4':(item.status=='交接中'?'card_border5':''))))" (item.status==7?'card_border4':(item.status==-1?'card_border5':''))))"
> >
<p slot="title">{{item.title}} <span class="fr" >{{item.status}}</span></p>
<p class="order_tit">{{item.shebei}}</p> <!-- :class="item.status=='未开工'? 'card_border1' : (item.status=='执行中' ? 'card_border2': (item.status=='暂停中' ?'card_border3':
<p><Icon type="ios-pricetags" />{{item.gongxu}}</p> (item.status=='交检中'?'card_border4':(item.status=='交接中'?'card_border5':''))))" -->
<p>{{item.time}}</p> <p slot="title">{{item.mesCode}}
<state
code="taskList.status"
ref="state" class="fr"
:value="item.status"
type="text"
></state>
<!-- <span >{{item.status}}</span> -->
</p>
<p class="order_tit">{{item.productName}}</p>
<p><Icon type="ios-pricetags" />{{item.taskName}}</p>
<p>{{item.beginTime}}~{{item.endTime}}</p>
</Card> </Card>
<!-- <Card class="card_order"> <p>{{listTasks.length}} 个工单</p>
<p slot="title">CJ_181212_002_001 <span class="fr">未开工</span></p>
<p class="order_tit">发动机</p>
<p><Icon type="ios-pricetags" />工序1:领料</p>
<p>2018-12-12 ~ 2018-12-30</p>
</Card>
<Card class="card_order">
<p slot="title">CJ_181212_002_001 <span class="fr">执行中</span></p>
<p class="order_tit">发动机</p>
<p><Icon type="ios-pricetags" />工序1:领料</p>
<p>2018-12-12 ~ 2018-12-30</p>
</Card>
<Card class="card_order">
<p slot="title">CJ_181212_002_001 <span class="fr">暂停中</span></p>
<p class="order_tit">发动机</p>
<p><Icon type="ios-pricetags" />工序1:领料</p>
<p>2018-12-12 ~ 2018-12-30</p>
</Card>
<Card class="card_order">
<p slot="title">CJ_181212_002_001 <span class="fr">交检中</span></p>
<p class="order_tit">发动机</p>
<p><Icon type="ios-pricetags" />工序1:领料</p>
<p>2018-12-12 ~ 2018-12-30</p>
</Card>
<Card class="card_order">
<p slot="title">CJ_181212_002_001 <span class="fr">已完成</span></p>
<p class="order_tit">发动机</p>
<p><Icon type="ios-pricetags" />工序1:领料</p>
<p>2018-12-12 ~ 2018-12-30</p>
</Card> -->
</div> </div>
</div> </div>
</template> </template>
<script> <script>
import Api from "../../api";
export default { export default {
name:'orderlist', name:'orderlist',
data(){ data(){
...@@ -88,51 +71,7 @@ export default { ...@@ -88,51 +71,7 @@ export default {
}, },
], ],
listTasks:[], listTasks:[],
listTask:[ dataLength:0,
{
title: 'CJ_181212_002_001',
status: '已完成',
shebei: '发动机',
gongxu: '工序1:领料',
time: '2018-12-12 ~ 2018-12-30',
},{
title: 'CJ_181212_002_002',
status: '未开工',
shebei: '发动机',
gongxu: '工序1:领料',
time: '2018-12-12 ~ 2018-12-30',
},{
title: 'CJ_181212_002_003',
status: '执行中',
shebei: '发动机',
gongxu: '工序1:领料',
time: '2018-12-12 ~ 2018-12-30',
},{
title: 'CJ_181212_002_004',
status: '暂停中',
shebei: '发动机',
gongxu: '工序1:领料',
time: '2018-12-12 ~ 2018-12-30',
},{
title: 'CJ_181212_002_005',
status: '交检中',
shebei: '发动机',
gongxu: '工序1:领料',
time: '2018-12-12 ~ 2018-12-30',
},{
title: 'CJ_181212_002_006',
status: '交接中',
shebei: '发动机',
gongxu: '工序1:领料',
time: '2018-12-12 ~ 2018-12-30',
},{
title: 'CJ_181212_002_007',
status: '已完成',
shebei: '发动机',
gongxu: '工序1:领料',
time: '2018-12-12 ~ 2018-12-30',
},
],
} }
}, },
created() { created() {
...@@ -140,7 +79,18 @@ export default { ...@@ -140,7 +79,18 @@ export default {
}, },
methods: { methods: {
loadTree(){ loadTree(){
this.listTasks = this.listTask let parmse = {
status: 0,
isAsc: true
}
Api.getCardList(parmse).then(res=>{
if(res.success){
this.listTasks = res.result
this.dataLength = res.result.length
// let len = res.result.length;
// this.$emit('getListLength',len)
}
})
}, },
gnFunto(number,type){ gnFunto(number,type){
this.gnFlag = number this.gnFlag = number
...@@ -164,5 +114,8 @@ export default { ...@@ -164,5 +114,8 @@ export default {
} }
}, },
}, },
watch:{
},
} }
</script> </script>
\ No newline at end of file
...@@ -109,15 +109,20 @@ ...@@ -109,15 +109,20 @@
border: none; border: none;
.header { .header {
height: 34px; height: 34px;
line-height: 22px;
margin: 0 -16px; margin: 0 -16px;
padding: 0 15px 0; padding: 0 15px 0;
border-bottom: 1px solid #ccc; border-bottom: 1px solid #ccc;
.select_star{
margin-top: -6px;
}
.openAll{ .openAll{
margin: 0 0 0 55px; margin: 0 0 0 55px;
} }
} }
.select_t{ .select_t{
padding: 15px 0 0 0; padding: 15px 0 0 0;
text-align: right;
} }
} }
.ivu-drawer-body { .ivu-drawer-body {
...@@ -424,6 +429,8 @@ ...@@ -424,6 +429,8 @@
} }
} }
.fei_box{ .fei_box{
width: calc(100% - 520px);
display: inline-block;
.list02{ .list02{
.tag_card02{ .tag_card02{
.ivu-tag-dot-inner{ .ivu-tag-dot-inner{
...@@ -432,11 +439,6 @@ ...@@ -432,11 +439,6 @@
} }
} }
} }
.fei_box{
width: calc(100% - 520px);
display: inline-block;
margin: 0;
}
.fei_right{ .fei_right{
float: right; float: right;
line-height: 50px; line-height: 50px;
......
...@@ -15,14 +15,25 @@ ...@@ -15,14 +15,25 @@
:inner="true" :transfer="false" v-model="orderlistMode"> :inner="true" :transfer="false" v-model="orderlistMode">
<div slot="header"> <div slot="header">
<div class="header"> <div class="header">
<span class="gd_tt">工单列表</span> <a class="gd_tt" @click="goToOrder"><Icon type="ios-undo-outline" />工单列表</a>
<a class="openAll"><Icon type="ios-list" size="18" /> 展开全部列表</a> <Select v-model="odermodel" class="select_star fr" style="width:100px" @on-change="searchOrder">
<Option v-for="item in oderList" :value="item.value" :key="item.index">{{ item.label }}
<!-- <state
code="taskList.status"
ref="state" class="fr"
:value="item.value"
type="text"
></state> -->
</Option>
</Select>
<!-- <a class="openAll"><Icon type="ios-list" size="18" /> 展开全部列表</a> -->
</div> </div>
<div class="select_t"> <div class="select_t">
<Select v-model="odermodel" style="width:100px" @on-change="searchOrder"> <!-- <Select v-model="odermodel" style="width:100px" @on-change="searchOrder">
<Option v-for="item in oderList" :value="item.value" :key="item.index">{{ item.label }}</Option> <Option v-for="item in oderList" :value="item.value" :key="item.index">{{ item.label }}</Option>
</Select> </Select> -->
<Button class="fr">时间正序排列</Button> <!-- <span class="gd_length">{{listLength}}</span> -->
<Button class="">时间正序排列</Button>
</div> </div>
</div> </div>
<orderlist ref="orderlist"/> <orderlist ref="orderlist"/>
...@@ -43,52 +54,70 @@ export default { ...@@ -43,52 +54,70 @@ export default {
orderTitle:'进度汇报', orderTitle:'进度汇报',
orderindex:0, orderindex:0,
gdId:0, gdId:0,
listLength:0,//工单数量
starmodal: true, starmodal: true,
orderlistMode:false, orderlistMode:false,
functionalMode:false, functionalMode:false,
detail: null, detail: null,
odermodel:'全部', odermodel: -9,
oderList:[ oderList:[
{ {
value: '全部', value: -9,
label: '全部' label: '全部'
},{ },{
value: '未开工', value: 12,
label: '未开工' label: '未开工'
},{ },{
value: '执行中', value: 14,
label: '执行中' label: '执行中'
},{ },{
value: '暂停中', value: 0,
label: '暂停中' label: '已完成'
},{ },{
value: '交检中', value: 5,
label: '交检中' label: '暂停中'
},{ },{
value: '交接中', value: 7,
label: '交接中' label: '已终止'
},{ },{
value: '已完成', value: -1,
label: '已完成' label: '待派工'
}, },
// value: '交检中',
// label: '交检中'
// },{
// value: '交接中',
// label: '交接中'
// },{
], ],
} }
}, },
created() { created() {
this.detail = () => import("./starOrder/index"); this.detail = () => import("./starOrder/index");
}, },
async fetch({ store, params }) { async fetch({ store, params }) {
await store.dispatch("loadDictionary"); // 加载数据字典 await store.dispatch("loadDictionary"); // 加载数据字典
}, },
mounted() {}, mounted() {
},
comments:{ },
methods: { methods: {
starFun(){ starFun(){
this.$Message.success("开工...") this.$Message.success("开工...")
}, },
// getListLength(len){
// this.listLength = len
// },
// 返回工单列表
goToOrder(){
this.$router.push("/produce/orderlist");
},
searchOrder(value){ searchOrder(value){
let allList = this.$refs.orderlist.listTask; let allList = this.$refs.orderlist.listTasks;
let newitems = []; let newitems = [];
if(value=="全部"){ if(value=="-9"){
this.$refs.orderlist.loadTree(); this.$refs.orderlist.loadTree();
}else{ }else{
allList.map((u,i)=>{ allList.map((u,i)=>{
...@@ -114,5 +143,12 @@ export default { ...@@ -114,5 +143,12 @@ export default {
if(number==9){ this.detail = () => import("./testdata/index");}//测试数据 if(number==9){ this.detail = () => import("./testdata/index");}//测试数据
}, },
}, },
watch:{
listLength(val,newV){
console.log("111",val)
console.log("020202",newV)
// this.listLength =
}
},
} }
</script> </script>
...@@ -19,53 +19,67 @@ ...@@ -19,53 +19,67 @@
<Button class="button02" @click="chansefan">返修</Button> <Button class="button02" @click="chansefan">返修</Button>
<Button class="button03" @click="chansefei">废品</Button> <Button class="button03" @click="chansefei">废品</Button>
</div> </div>
<div class="mass_list rangbu"> <div class="mass_list rangbu" v-if="ranglist.length>0">
<h2 class="rangb">让步({{ranglist.length}}</h2> <h2 class="rangb">让步({{ranglist.length}}</h2>
<div class="list02"> <div class="list02">
<Tag type="dot" class="tag_card02" v-for="(item,index) in ranglist" :key="index" :name="item.id" :checkable="false" closable @on-close="handleClose">{{ item.code}}</Tag> <Tag type="dot" class="tag_card02" v-for="(item,index) in ranglist" :key="index" :name="item.id" :checkable="false" closable @on-close="handleClose">{{ item.code}}</Tag>
</div> </div>
</div> </div>
<div class="mass_list fanxiu_box"> <div class="mass_list fanxiu_box" v-if="fanlist.length>0">
<h2 class="fanxiu">返修({{fanlist.length}}</h2> <h2 class="fanxiu">返修({{fanlist.length}}</h2>
<div class="list02"> <div class="list02">
<Tag type="dot" class="tag_card02" v-for="(item,index) in fanlist" :key="index" :name="item.id" :checkable="false" closable @on-close="fanClose">{{ item.code}}</Tag> <Tag type="dot" class="tag_card02" v-for="(item,index) in fanlist" :key="index" :name="item.id" :checkable="false" closable @on-close="fanClose">{{ item.code}}</Tag>
</div> </div>
</div> </div>
<div class="mass_list fei_box"> <div class="mass_list fei_box" v-if="feilist.length>0">
<h2 class="feipin">废品({{feilist.length}}</h2> <h2 class="feipin">废品({{feilist.length}}</h2>
<div class="list02"> <div class="list02">
<Tag type="dot" class="tag_card02" v-for="(item,index) in feilist" :key="index" :name="item.id" :checkable="false" closable @on-close="feiClose">{{ item.code}}</Tag> <Tag type="dot" class="tag_card02" v-for="(item,index) in feilist" :key="index" :name="item.id" :checkable="false" closable @on-close="feiClose">{{ item.code}}</Tag>
<!-- <div class="file_card" v-for="(item,index) in ranglist" :label="item.id" :key="index">
{{item.code}}
<a class="del_card" @click="delCard"><Icon type="ios-close"/></a>
</div> -->
</div> </div>
</div> </div>
<div class="fei_right"> <div class="fei_right" v-if="feilist.length>0">
<p>问题原因:<Select style="width:80%" :disabled="feilist.length == 0 ? true:false">
<Option value="" class="option-text">请选择</Option><!-- :disabled="feilist.length>0" placeholder="选择问题原因" --> <p>问题原因:<Select style="width:80%">
<Option value="" class="option-text">请选择</Option><!-- :disabled="feilist.length == 0 ? true:false" placeholder="选择问题原因" -->
<Option v-for="item in problemList" :value="item.number" :key="item.index">{{ item.number }}</Option> <Option v-for="item in problemList" :value="item.number" :key="item.index">{{ item.number }}</Option>
</Select></p> </Select></p>
<p>责任归属:<Select style="width:80%" :disabled="feilist.length == 0 ? true:false"> <p>责任归属:<Select style="width:80%">
<Option value="" class="option-text">请选择</Option> <!-- placeholder="选择责任人" --> <Option value="" class="option-text">请选择</Option> <!-- placeholder="选择责任人" -->
<Option v-for="item in blameList" :value="item.user" :key="item.index">{{ item.user }}</Option> <Option v-for="item in blameList" :value="item.user" :key="item.index">{{ item.user }}</Option>
</Select></p> </Select></p>
</div> </div>
</div> </div>
<div class="futer flex fc-ev" > <div class="futer flex fc-ev" v-if="ranglist.length>0||fanlist.length>0||feilist.length>0" >
<Button class="button" size='large' type="primary" @click="submit"> 提交</Button> <Button class="button" size='large' type="primary" @click="sendOrder" v-if="feilist.length>0"> 送审</Button>
<Button class="button" size='large' type="primary" @click="submit" v-else> 提交</Button>
<Button class="button" size='large' @click="toOrder"> 取消</Button> <Button class="button" size='large' @click="toOrder"> 取消</Button>
</div> </div>
<!-- 订单送审 -->
<Modal
v-model="ModalOrder"
title="订单送审"
:mask-closable="false"
:scrollable="true"
fullscreen>
<OrderSendReview ref="orderSendReview"></OrderSendReview>
<div slot="footer">
<Button @click="ModalOrder = false">取消</Button>
<Button type="primary" @click="orderSendOk">确定送审</Button>
</div>
</Modal>
</div> </div>
</template> </template>
<script> <script>
import OrderSendReview from '@/components/orderOperator/orderSendReview'
export default { export default {
name:'starOrder', name:'starOrder',
components:{OrderSendReview},
data(){ data(){
return{ return{
checkedflag:false, checkedflag:false,
ModalOrder:false,
cardlist:[ cardlist:[
{ {
status:0, status:0,
...@@ -272,6 +286,27 @@ export default { ...@@ -272,6 +286,27 @@ export default {
submit(){ submit(){
this.$Message.success("提交中...") this.$Message.success("提交中...")
}, },
// 送审
sendOrder(){
this.$Message.success("送审...")
this.ModalOrder = true
//打开订单审批modal层
// let selectList = this.$refs.table.selectLists()
let arrStatu = [0, 1] //状态为0[驳回]或1[新建] 才能进行订单的送审
// if (selectList.length > 0) {
// if (this.checkArrStatu(selectList, arrStatu)) {
// this.ModalOrderSendReview = true
// this.$refs.orderSendReview.intData(this.$refs.table.selectLists())
// } else {
// this.$Message.error('选择订单中有不允许进行送审的订单!')
// }
// } else {
// this.$Message.error('请选择送审的订单!')
// }
},
orderSendOk(){
ahis.$Message.success("送审中...")
},
// 取消 // 取消
toOrder(){ toOrder(){
this.$router.push("/produce/orderlist"); this.$router.push("/produce/orderlist");
......
...@@ -13,6 +13,7 @@ ...@@ -13,6 +13,7 @@
:conditions="easySearch" :conditions="easySearch"
:action="action" :action="action"
:set="false" :set="false"
:gutter="30"
> >
<template slot="easySearch"> <template slot="easySearch">
<Form ref="formInline" :model="easySearch" inline> <Form ref="formInline" :model="easySearch" inline>
...@@ -280,17 +281,15 @@ export default { ...@@ -280,17 +281,15 @@ export default {
</script> </script>
<style lang="less"> <style lang="less">
.aps-r { .aps-r {
width: 100%; // width: 100%;
height: 100%; // height: 100%;
overflow: auto; // overflow: auto;
padding: 15px 0 15px 15px; // padding: 15px 0 15px 15px;
.body { .body {
background: white; background: white;
border-radius: 4px; border-radius: 4px;
border: #cacbd0 solid 1px; border: #cacbd0 solid 1px;
margin-left: 40px; margin-bottom: 30px;
margin-right: 40px;
margin-bottom: 39px;
.title-i { .title-i {
padding: 0 8px; padding: 0 8px;
height: 38px; height: 38px;
......
...@@ -52,7 +52,7 @@ ...@@ -52,7 +52,7 @@
</Col> </Col>
<Col :span="8"> <Col :span="8">
<FormItem :label="l('departmentName')" prop="departmentId"> <FormItem :label="l('departmentName')" prop="departmentId">
<departmentSelect v-model="entity.departmentId" @on-change="departChange"></departmentSelect> <departmentSelect v-model="entity.departmentId" type="3" @on-change="departChange"></departmentSelect>
</FormItem> </FormItem>
</Col> </Col>
<Col :span="8"> <Col :span="8">
......
...@@ -49,7 +49,7 @@ ...@@ -49,7 +49,7 @@
</Col> </Col>
<Col :span="8"> <Col :span="8">
<FormItem :label="l('departmentName')" prop="departmentId"> <FormItem :label="l('departmentName')" prop="departmentId">
<departmentSelect v-model="entity.departmentId" @on-change="departChange"></departmentSelect> <departmentSelect v-model="entity.departmentId" type="3" @on-change="departChange"></departmentSelect>
</FormItem> </FormItem>
</Col> </Col>
......
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