Commit 8ec6fa8a authored by 仇晓婷's avatar 仇晓婷

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

parents 05a177e5 31282b72
...@@ -297,6 +297,9 @@ div::-webkit-scrollbar-corner { ...@@ -297,6 +297,9 @@ div::-webkit-scrollbar-corner {
.mr30 { .mr30 {
margin-right: 30px; margin-right: 30px;
} }
.mr40 {
margin-right: 40px;
}
.mtb10 { .mtb10 {
margin: 10px 0; margin: 10px 0;
......
...@@ -1664,7 +1664,7 @@ export default { ...@@ -1664,7 +1664,7 @@ export default {
nameMaterial: '物料名称', nameMaterial: '物料名称',
materialNumber: '物料编号', materialNumber: '物料编号',
needCount: '需要数量', needCount: '需要数量',
totalCount: '需数量', totalCount: '需数量',
outStockNumber: '出库数量', outStockNumber: '出库数量',
orderId: '', orderId: '',
remark: '备注', remark: '备注',
...@@ -1672,7 +1672,10 @@ export default { ...@@ -1672,7 +1672,10 @@ export default {
storeTitle: '库位名称', storeTitle: '库位名称',
stockCode: '物料序号', stockCode: '物料序号',
count1:"可申请数", count1:"可申请数",
count2:"申请数" count2:"申请数",
count3:"已领用数/出库数",
count4:"领用",
applicationNumber:"申请数"
}, },
//导入中心 //导入中心
import_center:{ import_center:{
......
<template> <template>
<div class="h100 table-content"> <div class="h100 table-content1">
<p class="mb10"> <p class="mb10">
订单编号:{{mesCodes}} 订单编号:{{mesCodes}}
<span class="ml20">产品名称:{{productNames}}</span> <span class="ml20">产品名称:{{productNames}}</span>
<span class="ml20">生产数量:{{counts}}</span> <span class="ml20">生产数量:{{counts}}</span>
</p> </p>
<div class="mb20" v-for="(item,i) in datas" :key="i"> <div class="mb70" v-for="(item,i) in datas" :key="i">
<p class="fwBold">{{item.routingHeader}}------{{item.routingHeaderCode}}</p> <p class="fwBold">{{item.routingHeader}}------{{item.routingHeaderCode}}</p>
<Table <Table border :columns="cols" :data="item.suport" :ref="'table'+item.routingHeaderId" class="tableCommon" @on-selection-change="selectionChange(i)" @on-select-cancel="selectListCancel" @on-select-all-cancel="selectAllCancel" @on-select="selectList" @on-select-all="selectListAll">
border
:columns="cols"
:data="item.suport"
:ref="'table'+item.routingHeaderId"
class="tableCommon"
@on-selection-change="selectionChange(i)"
@on-select-cancel="selectListCancel"
@on-select-all-cancel="selectAllCancel"
@on-select="selectList"
@on-select-all="selectListAll"
>
<template slot-scope="{ row, index }" slot="counts"> <template slot-scope="{ row, index }" slot="counts">
<InputNumber <InputNumber :max="row.totalCount" :min="0" v-model="row.count" @on-change="inputChange1(i,row,index)" />
:max="row.totalCount"
:min="0"
v-model="row.count"
@on-change="inputChange1(i,row,index)"
/>
</template> </template>
<template slot-scope="{ row, index }" slot="remarks"> <template slot-scope="{ row, index }" slot="remarks">
<Input type="text" v-model="row.remark" @on-change="inputChange1(i,row,index)" /> <Input type="text" v-model="row.remark" @on-change="inputChange1(i,row,index)" />
...@@ -35,24 +18,24 @@ ...@@ -35,24 +18,24 @@
</Table> </Table>
</div> </div>
<FooterToolbar v-show="footerToolbar" class="ftball"> <FooterToolbar v-show="footerToolbar" class="ftball pt10">
<!--<div class="tip">已选{{selectItems.length}}项</div>--> <!--<div class="tip">已选{{selectItems.length}}项</div>-->
<Form :model="orderForm" :label-width="110" ref="formValidate" :rules="ruleValidate"> <Form :model="orderForm" :inline="true" :label-width="0" ref="formValidate" :rules="ruleValidate">
<FormItem label=" " prop="QuotationFinishDate"> <FormItem prop="QuotationFinishDate">
<DatePicker <DatePicker v-model="orderForm.QuotationFinishDate" type="date" style="color:black" placeholder="请选择齐套日期" @on-change="getTimeQuotationFD"></DatePicker>
v-model="orderForm.QuotationFinishDate"
type="date"
style="color:black"
placeholder="请选择齐套日期"
@on-change="getTimeQuotationFD"
></DatePicker>
</FormItem> </FormItem>
</Form> <FormItem>
<Button type="primary" class="mr10 ml10" @click="application">申请配套</Button> <Button type="primary" class="mr10 ml10" @click="application">申请配套</Button>
</FormItem>
<FormItem>
<Button @click="cancelBatch" v-show="false">取消</Button> <Button @click="cancelBatch" v-show="false">取消</Button>
</FormItem>
</Form>
</FooterToolbar> </FooterToolbar>
</div> </div>
</template> </template>
<script> <script>
import Api from "./api"; import Api from "./api";
export default { export default {
...@@ -64,8 +47,7 @@ export default { ...@@ -64,8 +47,7 @@ export default {
curId: 0, curId: 0,
editIndex: -1, editIndex: -1,
editNum: "", editNum: "",
cols: [ cols: [{
{
type: "selection", type: "selection",
width: 70, width: 70,
align: "center", align: "center",
...@@ -122,13 +104,11 @@ export default { ...@@ -122,13 +104,11 @@ export default {
counts: this.count, counts: this.count,
curArr: 0, //标记当前操作工艺规程列表是否为空 curArr: 0, //标记当前操作工艺规程列表是否为空
ruleValidate: { ruleValidate: {
QuotationFinishDate: [ QuotationFinishDate: [{
{
required: true, required: true,
message: "_", message: "_",
trigger: "change", trigger: "change",
}, }, ],
],
}, },
tempList: [], tempList: [],
cRow: null, cRow: null,
...@@ -145,12 +125,17 @@ export default { ...@@ -145,12 +125,17 @@ export default {
mounted() { mounted() {
this.load(this.eid); this.load(this.eid);
}, },
async fetch({ store, params }) { async fetch({
store,
params
}) {
await store.dispatch("loadDictionary"); // 加载数据字典 await store.dispatch("loadDictionary"); // 加载数据字典
}, },
methods: { methods: {
load(v) { load(v) {
Api.matchlist({ id: v }).then((r) => { Api.matchlist({
id: v
}).then((r) => {
if (r.success) { if (r.success) {
r.result.forEach((e) => { r.result.forEach((e) => {
let i = 0; let i = 0;
...@@ -294,7 +279,7 @@ export default { ...@@ -294,7 +279,7 @@ export default {
let parms = { let parms = {
main: { main: {
orderId: this.orderId, orderId: this.orderId,
orderCode:this.mesCode, orderCode: this.mesCode,
productName: this.productNames, productName: this.productNames,
drawnNumber: this.drawnNumbers, drawnNumber: this.drawnNumbers,
count: this.counts, count: this.counts,
...@@ -340,4 +325,3 @@ export default { ...@@ -340,4 +325,3 @@ export default {
}, },
}; };
</script> </script>
...@@ -56,6 +56,10 @@ export default { ...@@ -56,6 +56,10 @@ export default {
matchdetaillist(params){//配套审核单列表 matchdetaillist(params){//配套审核单列表
return Api.get(`${technologyUrl}materiallist/matchdetaillist`, params); return Api.get(`${technologyUrl}materiallist/matchdetaillist`, params);
}, },
//物料领用
materialreceiveCreate(params){//配套审核单列表
return Api.post(`${technologyUrl}materialreceive/create`, params);
},
} }
\ No newline at end of file
<template> <template>
<div class="h100 table-content"> <div class="h100 table-content1">
<p class="mb10"> <p class="mb10">
订单编号:{{mesCodes}} 订单编号:{{mesCodes}}
<span class="ml20">产品名称:{{productNames}}</span> <span class="ml20">产品名称:{{productNames}}</span>
...@@ -13,67 +12,31 @@ ...@@ -13,67 +12,31 @@
</span> </span>
</p> </p>
<div class="mb20" v-for="(item,i) in datas" :key="i"> <div class="mb70" v-for="(item,i) in datas" :key="i">
<p class="fwBold">{{item.routingHeader}}------{{item.routingHeaderCode}}</p> <p class="fwBold">{{item.routingHeader}}------{{item.routingHeaderCode}}</p>
<Table <Table border :columns="cols" :data="item.suport" :ref="'table'+item.routingHeaderId" class="tableCommon" @on-selection-change="selectionChange(i)" @on-select-cancel="selectListCancel" @on-select-all-cancel="selectAllCancel" @on-select="selectList" @on-select-all="selectListAll">
border
:columns="cols"
:data="item.suport"
:ref="'table'+item.routingHeaderId"
class="tableCommon"
@on-selection-change="selectionChange(i)"
@on-select-cancel="selectListCancel"
@on-select-all-cancel="selectAllCancel"
@on-select="selectList"
@on-select-all="selectListAll"
>
<template slot-scope="{ row, index }" slot="counts"> <template slot-scope="{ row, index }" slot="counts">
<InputNumber <InputNumber :max="row.totalCount-row.applicationNumber" :min="0" v-model="row.count" @on-change="inputChange1(i,row,index)" :disabled="row._disabled" />
:max="row.totalCount-row.applicationNumber"
:min="0"
v-model="row.count"
@on-change="inputChange1(i,row,index)"
:disabled="row._disabled"
/>
</template> </template>
<template slot-scope="{ row, index }" slot="remarks"> <template slot-scope="{ row, index }" slot="remarks">
<Input <Input type="text" v-model="row.remark" @on-change="inputChange1(i,row,index)" :disabled="row._disabled" />
type="text"
v-model="row.remark"
@on-change="inputChange1(i,row,index)"
:disabled="row._disabled"
/>
</template> </template>
</Table> </Table>
</div> </div>
<FooterToolbar v-show="footerToolbar" class="ftball"> <FooterToolbar v-show="footerToolbar" class="ftball pt10">
<!--<div class="tip">已选{{selectItems.length}}项</div>--> <!--<div class="tip">已选{{selectItems.length}}项</div>-->
<Form :model="orderForm" :label-width="110" ref="formValidate" :rules="ruleValidate"> <Form :model="orderForm" :inline="true" :label-width="0" ref="formValidate" :rules="ruleValidate">
<FormItem label=" " prop="QuotationFinishDate"> <FormItem prop="QuotationFinishDate">
<DatePicker <DatePicker v-model="orderForm.QuotationFinishDate" type="date" style="color:black" placeholder="请选择齐套日期" @on-change="getTimeQuotationFD"></DatePicker>
v-model="orderForm.QuotationFinishDate"
type="date"
style="color:black"
placeholder="请选择齐套日期"
@on-change="getTimeQuotationFD"
></DatePicker>
</FormItem> </FormItem>
<FormItem l><Button type="primary" class="mr10 ml10" @click="application">申请配套</Button></FormItem>
</Form> </Form>
<Button type="primary" class="mr10 ml10" @click="application">申请配套</Button>
</FooterToolbar> </FooterToolbar>
<Modal v-model="modalAccessoryList" :title="title" fullscreen footer-hide> <Modal v-model="modalAccessoryList" :title="title" fullscreen footer-hide>
<component <component :is="detailAcc" :eid="orderId" :mesCode="mesCodes" :productName="productNames" :drawnNumber="drawnNumber" :count="counts" @on-close="cancel" @on-ok="onOk" />
:is="detailAcc"
:eid="orderId"
:mesCode="mesCodes"
:productName="productNames"
:drawnNumber="drawnNumber"
:count="counts"
@on-close="cancel"
@on-ok="onOk"
/>
</Modal> </Modal>
<Modal v-model="modalAccSet" title="临时设置" footer-hide width="800"> <Modal v-model="modalAccSet" title="临时设置" footer-hide width="800">
<Form :model="entity" :label-width="110" ref="formValidateSet" :rules="ruleValidate"> <Form :model="entity" :label-width="110" ref="formValidateSet" :rules="ruleValidate">
...@@ -95,21 +58,12 @@ ...@@ -95,21 +58,12 @@
</Col> </Col>
<Col span="12"> <Col span="12">
<FormItem label="可再申请" prop="count"> <FormItem label="可再申请" prop="count">
<InputNumber <InputNumber :max="entity.needCount-entity.applicationNumber" :min="0" v-model="entity.count" />
:max="entity.needCount-entity.applicationNumber"
:min="0"
v-model="entity.count"
/>
</FormItem> </FormItem>
</Col> </Col>
<Col span="12"> <Col span="12">
<FormItem label="齐套日期" prop="finishDate"> <FormItem label="齐套日期" prop="finishDate">
<DatePicker <DatePicker v-model="entity.finishDate" type="date" placeholder="请选择齐套日期" @on-change="getTimeFinish"></DatePicker>
v-model="entity.finishDate"
type="date"
placeholder="请选择齐套日期"
@on-change="getTimeFinish"
></DatePicker>
</FormItem> </FormItem>
</Col> </Col>
<Col span="24"> <Col span="24">
...@@ -126,8 +80,9 @@ ...@@ -126,8 +80,9 @@
</Row> </Row>
</Form> </Form>
</Modal> </Modal>
</div> </div>
</template> </template>
<script> <script>
import Api from "./api"; import Api from "./api";
export default { export default {
...@@ -143,8 +98,7 @@ export default { ...@@ -143,8 +98,7 @@ export default {
curId: 0, curId: 0,
editIndex: -1, editIndex: -1,
editNum: "", editNum: "",
cols: [ cols: [{
{
type: "selection", type: "selection",
width: 70, width: 70,
align: "center", align: "center",
...@@ -194,8 +148,7 @@ export default { ...@@ -194,8 +148,7 @@ export default {
width: "120", width: "120",
render: (h, params) => { render: (h, params) => {
return h( return h(
"op", "op", {
{
attrs: { attrs: {
oprate: "detail", oprate: "detail",
}, },
...@@ -204,9 +157,9 @@ export default { ...@@ -204,9 +157,9 @@ export default {
}, },
}, },
params.row._disabled && params.row._disabled &&
params.row.totalCount - params.row.applicationNumber > 0 params.row.totalCount - params.row.applicationNumber > 0 ?
? "临时申请" "临时申请" :
: "" ""
); );
}, },
}, },
...@@ -224,28 +177,22 @@ export default { ...@@ -224,28 +177,22 @@ export default {
counts: this.count, counts: this.count,
curArr: 0, //标记当前操作工艺规程列表是否为空 curArr: 0, //标记当前操作工艺规程列表是否为空
ruleValidate: { ruleValidate: {
QuotationFinishDate: [ QuotationFinishDate: [{
{
required: true, required: true,
message: "_", message: "_",
trigger: "change", trigger: "change",
}, }, ],
], finishDate: [{
finishDate: [
{
required: true, required: true,
message: "请选择齐套日期", message: "请选择齐套日期",
trigger: "change", trigger: "change",
}, }, ],
], count: [{
count: [
{
required: true, required: true,
message: "请输入申请数量", message: "请输入申请数量",
type: "number", type: "number",
trigger: "change", trigger: "change",
}, }, ],
],
}, },
tempList: [], tempList: [],
cRow: null, cRow: null,
...@@ -276,12 +223,17 @@ export default { ...@@ -276,12 +223,17 @@ export default {
mounted() { mounted() {
this.load(this.eid); this.load(this.eid);
}, },
async fetch({ store, params }) { async fetch({
store,
params
}) {
await store.dispatch("loadDictionary"); // 加载数据字典 await store.dispatch("loadDictionary"); // 加载数据字典
}, },
methods: { methods: {
load(v) { load(v) {
Api.matchdetaillist({ id: v }).then((r) => { Api.matchdetaillist({
id: v
}).then((r) => {
if (r.success) { if (r.success) {
r.result.forEach((e) => { r.result.forEach((e) => {
let i = 0; let i = 0;
...@@ -414,7 +366,7 @@ export default { ...@@ -414,7 +366,7 @@ export default {
count: this.counts, count: this.counts,
creator: this.$store.state.userInfo.userName, creator: this.$store.state.userInfo.userName,
finishDate: this.orderForm.QuotationFinishDate, finishDate: this.orderForm.QuotationFinishDate,
orderCode:this.mesCode, orderCode: this.mesCode,
}, },
items: temItems, items: temItems,
}; };
...@@ -458,7 +410,7 @@ export default { ...@@ -458,7 +410,7 @@ export default {
count: this.counts, count: this.counts,
creator: this.$store.state.userInfo.userName, creator: this.$store.state.userInfo.userName,
finishDate: this.entity.finishDate, finishDate: this.entity.finishDate,
orderCode:this.mesCode, orderCode: this.mesCode,
}, },
items: temItems, items: temItems,
}; };
...@@ -514,4 +466,3 @@ export default { ...@@ -514,4 +466,3 @@ export default {
}, },
}; };
</script> </script>
<template> <template>
<div class="wu_bg"> <div class="h100 table-content1">
<div class="star" v-if="!starmodal"> <p class="mb10 ml40 mr40">
<a class="start" @click="starFun" > 订单编号:{{entity.mesCode}}
物料领用</a> <span class="ml20">产品名称:{{entity.productName}}</span>
</div> <span class="ml20">生产数量:{{entity.count}}</span>
<span class="ml20" v-show="false">物料状态:</span>
</p>
<div class="mb70">
<div class="mb20 ml40 mr40" v-for="(item,i) in datas" :key="i">
<p class="fwBold">{{item.routingHeader}}------{{item.routingHeaderCode}}</p>
<Table border :columns="cols" :data="item.suport" :ref="'table'+item.routingHeaderId" class="tableCommon">
<template slot-scope="{ row, index }" slot="counts4">
<InputNumber :max="row.outStockNumber-row.receiveNumber" :min="0" v-model="row.count4" @on-change="inputChange1(i,row,index)" :disabled="row._disabled" />
</template>
</Table>
</div> </div>
</div> </div>
<FooterToolbar v-show="footerToolbar">
<Button type="primary" class="mr10" @click="materialCreate">物料领用</Button>
</FooterToolbar>
</div>
</template> </template>
<script> <script>
import Api from "../../../aps/plan/api";
export default { export default {
name:'starOrder', name: 'starOrder',
data(){ data() {
return{ return {
starmodal: false, entity: {},
title: "",
detailAcc: null,
modalAccessoryList: false,
modalAccSet: false,
disabled: false,
deletelModal: false,
curId: 0,
editIndex: -1,
editNum: "",
cols: [{
key: "routingDetailNo",
title: this.l("routingDetailNo"),
align: "left",
width: 100
},
{
key: "routingDetailName",
title: this.l("routingDetailName"),
align: "left",
},
{
key: "nameMaterial",
title: this.l("nameMaterial"),
align: "left",
},
{
key: "materialNumber",
title: this.l("materialNumber"),
align: "left",
},
{
key: "totalCount",
title: this.l("totalCount"),
align: "left",
width: 150,
},
{
key: "applicationNumber",
title: this.l("applicationNumber"),
align: "right",
width: 120,
},
{
key: "",
title: this.l("count3"),
align: "right",
slot: "counts",
width: 150,
render: (h, params) => {
return h(
"div", {},
params.row.receiveNumber + "/" + params.row.outStockNumber
)
} }
}, },
{
key: "count4",
title: this.l("count4"),
align: "center",
width: 150,
slot: "counts4",
},
{
key: "remark",
title: this.l("remark"),
align: "left",
}
],
orderForm: {
QuotationFinishDate: "",
},
datas: [],
selectItems: [],
footerToolbar: true,
orderId: null,
mesCode: "",
productName: "",
drawnNumber: "",
count: null,
curArr: 0, //标记当前操作工艺规程列表是否为空
ruleValidate: {
QuotationFinishDate: [{
required: true,
message: "_",
trigger: "change",
}, ],
finishDate: [{
required: true,
message: "请选择齐套日期",
trigger: "change",
}, ],
count: [{
required: true,
message: "请输入申请数量",
type: "number",
trigger: "change",
}, ],
},
tempList: [],
cRow: null,
cArr: [],
};
},
props: {
row: Object,
gdid: Number,
},
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.loadInfo()
window.onresize = () => { window.onresize = () => {
///浏览器窗口大小变化 ///浏览器窗口大小变化
return (() => { return (() => {
...@@ -31,9 +155,111 @@ export default { ...@@ -31,9 +155,111 @@ export default {
}; };
}, },
methods: { methods: {
starFun(){ loadInfo() {
this.$Message.success("开工...") this.entity = this.row
let v = this.entity.orderId
Api.matchdetaillist({
id: v
}).then((r) => {
if (r.success) {
r.result.forEach((e) => {
let i = 0;
e.suport.forEach((el) => {
el.count = el.totalCount - el.applicationNumber;
if (el.outStockNumber - el.receiveNumber > 0) {
el.count4 = el.outStockNumber - el.receiveNumber
el._disabled = false;
} else {
el.count4 = 0;
el._disabled = true;
}
el._index = i++;
});
});
this.datas = r.result;
}
});
},
inputChange1(i, row, index) {
//输入数量
this.$set(this.datas[i].suport, index, row);
},
//物料领用
materialCreate() {
let temDataOld = this.$u.clone(this.datas)
let temData = []
temDataOld.forEach(ele => {
temData = temData.concat(ele.suport)
})
// alert(JSON.stringify(temData))
let datas = []
temData.forEach(el => {
if (el.count4 && el.count4 > 0 && el.count4 != "") {
let temObj = {
routingHeaderId: el.routingHeaderId,
routingDeatilId: el.routingDetailId,
routingDetailName: el.routingDetailName,
routingDetailSeq: el.routingDetailNo,
count: el.count4,
materialId: el.materialId,
materialName: el.nameMaterial,
materialNumber: el.materialNumber,
supportMainId: 0,
}
datas.push(temObj)
}
})
if (datas.length > 0) {
let params = {
items: datas,
orderId: this.entity.orderId,
dispatchId: this.entity.id,
creator: this.$store.state.userInfo.userName,
status: 0
}
Api.materialreceiveCreate(params).then(r => {
if (r.success) {
this.$Message.success("物料领用成功");
this.loadInfo();
}
});
} else {
this.$Message.error("请输入领用物料数量!");
}
},
l(key) {
let vkey = "support_item" + "." + key;
return this.$t(vkey) || key;
},
},
watch: {
"row"() {
this.entity = this.$u.clone(this.row);
},
gdid(v) {
if (v > 0) {
// this.load(v);
}
}, },
}, },
} }
</script> </script>
<style lang="less">
.table-content1 {
.table-footer {
line-height: 45px;
text-align: right;
}
.ivu-footer-toolbar {
text-align: right;
background: rgba(0, 0, 0, 0.7);
color: #fff;
}
.ivu-footer-toolbar-right {
float: right;
}
}
</style>
<template> <template>
<div class="order_list"> <div class="order_list">
<div class="card_box"> <div class="card_box">
<Card <Card class="card_order" v-for="(item,index) in listTasks" :style="order==item.id?'box-shadow: 0px 0px 15px #333;':''" @click.native="goPage(item)" :key="index" :class="item.status==12 ? 'card_border1' : (item.status==14 ? 'card_border2': (item.status==5 ?'card_border3':
class="card_order" (item.status==7?'card_border4':(item.status==-1?'card_border5':''))))">
v-for="(item,index) in listTasks"
:style="order==item.id?'box-shadow: 0px 0px 15px #333;':''"
@click.native="goPage(item)"
:key="index"
:class="item.status==12 ? 'card_border1' : (item.status==14 ? 'card_border2': (item.status==5 ?'card_border3':
(item.status==7?'card_border4':(item.status==-1?'card_border5':''))))"
>
<!-- :class="item.status=='未开工'? 'card_border1' : (item.status=='执行中' ? 'card_border2': (item.status=='暂停中' ?'card_border3': <!-- :class="item.status=='未开工'? 'card_border1' : (item.status=='执行中' ? 'card_border2': (item.status=='暂停中' ?'card_border3':
(item.status=='交检中'?'card_border4':(item.status=='交接中'?'card_border5':''))))"--> (item.status=='交检中'?'card_border4':(item.status=='交接中'?'card_border5':''))))"-->
<p slot="title"> <p slot="title">
...@@ -27,8 +19,9 @@ ...@@ -27,8 +19,9 @@
</Card> </Card>
<p>{{listTasks.length}} 个工单</p> <p>{{listTasks.length}} 个工单</p>
</div> </div>
</div> </div>
</template> </template>
<script> <script>
import Api from "../../api"; import Api from "../../api";
export default { export default {
...@@ -86,7 +79,10 @@ export default { ...@@ -86,7 +79,10 @@ export default {
headid: item.routingHeaderId, headid: item.routingHeaderId,
routid: item.routingDetailId, //工序ID routid: item.routingDetailId, //工序ID
quantity: item.quantity, //派工数量 quantity: item.quantity, //派工数量
dispatchStatus: item.status dispatchStatus: item.status,
mesCode: item.mesCode,
productName: item.productName,
drawnNumber: item.drawnNumber,
} }
}); });
} }
...@@ -104,7 +100,7 @@ export default { ...@@ -104,7 +100,7 @@ export default {
this.loadTree(); this.loadTree();
}, },
refresh(v) { refresh(v) {
this.refresh=v; this.refresh = v;
this.loadTree(); this.loadTree();
} }
} }
......
...@@ -748,6 +748,5 @@ ...@@ -748,6 +748,5 @@
.zhuanx{ .zhuanx{
text-align: center; text-align: center;
line-height: 60px; line-height: 60px;
.line_p input{
}
} }
\ No newline at end of file
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
@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>
...@@ -11,25 +11,13 @@ ...@@ -11,25 +11,13 @@
<a class="gd_list" @click="changeFresh">工单列表</a> <a class="gd_list" @click="changeFresh">工单列表</a>
<a class="gn_area" @click="functionalMode = true">功能区</a> <a class="gn_area" @click="functionalMode = true">功能区</a>
<!-- 工单列表 --> <!-- 工单列表 -->
<Drawer <Drawer placement="left" class="gd_box" :closable="false" :inner="true" :transfer="false" v-model="orderlistMode">
placement="left"
class="gd_box"
:closable="false"
:inner="true"
:transfer="false"
v-model="orderlistMode"
>
<div slot="header"> <div slot="header">
<div class="header"> <div class="header">
<a class="gd_tt" @click="goToOrder"> <a class="gd_tt" @click="goToOrder">
<Icon type="ios-undo-outline" />工单列表 <Icon type="ios-undo-outline" />工单列表
</a> </a>
<Dictionary <Dictionary code="taskList.status" class="select_star fr" v-model="odermodel" @on-change="searchOrder"></Dictionary>
code="taskList.status"
class="select_star fr"
v-model="odermodel"
@on-change="searchOrder"
></Dictionary>
</div> </div>
<div class="select_t" style="height:40px"> <div class="select_t" style="height:40px">
<Button @click="changeAsc" class="fr" shape="circle" icon="md-calendar">{{ascTitle}}</Button> <Button @click="changeAsc" class="fr" shape="circle" icon="md-calendar">{{ascTitle}}</Button>
...@@ -39,22 +27,20 @@ ...@@ -39,22 +27,20 @@
<orderlist ref="orderlistref" :asc="asc" :statu="statu" :refresh="refresh" :order="inputId" /> <orderlist ref="orderlistref" :asc="asc" :statu="statu" :refresh="refresh" :order="inputId" />
</Drawer> </Drawer>
<!-- 功能区 --> <!-- 功能区 -->
<Drawer <Drawer class="gn_box" :closable="false" :inner="true" :transfer="false" v-model="functionalMode">
class="gn_box"
:closable="false"
:inner="true"
:transfer="false"
v-model="functionalMode"
>
<functional @changeTitle="changeTitle" ref="functional" /> <functional @changeTitle="changeTitle" ref="functional" />
</Drawer> </Drawer>
</div> </div>
</template> </template>
<script> <script>
import functional from "./components/functional"; import functional from "./components/functional";
import orderlist from "./components/orderlist"; import orderlist from "./components/orderlist";
export default { export default {
components: { functional, orderlist }, components: {
functional,
orderlist
},
data() { data() {
return { return {
orderTitle: "进度汇报", orderTitle: "进度汇报",
...@@ -81,15 +67,21 @@ export default { ...@@ -81,15 +67,21 @@ export default {
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;
row.headid=this.$route.query.headid; row.headid = this.$route.query.headid;
row.routingdetailId=this.$route.query.routid; row.routingdetailId = this.$route.query.routid;
row.mesCode = this.$route.query.mesCode;
row.productName = this.$route.query.productName;
row.drawnNumber = this.$route.query.drawnNumber;
row.count = this.$route.query.quantity;
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
}) {
await store.dispatch("loadDictionary"); // 加载数据字典 await store.dispatch("loadDictionary"); // 加载数据字典
}, },
mounted() {}, mounted() {},
...@@ -110,12 +102,24 @@ row.routingdetailId=this.$route.query.routid; ...@@ -110,12 +102,24 @@ row.routingdetailId=this.$route.query.routid;
changeTitle(number, type) { changeTitle(number, type) {
this.orderTitle = type; this.orderTitle = type;
this.orderindex = number; this.orderindex = number;
let row = {
id: this.$route.query.id,
orderId: this.$route.query.orderId,
executeId: this.$route.query.executeId,
headid: this.$route.query.headid,
routingdetailId: this.$route.query.routid,
mesCode: this.$route.query.mesCode,
productName: this.$route.query.productName,
drawnNumber: this.$route.query.drawnNumber,
count: this.$route.query.quantity,
};
this.row = row;
this.inputId = this.$route.query.id;
if (number == 0) { if (number == 0) {
this.detail = () => import("./starOrder/index"); this.detail = () => import("./starOrder/index");
} //进度汇报 } //进度汇报
if (number == 1) { if (number == 1) {
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");
......
<template> <template>
<div class="aps-r"> <div class="aps-r">
<DataGrid <DataGrid :columns="columns" ref="grid" :batch="false" :type="typeInfo" :span="6" :lazy="true" :conditions="easySearch" :action="action" :gutter="40">
:columns="columns"
ref="grid"
:batch="false"
:type="typeInfo"
:span="6"
:lazy="true"
:conditions="easySearch"
:action="action"
:gutter="40"
>
<template slot="easySearch"> <template slot="easySearch">
<Form ref="formInline" :model="easySearch" inline> <Form ref="formInline" :model="easySearch" inline>
<FormItem prop="keys"> <FormItem prop="keys">
<Input <Input placeholder="请输入订单编号/产品名称/图号" v-model="easySearch.keys.value" v-width="260" clearable />
placeholder="请输入订单编号/产品名称/图号"
v-model="easySearch.keys.value"
v-width="260"
clearable
/>
</FormItem> </FormItem>
<FormItem> <FormItem>
<Button type="primary" @click="search">查询</Button> <Button type="primary" @click="search">查询</Button>
...@@ -34,10 +18,7 @@ ...@@ -34,10 +18,7 @@
<Button :icon="iconInfo" shape="circle" :title="titleInfo" @click="changeShwo"></Button> <Button :icon="iconInfo" shape="circle" :title="titleInfo" @click="changeShwo"></Button>
</template> </template>
<template slot="card" slot-scope="{row}"> <template slot="card" slot-scope="{row}">
<div <div class="body" @click="toExecute(row.id,row.orderId,row.executeId,row.routingHeaderId,row.routingDetailId,row.quantity,row.status,row.mesCode,row.productName,row.drawnNumber)">
class="body"
@click="toExecute(row.id,row.orderId,row.executeId,row.routingHeaderId,row.routingDetailId,row.quantity,row.status)"
>
<Row class="title-i"> <Row class="title-i">
<Col :span="10" class="order-code"> <Col :span="10" class="order-code">
<Ellipsis :text="row.productName" :lines="1" tooltip transfer /> <Ellipsis :text="row.productName" :lines="1" tooltip transfer />
...@@ -49,13 +30,7 @@ ...@@ -49,13 +30,7 @@
<div class="statuBg" :style="tdStyle(row.status)"></div> <div class="statuBg" :style="tdStyle(row.status)"></div>
<div class="boxTitle"> <div class="boxTitle">
<div class="text"> <div class="text">
<state <state code="taskList.status" ref="state" :value="row.status" type="text" :color="false"></state>
code="taskList.status"
ref="state"
:value="row.status"
type="text"
:color="false"
></state>
</div> </div>
</div> </div>
</Col> </Col>
...@@ -63,14 +38,7 @@ ...@@ -63,14 +38,7 @@
<div class="panel-text"> <div class="panel-text">
<Row> <Row>
<Col span="8"> <Col span="8">
<img <img :src="getUrl(row.productUrl)" width="120" height="120" :title="row.productUrl" style="border:#cacbd0 dashed 1px" onerror="this.src='/imgicon/noPic_product.png';" />
:src="getUrl(row.productUrl)"
width="120"
height="120"
:title="row.productUrl"
style="border:#cacbd0 dashed 1px"
onerror="this.src='/imgicon/noPic_product.png';"
/>
</Col> </Col>
<Col span="16" class="row"> <Col span="16" class="row">
<p>{{l("beginTime")}}{{row.beginTime}}</p> <p>{{l("beginTime")}}{{row.beginTime}}</p>
...@@ -89,34 +57,19 @@ ...@@ -89,34 +57,19 @@
<Row class="rowBottom"> <Row class="rowBottom">
<Col span="14">{{l("drawnNumber")}}{{row.drawnNumber}}</Col> <Col span="14">{{l("drawnNumber")}}{{row.drawnNumber}}</Col>
<Col span="10" class="tr"> <Col span="10" class="tr">
<Icon <Icon type="md-alert" size="18" color="#FFA000" v-if="getStatus(row.status)&&getTimes(row.endTime)<86400&&getTimes(row.endTime)>0" />
type="md-alert" <span style="color:#FFA000" v-if="getStatus(row.status)&&getTimes(row.endTime)<86400&&getTimes(row.endTime)>0">预警</span>&nbsp;&nbsp;
size="18" <Icon type="md-timer" size="18" color="#FE7777" v-if="getStatus(row.status)&&compareTime(row.endTime)" />
color="#FFA000" <span style="color:#FE7777" v-if="getStatus(row.status)&&compareTime(row.endTime)">超期</span>
v-if="getStatus(row.status)&&getTimes(row.endTime)<86400&&getTimes(row.endTime)>0"
/>
<span
style="color:#FFA000"
v-if="getStatus(row.status)&&getTimes(row.endTime)<86400&&getTimes(row.endTime)>0"
>预警</span>&nbsp;&nbsp;
<Icon
type="md-timer"
size="18"
color="#FE7777"
v-if="getStatus(row.status)&&compareTime(row.endTime)"
/>
<span
style="color:#FE7777"
v-if="getStatus(row.status)&&compareTime(row.endTime)"
>超期</span>
</Col> </Col>
</Row> </Row>
</div> </div>
</div> </div>
</template> </template>
</DataGrid> </DataGrid>
</div> </div>
</template> </template>
<script> <script>
import Api from "./api"; import Api from "./api";
import Search from "./search"; import Search from "./search";
...@@ -133,11 +86,9 @@ export default { ...@@ -133,11 +86,9 @@ export default {
op: "mesCode,productName,drawnNumber", op: "mesCode,productName,drawnNumber",
value: null value: null
} }
//status: { op: "Equal", value: 0 }
}, },
downUrl: fileUrlDown, downUrl: fileUrlDown,
columns: [ columns: [{
{
title: this.l("mesCode"), title: this.l("mesCode"),
key: "mesCode", key: "mesCode",
width: 240, width: 240,
...@@ -190,11 +141,14 @@ export default { ...@@ -190,11 +141,14 @@ export default {
width: 140, width: 140,
align: "center", align: "center",
render: (h, params) => { render: (h, params) => {
return h("div", { class: "action" }, [ return h("div", {
class: "action"
}, [
h( h(
"op", "op", {
{ attrs: {
attrs: { oprate: "edit" }, oprate: "edit"
},
on: { on: {
click: () => click: () =>
this.toExecute( this.toExecute(
...@@ -204,7 +158,10 @@ export default { ...@@ -204,7 +158,10 @@ export default {
params.row.routingHeaderId, params.row.routingHeaderId,
params.row.routingDetailId, params.row.routingDetailId,
params.row.quantity, params.row.quantity,
params.row.status params.row.status,
params.row.mesCode,
params.row.productName,
params.row.drawnNumber
) )
} }
}, },
...@@ -224,7 +181,10 @@ export default { ...@@ -224,7 +181,10 @@ export default {
let oldStr = localStorage.getItem("admin"); let oldStr = localStorage.getItem("admin");
let userlist = this.$store.getters.getUser(2); let userlist = this.$store.getters.getUser(2);
}, },
async fetch({ store, params }) { async fetch({
store,
params
}) {
await store.dispatch("loadDictionary"); // 加载数据字典 await store.dispatch("loadDictionary"); // 加载数据字典
}, },
mounted() { mounted() {
...@@ -241,7 +201,10 @@ export default { ...@@ -241,7 +201,10 @@ export default {
headid, headid,
routingDetailId, routingDetailId,
quantity, quantity,
status status,
mesCode,
productName,
drawnNumber
) { ) {
//跳转到对应操作页面 获取id:this.$route.query.id //跳转到对应操作页面 获取id:this.$route.query.id
this.$router.push({ this.$router.push({
...@@ -253,7 +216,10 @@ export default { ...@@ -253,7 +216,10 @@ export default {
headid: headid, //工艺规程id headid: headid, //工艺规程id
routid: routingDetailId, //工序ID routid: routingDetailId, //工序ID
quantity: quantity, //派工数量 quantity: quantity, //派工数量
dispatchStatus: status dispatchStatus: status,
mesCode: mesCode,
productName: productName,
drawnNumber: drawnNumber
} }
}); });
}, },
...@@ -331,6 +297,7 @@ export default { ...@@ -331,6 +297,7 @@ export default {
} }
}; };
</script> </script>
<style lang="less"> <style lang="less">
.aps-r { .aps-r {
// width: 100%; // width: 100%;
...@@ -338,11 +305,13 @@ export default { ...@@ -338,11 +305,13 @@ export default {
// overflow: auto; // overflow: auto;
// padding: 15px 0 15px 15px; // padding: 15px 0 15px 15px;
height: calc(100vh - 110px); height: calc(100vh - 110px);
.body { .body {
background: white; background: white;
border-radius: 4px 0 4px 4px; border-radius: 4px 0 4px 4px;
border: #cacbd0 solid 1px; border: #cacbd0 solid 1px;
margin-bottom: 30px; margin-bottom: 30px;
.title-i { .title-i {
padding: 0 0 0 8px; padding: 0 0 0 8px;
height: 38px; height: 38px;
...@@ -351,27 +320,34 @@ export default { ...@@ -351,27 +320,34 @@ export default {
font-size: 14px; font-size: 14px;
font-weight: bold; font-weight: bold;
border-bottom: #cacbd0 dotted 1px; border-bottom: #cacbd0 dotted 1px;
.btn-click { .btn-click {
text-align: right; text-align: right;
a { a {
color: #fff; color: #fff;
} }
a:hover { a:hover {
color: #249e91; color: #249e91;
} }
} }
} }
.panel-text { .panel-text {
padding: 5px 8px; padding: 5px 8px;
.row { .row {
color: #666666; color: #666666;
padding-left: 10px; padding-left: 10px;
p { p {
line-height: 30px; line-height: 30px;
} }
} }
} }
} }
.body:hover { .body:hover {
cursor: pointer; cursor: pointer;
box-shadow: 0 0 10px #888888; box-shadow: 0 0 10px #888888;
...@@ -385,16 +361,22 @@ export default { ...@@ -385,16 +361,22 @@ export default {
float: right; float: right;
margin-right: -1px; margin-right: -1px;
} }
.boxTitle { .boxTitle {
color: white; color: white;
float: right; float: right;
margin-top: -42px; margin-top: -42px;
/* Rotate div */ /* Rotate div */
transform: rotate(37deg); transform: rotate(37deg);
-ms-transform: rotate(37deg); /* Internet Explorer */ -ms-transform: rotate(37deg);
-moz-transform: rotate(37deg); /* Firefox */ /* Internet Explorer */
-webkit-transform: rotate(37deg); /* Safari 和 Chrome */ -moz-transform: rotate(37deg);
-o-transform: rotate(37deg); /* Opera */ /* Firefox */
-webkit-transform: rotate(37deg);
/* Safari 和 Chrome */
-o-transform: rotate(37deg);
/* Opera */
.text { .text {
font-size: 8px; font-size: 8px;
font-weight: normal; font-weight: normal;
......
...@@ -232,6 +232,9 @@ div::-webkit-scrollbar-corner { ...@@ -232,6 +232,9 @@ div::-webkit-scrollbar-corner {
.mr30 { .mr30 {
margin-right: 30px; margin-right: 30px;
} }
.mr40 {
margin-right: 40px;
}
.mtb10 { .mtb10 {
margin: 10px 0; margin: 10px 0;
} }
......
...@@ -271,7 +271,7 @@ ...@@ -271,7 +271,7 @@
float: left; float: left;
margin: 20px 72px; margin: 20px 72px;
width: 300px; width: 300px;
height: 240px; height: 180px;
border-color: #2680EB; border-color: #2680EB;
} }
.gs_set .gs_card_box .gs_card .ivu-card-head { .gs_set .gs_card_box .gs_card .ivu-card-head {
...@@ -285,10 +285,13 @@ ...@@ -285,10 +285,13 @@
.gs_set .gs_card_box .gs_card .gs_p { .gs_set .gs_card_box .gs_card .gs_p {
height: 32px; height: 32px;
line-height: 32px; line-height: 32px;
font-size: 20px;
text-align: center;
} }
.gs_set .gs_card_box .gs_card .gs_time { .gs_set .gs_card_box .gs_card .gs_time {
text-align: center; text-align: center;
color: #2680EB; color: #2680EB;
line-height: 46px;
} }
.gs_set .gs_card_box .gs_card .gs_time .b_size { .gs_set .gs_card_box .gs_card .gs_time .b_size {
font-size: 32px; font-size: 32px;
...@@ -297,9 +300,6 @@ ...@@ -297,9 +300,6 @@
background: #d3e6fb; background: #d3e6fb;
margin: 0 -16px; margin: 0 -16px;
height: 59px; height: 59px;
border-bottom-left-radius: 4px;
border-bottom-right-radius: 4px;
border-top: 1px solid #2680eb;
} }
.gs_set .gs_card_box .gs_card .gs_footer a { .gs_set .gs_card_box .gs_card .gs_footer a {
display: inline-block; display: inline-block;
...@@ -311,7 +311,6 @@ ...@@ -311,7 +311,6 @@
.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;
color: #fff; color: #fff;
border-bottom-right-radius: 4px;
} }
.gs_set .gs_card_box .gs_card:hover { .gs_set .gs_card_box .gs_card:hover {
border-color: #2680EB; border-color: #2680EB;
...@@ -321,7 +320,7 @@ ...@@ -321,7 +320,7 @@
border: 1px dashed #2680EB; border: 1px dashed #2680EB;
color: #2680EB; color: #2680EB;
text-align: center; text-align: center;
line-height: 275px; line-height: 220px;
border-radius: 4px; border-radius: 4px;
} }
.gs_set .gs_card_box .gs_add i { .gs_set .gs_card_box .gs_add i {
...@@ -340,7 +339,7 @@ ...@@ -340,7 +339,7 @@
height: 56px; height: 56px;
border-radius: 28px 4px 4px 28px; border-radius: 28px 4px 4px 28px;
border: 1px solid #2d8cf0; border: 1px solid #2d8cf0;
margin: 15px 23px; margin: 15px 14px;
} }
.add_user .gd_userB .user_item i { .add_user .gd_userB .user_item i {
font-size: 56px; font-size: 56px;
...@@ -348,6 +347,7 @@ ...@@ -348,6 +347,7 @@
color: #2680EB; color: #2680EB;
} }
.add_user .gd_userB .user_item .gd_user { .add_user .gd_userB .user_item .gd_user {
line-height: 22px;
padding: 6px; padding: 6px;
color: #707070; color: #707070;
} }
......
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