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

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

parents 0f348937 e8139db6
...@@ -1432,3 +1432,6 @@ html [type=button] { ...@@ -1432,3 +1432,6 @@ html [type=button] {
.gdShow { .gdShow {
box-shadow: 0px 0px 15px #333; box-shadow: 0px 0px 15px #333;
} }
.bgDDD{
background:#DDD
}
\ No newline at end of file
...@@ -27,19 +27,18 @@ ...@@ -27,19 +27,18 @@
<div v-width="50" class="fa-m fs"> <div v-width="50" class="fa-m fs">
<span>已选项</span> <span>已选项</span>
</div> </div>
<div class="fg"> <div class="fg">
<dl> <dl>
<dd v-for="(li,i) in checkedItems"> <dd v-for="(li,i) in checkedItems">
<div class="flex"> <div class="flex">
<span class="fg">{{li.userName}}</span> <span class="fg">{{li.userName}}</span>
<a @click="removeItem(li)"> <a @click="removeItem(li)">
<Icon type="md-close" size="16" /> <Icon type="md-close" size="16" />
</a> </a>
</div> </div>
</dd> </dd>
</dl> </dl>
</div> </div>
</div> </div>
</div> </div>
...@@ -53,13 +52,17 @@ ...@@ -53,13 +52,17 @@
clearable clearable
filterable filterable
> >
<Option v-for="item in dic" :value="item.value" :key="item.value" :label="item.label"> <Option
v-for="item in datas?datas:dic"
:value="item.value"
:key="item.value"
:label="item.label"
>
<div> <div>
<Icon :type="item.gender == 1 ? 'ios-man' : 'ios-woman'" /> {{ item.label }}
{{ item.label }}( <span style="color:#c3c3c3" v-if="item.cardNo">({{ item.cardNo }})</span>
<span style="color:#c3c3c3">{{ item.cardNo }}</span>)
<br /> <br />
<span style="color:#c3c3c3">{{ item.departmentTitle }}</span> <span style="color:#c3c3c3" v-if="item.departmentTitle">{{ item.departmentTitle }}</span>
</div> </div>
</Option> </Option>
</Select> </Select>
...@@ -111,6 +114,11 @@ export default { ...@@ -111,6 +114,11 @@ export default {
roleTitle: { roleTitle: {
type: String, type: String,
default: "" default: ""
},
datas: {
//自定义用户数据
type: Array,
default: null
} }
}, },
methods: { methods: {
...@@ -131,18 +139,18 @@ export default { ...@@ -131,18 +139,18 @@ export default {
}) })
.then(r => { .then(r => {
this.data = r.result; this.data = r.result;
if(this.theme=="list"){ if (this.theme == "list") {
this.departmentGroup(); this.departmentGroup();
} }
}); });
}, },
departmentGroup() { departmentGroup() {
var group = []; var group = [];
var users=this.$u.clone(this.data); var users = this.$u.clone(this.data);
if(this.name&&this.name.length>0){ if (this.name && this.name.length > 0) {
users.map(u=>{ users.map(u => {
u.checked=this.name.indexOf(u.id)>-1; u.checked = this.name.indexOf(u.id) > -1;
}) });
} }
group = this.$u.group(users, u => { group = this.$u.group(users, u => {
return u.departmentId; return u.departmentId;
...@@ -180,15 +188,15 @@ export default { ...@@ -180,15 +188,15 @@ export default {
this.$set(this.group, i, u); this.$set(this.group, i, u);
} }
}); });
this.listSetValue(); this.listSetValue();
}, },
//list 时,设置值。 //list 时,设置值。
listSetValue(){ listSetValue() {
var ids=[]; var ids = [];
this.checkedItems.map(u=>{ this.checkedItems.map(u => {
ids.push(u.id) ids.push(u.id);
}) });
this.$emit("on-change",ids); this.$emit("on-change", ids);
}, },
checkAll(item, i) { checkAll(item, i) {
item.children.map(u => { item.children.map(u => {
...@@ -207,9 +215,16 @@ export default { ...@@ -207,9 +215,16 @@ export default {
} else { } else {
if (!this.multiple) { if (!this.multiple) {
//单选时返回信息 //单选时返回信息
var item1 = this.dic.filter(u => u.value == this.value); if (this.datas && this.datas.length > 0) {
if (item1 && item1[0]) { var item2 = this.datas.filter(u => u.value == this.value);
items.push(item1[0]); if (item2 && item2[0]) {
items.push(item2[0]);
}
} else {
var item1 = this.dic.filter(u => u.value == this.value);
if (item1 && item1[0]) {
items.push(item1[0]);
}
} }
} else { } else {
//复选时返回 //复选时返回
...@@ -284,6 +299,11 @@ export default { ...@@ -284,6 +299,11 @@ export default {
this.getselectuser(v); this.getselectuser(v);
}, },
deep: true deep: true
},
datas(v) {
if (v) {
//alert(JSON.stringify(v))
}
} }
} }
}; };
......
<template> <template>
<div> <div style="z-index:200">
<viewer :options="options" :images="images" @inited="inited" class="viewer" ref="viewer"> <viewer :options="options" :images="images" @inited="inited" class="viewer" ref="viewer">
<template slot-scope="scope"> <template slot-scope="scope">
<figure class="images"> <figure class="images">
......
...@@ -77,10 +77,10 @@ export default { ...@@ -77,10 +77,10 @@ export default {
password password
}).then(r => { }).then(r => {
if (r > 0) { if (r > 0) {
this.$Message.success("登成功!"); this.$Message.success("登成功!");
this.initUserInfo(r); this.initUserInfo(r);
} else { } else {
this.$Message.error("登失败!"); this.$Message.error("登失败!");
} }
}); });
} }
......
...@@ -29,7 +29,7 @@ ...@@ -29,7 +29,7 @@
</div> </div>
<!-- <div class="page-account-top-desc tc">SaaS MES 制造执行系统</div> --> <!-- <div class="page-account-top-desc tc">SaaS MES 制造执行系统</div> -->
</div> </div>
<h3 class="mb20">用户登</h3> <h3 class="mb20">用户登</h3>
<Login @on-submit="handleSubmit"> <Login @on-submit="handleSubmit">
<UserName name="username" value="" /> <UserName name="username" value="" />
<Password name="password" value="" enter-to-submit /> <Password name="password" value="" enter-to-submit />
...@@ -80,10 +80,10 @@ export default { ...@@ -80,10 +80,10 @@ export default {
password password
}).then(r => { }).then(r => {
if (r > 0) { if (r > 0) {
this.$Message.success("登成功!"); this.$Message.success("登成功!");
this.initUserInfo(r); this.initUserInfo(r);
} else { } else {
this.$Message.error("登失败!"); this.$Message.error("登失败!");
} }
}); });
} }
......
...@@ -5,7 +5,7 @@ ...@@ -5,7 +5,7 @@
<img src="@/assets/images/home/user.png" /> <img src="@/assets/images/home/user.png" />
</div> </div>
<div class="user-text"> <div class="user-text">
<p>你好:张飞,欢迎登MES系统!</p> <p>你好:张飞,欢迎登MES系统!</p>
<p> <p>
<span>xx公司/xx车间xx班组</span> &nbsp &nbsp <span>xx公司/xx车间xx班组</span> &nbsp &nbsp
<span>工艺技术员</span> <span>工艺技术员</span>
......
...@@ -25,5 +25,14 @@ export default { ...@@ -25,5 +25,14 @@ export default {
entrentrycontinuestart(params) { entrentrycontinuestart(params) {
return Api.post(`${PlanUrl}/orderexecute/entrycontinue`, params); return Api.post(`${PlanUrl}/orderexecute/entrycontinue`, params);
}, },
//转序弹框产品+人员
productsandoperators(params) {
return Api.post(`${PlanUrl}/orderexecutehandon/productsandoperators`, params);
},
//确认发起转序
confirmproductsandoperator(params) {
return Api.post(`${PlanUrl}/orderexecutehandon/confirmproductsandoperator`, params);
},
} }
\ No newline at end of file
...@@ -37,26 +37,29 @@ export default { ...@@ -37,26 +37,29 @@ export default {
return { return {
gnFlag: 0, gnFlag: 0,
listTasks: [], listTasks: [],
dataLength: 0, dataLength: 0
}; };
}, },
props: { props: {
order: { order: {
type: String, type: [String, Number]
default: '',
}, },
asc: { asc: {
type: Boolean, type: Boolean,
default: true, default: true
},
statu: {
type: Number,
default: -9
} }
}, },
created() { created() {
this.loadTree(-9); this.loadTree();
}, },
methods: { methods: {
loadTree(value) { loadTree() {
let parmse = { let parmse = {
status: value, status: this.statu,
isAsc: this.asc isAsc: this.asc
}; };
Api.getCardList(parmse).then(res => { Api.getCardList(parmse).then(res => {
...@@ -84,14 +87,16 @@ export default { ...@@ -84,14 +87,16 @@ export default {
} }
}, },
watch: { watch: {
order(v) order(v) {
{
//alert(v) //alert(v)
}, },
asc(v) asc(v) {
{ this.asc = v;
this.asc=v this.loadTree();
this.loadTree(-9) },
statu(v) {
this.statu=v
this.loadTree();
} }
} }
}; };
......
...@@ -515,6 +515,124 @@ ...@@ -515,6 +515,124 @@
} }
} }
.wu_bgModal{
height: calc(100vh - 185px);
.mass_box{
padding: 0 50px;
}
.footer {
width: 100%;
position: absolute;
left: 0;
bottom: -5px;
height: 60px;
line-height: 60px;
background: rgba(0, 0, 0, 0.6);
color: #fff;
padding-left: 50px;
}
.mass_box{
h2{ height: 40px;}
// .weizhix{ color: #4d5055;}
.rangb{ color: #515A6E;}
.hege{ color: #2680EB;}
.fanxiu{ color: #FFA000;}
.feipin{ color: #FE7777;}
.chuanse{
button{
width: 88px;
height: 40px;
font-size: 16px;
margin: 0 30px 0 0;
color: #fff;
}
.button04{ background: #2680EB; }
.button01{ background: #515A6E; }
.button02{ background: #FFA000; }
.button03{ background: #FE7777; }
}
.mass_list{
border: 1px solid #CACBD0;
border-radius: 4px;
padding: 10px 15px;
margin: 15px 0;
.btn_play{
margin: 0 0 20px 0;
color: #4d5055;
}
.list01{
min-height: 50px;
max-height: 155px;
overflow-x: auto;
.tag_card{
cursor: pointer;
margin: 0 20px 15px 0;
}
.ivu-tag-checked{
border: 1px solid #2680EB !important;
}
.card_bor{
border: 1px solid #2680EB !important;
}
}
.list02{
min-height: 50px;
max-height: 100px;
overflow-y: auto;
.tag_card02{
margin: 0 20px 15px 0;
}
}
}
.hege_box{
.ivu-tag-dot-inner{
background: #2680EB;
}
}
.rangbu{
.list02{
.tag_card02{
.ivu-tag-dot-inner{
background: #515a6e;
}
}
}
}
.fanxiu_box{
.list02{
.tag_card02{
.ivu-tag-dot-inner{
background: #FFA000;
}
}
}
}
.fei_box{
width: calc(100% - 482px);
display: inline-block;
.list02{
.tag_card02{
.ivu-tag-dot-inner{
background: #FE7777;
}
}
}
}
.fei_right{
float: right;
padding-top: 15px;
line-height: 50px;
width: 460px;
}
}
.futer{
width: 100%;
height: 60px;
position: absolute;
bottom: 1px;
}
}
.tech_box{ .tech_box{
height: calc(100vh - 110px); height: calc(100vh - 110px);
.ivu-layout-header{ .ivu-layout-header{
...@@ -623,8 +741,7 @@ ...@@ -623,8 +741,7 @@
} }
.zhuanx{ .zhuanx{
text-align: center; text-align: center;
line-height: 50px; line-height: 60px;
.line_p{ .line_p input{
} }
} }
\ No newline at end of file
...@@ -2,33 +2,44 @@ ...@@ -2,33 +2,44 @@
@import "./execute.less"; @import "./execute.less";
</style> </style>
<template> <template>
<div class="execute_box"> <div class="execute_box">
<!-- <div class="top_title"> <!-- <div class="top_title">
<span class="fl">{{orderTitle}}</span> <span class="fl">{{orderTitle}}</span>
<div>工单编号: 12001011</div> <div>工单编号: 12001011</div>
</div> --> </div>-->
<component :is="detail" :gdid="gdId" :row="row"/> <component :is="detail" :gdid="gdId" :row="row" />
<a class="gd_list" @click="orderlistMode = true">工单列表</a> <a class="gd_list" @click="orderlistMode = true">工单列表</a>
<a class="gn_area" @click="functionalMode = true">功能区</a> <a class="gn_area" @click="functionalMode = true">功能区</a>
<!-- 工单列表 --> <!-- 工单列表 -->
<Drawer placement="left" class="gd_box" :closable="false" <Drawer
:inner="true" :transfer="false" v-model="orderlistMode"> placement="left"
<div slot="header"> class="gd_box"
<div class="header"> :closable="false"
<a class="gd_tt" @click="goToOrder"><Icon type="ios-undo-outline" />工单列表</a> :inner="true"
<Dictionary code="taskList.status" class="select_star fr" v-model="odermodel" @on-change="searchOrder"></Dictionary> :transfer="false"
</Option> v-model="orderlistMode"
</Select> >
<div slot="header">
<div class="header">
<a class="gd_tt" @click="goToOrder">
<Icon type="ios-undo-outline" />工单列表
</a>
<Dictionary
code="taskList.status"
class="select_star fr"
v-model="odermodel"
@on-change="searchOrder"
></Dictionary>
</div> </div>
<div class="select_t"> <div class="select_t">
<Button @click="changeAsc">{{ascTitle}}</Button> <Button @click="changeAsc">{{ascTitle}}</Button>
</div> </div>
</div> </div>
<!-- 列表卡片主内容 --> <!-- 列表卡片主内容 -->
<orderlist ref="orderlist" :asc="asc" :order="inputId" /> <orderlist ref="orderlistref" :asc="asc" :statu="statu" :order="inputId" />
</Drawer> </Drawer>
<!-- 功能区 --> <!-- 功能区 -->
<Drawer <Drawer
class="gn_box" class="gn_box"
:closable="false" :closable="false"
:inner="true" :inner="true"
...@@ -54,22 +65,23 @@ export default { ...@@ -54,22 +65,23 @@ export default {
functionalMode: false, functionalMode: false,
gdId: 0, gdId: 0,
detail: null, detail: null,
row:{}, row: {},
odermodel: -9, odermodel: -9,
orderId: this.$route.query.id, orderId: this.$route.query.id,
condition: [], condition: [],
inputId: null, inputId: null,
asc:true, asc: true,
ascTitle:'时间正序排序' ascTitle: "时间正序排序",
statu:-9
}; };
}, },
created() { created() {
let row={} let row = {};
row.id = this.$route.query.id; row.id = this.$route.query.id;
row.orderId = this.$route.query.orderId; row.orderId = this.$route.query.orderId;
row.executeId = this.$route.query.executeId; row.executeId = this.$route.query.executeId;
this.row=row this.row = row;
this.inputId=this.$route.query.id this.inputId = this.$route.query.id;
this.detail = () => import("./starOrder/index"); this.detail = () => import("./starOrder/index");
}, },
async fetch({ store, params }) { async fetch({ store, params }) {
...@@ -84,11 +96,11 @@ export default { ...@@ -84,11 +96,11 @@ export default {
this.$router.push("/produce/orderlist"); this.$router.push("/produce/orderlist");
}, },
searchOrder(value) { searchOrder(value) {
if(value==''||value==null||value==undefined) if (value == null || typeof value == "undefined") {
{ value = -9;
value=-9 }
} this.statu=value
this.$refs.orderlist.loadTree(value); // this.$refs.orderlistref.loadTree(value);
}, },
changeTitle(number, type) { changeTitle(number, type) {
this.orderTitle = type; this.orderTitle = type;
...@@ -97,21 +109,21 @@ export default { ...@@ -97,21 +109,21 @@ export default {
this.detail = () => import("./starOrder/index"); this.detail = () => import("./starOrder/index");
} //进度汇报 } //进度汇报
if (number == 1) { if (number == 1) {
this.$Message.info("尊敬的用户,您没有该权限!") this.$Message.info("尊敬的用户,您没有该权限!");
// this.detail = () => import("./MaterialCollec/index"); // this.detail = () => import("./MaterialCollec/index");
} //物料领用 } //物料领用
if (number == 2) { if (number == 2) {
// this.detail = () => import("./productSet/index"); // this.detail = () => import("./productSet/index");
this.$Message.info("尊敬的用户,您没有该权限!") this.$Message.info("尊敬的用户,您没有该权限!");
} //产品装配 } //产品装配
if (number == 3) { if (number == 3) {
this.detail = () => import("./taskTime/index"); this.detail = () => import("./taskTime/index");
} //工时分配 } //工时分配
if (number == 4) { if (number == 4) {
this.$Message.info("尊敬的用户,您没有该权限!") this.$Message.info("尊敬的用户,您没有该权限!");
// this.detail = () => import("./preparation/index"); // this.detail = () => import("./preparation/index");
} //生产准备 } //生产准备
if (number == 5) { if (number == 5) {
this.detail = () => import("./ProcessCheck/index"); this.detail = () => import("./ProcessCheck/index");
} //工艺查看 } //工艺查看
if (number == 6) { if (number == 6) {
...@@ -124,31 +136,25 @@ export default { ...@@ -124,31 +136,25 @@ export default {
this.detail = () => import("./datafilling/index"); this.detail = () => import("./datafilling/index");
} //数据填报 } //数据填报
if (number == 9) { if (number == 9) {
this.$Message.info("尊敬的用户,您没有该权限!") this.$Message.info("尊敬的用户,您没有该权限!");
// this.detail = () => import("./testdata/index"); // this.detail = () => import("./testdata/index");
} //测试数据 } //测试数据
}, },
changeAsc() changeAsc() {
{ this.asc = !this.asc;
this.asc=!this.asc if (this.asc) {
if(this.asc) this.ascTitle = "时间正序排序";
{ } else {
this.ascTitle='时间正序排序' this.ascTitle = "时间倒序排序";
}
else
{
this.ascTitle='时间倒序排序'
} }
} }
}, },
watch: { watch: {
'$route.query.id'(v) "$route.query.id"(v) {
{ this.row.id = v;
this.row.id = v this.inputId = v;
this.inputId=v this.detail = () => import("./starOrder/index");
this.detail = () => import("./starOrder/index") }
},
} }
}; };
</script> </script>
<template> <template>
<div class> <div>
<div class="star" v-if="dispatchStatus==12"> <div class="star" v-if="dispatchStatus==12">
<a class="start" @click="starFun"> <a class="start" @click="starFun">
<Icon type="md-play" />开工 <Icon type="md-play" />开工
...@@ -53,7 +53,7 @@ ...@@ -53,7 +53,7 @@
<li>图号:{{entity.drawnNumber}}</li> <li>图号:{{entity.drawnNumber}}</li>
<li> <li>
状态: 状态:
<state code="plan.order.status" ref="state" :value="entity.status" type="text"></state> <state code="plan.order.status" ref="state" :value="entity.status" type="text" ></state>
</li> </li>
<li>订单编号:{{entity.mesCode}}</li> <li>订单编号:{{entity.mesCode}}</li>
<li>批次号:{{entity.batchNumber}}</li> <li>批次号:{{entity.batchNumber}}</li>
...@@ -68,23 +68,48 @@ ...@@ -68,23 +68,48 @@
<li>派工数量:{{entity.dispatchQuantity}}</li> <li>派工数量:{{entity.dispatchQuantity}}</li>
<li>人员信息:{{entity.userNames}}</li> <li>人员信息:{{entity.userNames}}</li>
<li>准备工时:{{entity.setupTime}}</li> <li>准备工时:{{entity.setupTime}}</li>
<li>工单状态: <state code="taskList.status" ref="state1" :value="dispatchStatus" type="text"></state></li> <li>
工单状态:
<state code="taskList.status" ref="state1" :value="dispatchStatus" type="text"></state>
</li>
</ul> </ul>
</div> </div>
<div class="img_box fl" style="background:#DDD"> <div class="img_box fl bgDDD">
<ViewerImg :images="images" /> <ViewerImg :images="images" />
</div> </div>
</div> </div>
<Modal v-model="ransferModal" :title="transferTitle" width="800"> <Modal v-model="ransferModal" :title="transferTitle" fullscreen style="z-index:99999" :footer-hide="cardlist.length==0">
<!-- <component :is="detail" :eid="curId" @on-close="cancel" @on-ok="ok" footer-hide/> --> <div class="wu_bgModal">
<div class="zhuanx"> <div class="mass_box">
<p class="line_p"> <div class="mass_list">
<Input prefix="ios-contact-outline" placeholder="请输入人员编号" style="width: auto" /> <h2 class="btn_play tl">
<!-- <UserSelect ref="userSelected" :multiple="true" style="width: 220px;margin:0 auto;"/> --> 选择产品({{cardlist.length}}
</p> <Button class="button" type="primary" @click="allcheck">全选</Button>
<p class="line_p"> <Button class="button" type="primary" @click="rechecked">反选</Button>
<Input prefix="ios-lock-outline" placeholder="请输入人员密码" style="width: auto" /> </h2>
</p> <div class="list01 tl">
<Tag
type="dot"
:checkable="true"
class="tag_card"
size="large"
v-for="(item,index) in cardlist"
:name="item.id"
:key="index"
:checked="item.checked"
color="primary"
@on-change="changeCards"
>{{item.product_code}}</Tag>
</div>
</div>
</div>
<div class="mass_box">
<UserSelect ref="userSelected" :datas="userlist" v-model="user" v-width="300" />
</div>
</div>
<div slot="footer">
<Button class="button" @click="ransferModal=false">取消</Button>
<Button class="button" type="primary" @click="ransOk">确定</Button>
</div> </div>
</Modal> </Modal>
</div> </div>
...@@ -125,14 +150,20 @@ export default { ...@@ -125,14 +150,20 @@ export default {
? true ? true
: Number(this.$route.query.dispatchStatus) == 5 : Number(this.$route.query.dispatchStatus) == 5
? true ? true
: false : false,
cardlist: [],
detailId: null,
nextDetailId: null,
operatorId: null,
userlist: [],
user: null
}; };
}, },
created() { created() {
// this.treeHeight = window.innerHeight - 120; // this.treeHeight = window.innerHeight - 120;
}, },
async fetch({ store, params }) { async fetch({ store, params }) {
await store.dispatch("loadDictionary"); // 加载数据字典 await store.dispatch("loadDictionary");
}, },
mounted() { mounted() {
this.load(this.id); this.load(this.id);
...@@ -217,6 +248,7 @@ export default { ...@@ -217,6 +248,7 @@ export default {
}, },
transferFn() { transferFn() {
this.ransferModal = true; this.ransferModal = true;
this.getProduce();
}, },
load(v) { load(v) {
//加载基础数据 //加载基础数据
...@@ -278,9 +310,103 @@ export default { ...@@ -278,9 +310,103 @@ export default {
show() { show() {
this.$viewer.show(); this.$viewer.show();
}, },
goPage(type,title) goPage(type, title) {
{ this.$parent.changeTitle(type, title);
this.$parent.changeTitle(type,title) },
getProduce() {
this.cardlist = [];
let pid = Number(this.$route.query.id); // JSON.stringify()
let params = {
id: Number(this.$route.query.id),
executeId: Number(this.$route.query.executeId)
};
Api.productsandoperators(params)
.then(res => {
if (res.success && res.result) {
this.detailId = res.result.detailId;
this.nextDetailId = res.result.nextDetailId;
let users = res.result.users;
this.userlist = [];
users.forEach(u => {
(u.value = u.id), (u.label = u.userName);
this.userlist.push(u);
});
let resoult = res.result.products;
resoult.filter(u => {
u.checked = false;
this.cardlist.push(u);
});
}
})
.catch(e => {
this.$Message.error("连接错误");
});
},
// 全选
allcheck() {
let cardslist = this.cardlist;
cardslist.map(a => {
a.checked = true;
});
},
// 反选
rechecked() {
let cardslist = this.cardlist;
cardslist.map(b => {
b.checked = !b.checked;
});
},
// 单选
changeCards(checked, name) {
let cardlist = this.cardlist;
cardlist.map((u, i) => {
if (u.id == name) {
u.checked = checked;
}
});
},
//确定转续
ransOk() {
let userInfo = this.$refs.userSelected.getSelectItems();
let cardlist = this.cardlist;
let upList = [];
cardlist.map((u, i) => {
if (u.checked) {
upList.push(u.id);
}
});
if (upList.length == 0) {
this.$Message.error("请选择转续的产品!");
return;
}
if (!userInfo || userInfo.length == 0) {
this.$Message.error("请选择人员!");
return;
}
let params = {
id: Number(this.$route.query.id),
detailId: this.detailId,
nextDetailId: this.nextDetailId,
productIds: upList,
operatorId: userInfo[0].id,
operator: userInfo[0].userName
};
Api.confirmproductsandoperator(params)
.then(res => {
if (res.success && res.result) {
this.$Message.success("转续成功");
this.ransferModal=false
}
else{
this.$Message.error("转续失败");
}
})
.catch(e => {
this.$Message.error("连接错误");
});
} }
}, },
watch: { watch: {
......
<style lang="less">
@import "../execute/execute.less";
</style>
<template> <template>
<div class="p20"> <div>
<div class=""> <DataGrid
转序交接 :action="action"
</div> :columns="columns"
:conditions="easySearch"
</div> ref="grid"
@on-selection-change="onSelect"
:batch="true"
:border="false"
:high="false"
>
<template slot="easySearch">
<Form ref="formInline" :model="easySearch" inline>
<FormItem prop="keys">
<Input
search
enter-button
placeholder="请输入关键字订单编号/项目名称"
v-model="easySearch.keys.value"
@on-search="search"
v-width="300"
/>
</FormItem>
</Form>
</template>
<template slot="batch">
<Button type="primary" class="mr10 ml10" @click="openTrans">确认转续</Button>
</template>
</DataGrid>
<Modal v-model="transModal" title="确认转续" width="900">
<div class="zhuanx mt30">
<p class="line_p">
<Input prefix="ios-contact-outline" placeholder="请输入人员编号" style="width: auto" />
</p>
<p class="line_p">
<Input prefix="ios-lock-outline" placeholder="请输入人员密码" style="width: auto" />
</p>
</div>
<div slot="footer">
<Button @click="transModal = false">取消</Button>
<Button type="primary" @click="transOk">确定转续</Button>
</div>
</Modal>
</div>
</template> </template>
<script> <script>
import Api from "../api";
export default { export default {
name:'starOrder', name: "reOrder",
data(){ data() {
return{ return {
starmodal: false, action: Api.index,
starmodal: false,
easySearch: {
keys: {
op: "mesCode,productName",
value: null,
default: true
} }
},
transModal: false,
arrayIds: [],
rowDataArry: [],
columns: [
{
key: "selection",
type: "selection",
width: 50,
align: "center"
},
{
key: "quantity",
title: this.l("quantity"),
align: "right",
high: true,
width: 80
},
{
key: "taskRequire",
title: this.l("taskRequire"),
align: "left",
easy: true,
high: true,
hide: true
},
{
key: "status",
title: this.l("status"),
align: "center",
high: true,
code: "plan.order.status",
width: 100
},
{
key: "productCode",
title: this.l("productCode"),
align: "left",
easy: true,
high: true,
hide: true
},
{
key: "productName",
title: this.l("productName"),
align: "left",
easy: true,
high: true
},
{
key: "drawnNumber",
title: this.l("drawnNumber"),
align: "left",
easy: true,
high: true
},
{
key: "batchNumber",
title: this.l("batchNumber"),
align: "left",
easy: true,
high: true
},
{
key: "projectNumber",
title: this.l("projectNumber"),
align: "left",
easy: true,
high: true
},
{
key: "urgencyLevel",
title: this.l("urgencyLevel"),
align: "center",
high: true,
code: "plan.order.urgencyLevel",
width: 100
},
{
title: "操作",
key: "action",
width: 180,
align: "center",
render: (h, params) => {
return h("div", { class: "action" }, [
h(
"op",
{
attrs: { oprate: "edit" },
on: { click: () => this.openTrans(params.row) },
style: params.row.status == 1 ? "display:none" : ""
},
"确认转续"
)
]);
}
}
]
};
},
created() {
// this.treeHeight = window.innerHeight - 120;
},
async fetch({ store, params }) {
await store.dispatch("loadDictionary"); // 加载数据字典
},
mounted() {
window.onresize = () => {
///浏览器窗口大小变化
return (() => {
this.treeHeight = window.innerHeight - 120;
})();
};
},
methods: {
search() {
this.easySearch.keys.value = this.easySearch.keys.value.trim();
this.$refs.grid.reload(this.easySearch);
}, },
created() { openTrans() {
// this.treeHeight = window.innerHeight - 120; this.transModal = true;
},
async fetch({ store, params }) {
await store.dispatch("loadDictionary"); // 加载数据字典
}, },
mounted() { transOk() {
window.onresize = () => { alert("确定转续");
///浏览器窗口大小变化
return (() => {
this.treeHeight = window.innerHeight - 120;
})();
};
}, },
methods: { onSelect(a, b) {
starFun(){ //alert(JSON.stringify(a));
this.$Message.success("开工...") //批量选择
}, let selectRows = a;
this.arrayIds = [];
this.rowDataArry = a;
selectRows.forEach(e => {
this.arrayIds.push(e.id);
});
}, },
} l(key) {
let vkey = "mes_plan" + "." + key;
return this.$t(vkey) || key;
}
}
};
</script> </script>
...@@ -23,7 +23,7 @@ export default ({ ...@@ -23,7 +23,7 @@ export default ({
next(); next();
} else { } else {
// 没有登录的时候跳转到登录界面 // 没有登录的时候跳转到登录界面
// 携带上登成功之后需要跳转的页面完整路径 // 携带上登成功之后需要跳转的页面完整路径
next({ next({
name: 'login', name: 'login',
query: { query: {
......
...@@ -1067,3 +1067,6 @@ html [type=button] { ...@@ -1067,3 +1067,6 @@ html [type=button] {
.gdShow { .gdShow {
box-shadow: 0px 0px 15px #333; box-shadow: 0px 0px 15px #333;
} }
.bgDDD {
background: #DDD;
}
...@@ -41,7 +41,7 @@ ...@@ -41,7 +41,7 @@
} }
.execute_box .gd_list { .execute_box .gd_list {
position: absolute; position: absolute;
top: 40%; top: 43%;
left: 0px; left: 0px;
background: #2680EB; background: #2680EB;
color: #fff; color: #fff;
...@@ -52,7 +52,7 @@ ...@@ -52,7 +52,7 @@
} }
.execute_box .gn_area { .execute_box .gn_area {
position: absolute; position: absolute;
top: 40%; top: 43%;
right: 0px; right: 0px;
background: #515A6E; background: #515A6E;
color: #fff; color: #fff;
...@@ -84,13 +84,16 @@ ...@@ -84,13 +84,16 @@
background: #ddd; background: #ddd;
margin: 10px 0 0 170px; margin: 10px 0 0 170px;
} }
.execute_box .bottom_box {
height: calc(100vh - 145px);
overflow-y: auto;
padding: 15px 40px 0px;
}
.execute_box .pross_case { .execute_box .pross_case {
padding: 5px 50px 0; padding: 5px 50px 0;
}
.execute_box .pross_case .table_box {
height: calc(100vh - 105px); height: calc(100vh - 105px);
} }
.execute_box .pross_case .table_box .card_box { .execute_box .pross_case .card_box {
background: #F5F6FA; background: #F5F6FA;
border: 1px solid #dedede7d; border: 1px solid #dedede7d;
padding: 10px; padding: 10px;
...@@ -99,12 +102,40 @@ ...@@ -99,12 +102,40 @@
margin: 10px 0 20px; margin: 10px 0 20px;
line-height: 30px; line-height: 30px;
} }
.execute_box .pross_case .table_box .card_box i { .execute_box .pross_case .card_box i {
font-size: 62px; font-size: 62px;
} }
.execute_box .pross_case .table_box .card_box:hover { .execute_box .pross_case .card_box:hover {
box-shadow: 4px 5px 7px #d2d2d2bd; box-shadow: 4px 5px 7px #d2d2d2bd;
} }
.execute_box .pros_check {
height: calc(100vh - 175px);
padding: 0;
}
.card_body {
border: 1px solid #e4e6ed;
border-radius: 4px;
margin-bottom: 30px;
}
.card_body .title_i {
padding: 0 8px;
height: 35px;
line-height: 35px;
color: #fff;
background: #a7b8cc;
font-size: 15px;
}
.card_body .btn_click {
text-align: right;
}
.card_body .down_text {
background: #a7b8cc33;
padding: 5px 8px;
line-height: 32px;
}
.card_body .down_text i {
font-size: 62px;
}
.gd_box .ivu-drawer-wrap .ivu-drawer-left { .gd_box .ivu-drawer-wrap .ivu-drawer-left {
width: 370px!important; width: 370px!important;
} }
...@@ -133,7 +164,7 @@ ...@@ -133,7 +164,7 @@
} }
.gd_box .ivu-drawer-wrap .ivu-drawer-left .ivu-drawer-content .ivu-drawer-body { .gd_box .ivu-drawer-wrap .ivu-drawer-left .ivu-drawer-content .ivu-drawer-body {
padding: 0; padding: 0;
height: calc(100% - 210px); height: calc(100% - 115px);
} }
.gd_box .ivu-drawer-wrap .ivu-drawer-left .ivu-drawer-content .ivu-drawer-body .order_list .select_t { .gd_box .ivu-drawer-wrap .ivu-drawer-left .ivu-drawer-content .ivu-drawer-body .order_list .select_t {
padding: 15px 20px; padding: 15px 20px;
...@@ -275,7 +306,7 @@ ...@@ -275,7 +306,7 @@
height: 59px; height: 59px;
line-height: 60px; line-height: 60px;
text-align: center; text-align: center;
width: calc(50% - 2px); width: calc(100% - 0px);
} }
.gs_set .gs_card_box .gs_card .gs_footer .gs_del { .gs_set .gs_card_box .gs_card .gs_footer .gs_del {
background: #2680EB; background: #2680EB;
...@@ -335,7 +366,7 @@ ...@@ -335,7 +366,7 @@
color: #fff; color: #fff;
} }
.wu_bg { .wu_bg {
height: calc(100vh - 100px); height: calc(100vh - 115px);
} }
.wu_bg .mass_box { .wu_bg .mass_box {
padding: 0 50px; padding: 0 50px;
...@@ -354,12 +385,12 @@ ...@@ -354,12 +385,12 @@
.wu_bg .mass_box h2 { .wu_bg .mass_box h2 {
height: 40px; height: 40px;
} }
.wu_bg .mass_box .heger {
color: #2680EB;
}
.wu_bg .mass_box .rangb { .wu_bg .mass_box .rangb {
color: #515A6E; color: #515A6E;
} }
.wu_bg .mass_box .hege {
color: #2680EB;
}
.wu_bg .mass_box .fanxiu { .wu_bg .mass_box .fanxiu {
color: #FFA000; color: #FFA000;
} }
...@@ -373,6 +404,9 @@ ...@@ -373,6 +404,9 @@
margin: 0 30px 0 0; margin: 0 30px 0 0;
color: #fff; color: #fff;
} }
.wu_bg .mass_box .chuanse .button04 {
background: #2680EB;
}
.wu_bg .mass_box .chuanse .button01 { .wu_bg .mass_box .chuanse .button01 {
background: #515A6E; background: #515A6E;
} }
...@@ -390,6 +424,7 @@ ...@@ -390,6 +424,7 @@
} }
.wu_bg .mass_box .mass_list .btn_play { .wu_bg .mass_box .mass_list .btn_play {
margin: 0 0 20px 0; margin: 0 0 20px 0;
color: #4d5055;
} }
.wu_bg .mass_box .mass_list .list01 { .wu_bg .mass_box .mass_list .list01 {
min-height: 50px; min-height: 50px;
...@@ -414,6 +449,9 @@ ...@@ -414,6 +449,9 @@
.wu_bg .mass_box .mass_list .list02 .tag_card02 { .wu_bg .mass_box .mass_list .list02 .tag_card02 {
margin: 0 20px 15px 0; margin: 0 20px 15px 0;
} }
.wu_bg .mass_box .hege_box .ivu-tag-dot-inner {
background: #2680EB;
}
.wu_bg .mass_box .rangbu .list02 .tag_card02 .ivu-tag-dot-inner { .wu_bg .mass_box .rangbu .list02 .tag_card02 .ivu-tag-dot-inner {
background: #515a6e; background: #515a6e;
} }
...@@ -439,6 +477,118 @@ ...@@ -439,6 +477,118 @@
position: absolute; position: absolute;
bottom: 1px; bottom: 1px;
} }
.wu_bgModal {
height: calc(100vh - 185px);
}
.wu_bgModal .mass_box {
padding: 0 50px;
}
.wu_bgModal .footer {
width: 100%;
position: absolute;
left: 0;
bottom: -5px;
height: 60px;
line-height: 60px;
background: rgba(0, 0, 0, 0.6);
color: #fff;
padding-left: 50px;
}
.wu_bgModal .mass_box h2 {
height: 40px;
}
.wu_bgModal .mass_box .rangb {
color: #515A6E;
}
.wu_bgModal .mass_box .hege {
color: #2680EB;
}
.wu_bgModal .mass_box .fanxiu {
color: #FFA000;
}
.wu_bgModal .mass_box .feipin {
color: #FE7777;
}
.wu_bgModal .mass_box .chuanse button {
width: 88px;
height: 40px;
font-size: 16px;
margin: 0 30px 0 0;
color: #fff;
}
.wu_bgModal .mass_box .chuanse .button04 {
background: #2680EB;
}
.wu_bgModal .mass_box .chuanse .button01 {
background: #515A6E;
}
.wu_bgModal .mass_box .chuanse .button02 {
background: #FFA000;
}
.wu_bgModal .mass_box .chuanse .button03 {
background: #FE7777;
}
.wu_bgModal .mass_box .mass_list {
border: 1px solid #CACBD0;
border-radius: 4px;
padding: 10px 15px;
margin: 15px 0;
}
.wu_bgModal .mass_box .mass_list .btn_play {
margin: 0 0 20px 0;
color: #4d5055;
}
.wu_bgModal .mass_box .mass_list .list01 {
min-height: 50px;
max-height: 155px;
overflow-x: auto;
}
.wu_bgModal .mass_box .mass_list .list01 .tag_card {
cursor: pointer;
margin: 0 20px 15px 0;
}
.wu_bgModal .mass_box .mass_list .list01 .ivu-tag-checked {
border: 1px solid #2680EB !important;
}
.wu_bgModal .mass_box .mass_list .list01 .card_bor {
border: 1px solid #2680EB !important;
}
.wu_bgModal .mass_box .mass_list .list02 {
min-height: 50px;
max-height: 100px;
overflow-y: auto;
}
.wu_bgModal .mass_box .mass_list .list02 .tag_card02 {
margin: 0 20px 15px 0;
}
.wu_bgModal .mass_box .hege_box .ivu-tag-dot-inner {
background: #2680EB;
}
.wu_bgModal .mass_box .rangbu .list02 .tag_card02 .ivu-tag-dot-inner {
background: #515a6e;
}
.wu_bgModal .mass_box .fanxiu_box .list02 .tag_card02 .ivu-tag-dot-inner {
background: #FFA000;
}
.wu_bgModal .mass_box .fei_box {
width: calc(100% - 482px);
display: inline-block;
}
.wu_bgModal .mass_box .fei_box .list02 .tag_card02 .ivu-tag-dot-inner {
background: #FE7777;
}
.wu_bgModal .mass_box .fei_right {
float: right;
padding-top: 15px;
line-height: 50px;
width: 460px;
}
.wu_bgModal .futer {
width: 100%;
height: 60px;
position: absolute;
bottom: 1px;
}
.tech_box { .tech_box {
height: calc(100vh - 110px); height: calc(100vh - 110px);
} }
...@@ -548,3 +698,7 @@ ...@@ -548,3 +698,7 @@
display: inline-block; display: inline-block;
color: #515a6e; color: #515a6e;
} }
.zhuanx {
text-align: center;
line-height: 60px;
}
...@@ -10,7 +10,7 @@ let address=systemApi.dev; ...@@ -10,7 +10,7 @@ let address=systemApi.dev;
//let address=systemApi.local; //let address=systemApi.local;
window.systemUrl = `http://${address}:10000/system`; //System-api 系统管理(基础数据) window.systemUrl = `http://${address}:10000/system`; //System-api 系统管理(基础数据)
window.authUrl = `http://${address}:10010`; //Authentication-api //统一登认证 window.authUrl = `http://${address}:10010`; //Authentication-api //统一登认证
window.designUrl = `http://${address}:10000/process`; // 工艺规程 window.designUrl = `http://${address}:10000/process`; // 工艺规程
window.PlanUrl = `http://${address}:10000/plan`; //订单 window.PlanUrl = `http://${address}:10000/plan`; //订单
// window.PlanUrl = `http://localhost:10050/api/services/app`; //Process-api // window.PlanUrl = `http://localhost:10050/api/services/app`; //Process-api
...@@ -26,7 +26,7 @@ window.technologyUrl =`http://${address}:10000/technology/`;//新工艺规程接 ...@@ -26,7 +26,7 @@ window.technologyUrl =`http://${address}:10000/technology/`;//新工艺规程接
window.iconImg = `/imgicon/`; window.iconImg = `/imgicon/`;
/* window.systemUrl = `http://${address}:10020/api/services/app`; //System-api 系统管理(基础数据) /* window.systemUrl = `http://${address}:10020/api/services/app`; //System-api 系统管理(基础数据)
window.authUrl = `http://${address}:10010`; //Authentication-api //统一登认证 window.authUrl = `http://${address}:10010`; //Authentication-api //统一登认证
window.designUrl = `http://${address}:10030/api/services/app`; //Process-api 工艺规程 window.designUrl = `http://${address}:10030/api/services/app`; //Process-api 工艺规程
window.PlanUrl = `http://${address}:10050/api/services/app`; //Process-api window.PlanUrl = `http://${address}:10050/api/services/app`; //Process-api
window.routeUrl = `http://${address}:10050/api/services/app`; //Process-api window.routeUrl = `http://${address}:10050/api/services/app`; //Process-api
......
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