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

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

parents 6eae1e16 087f6e52
...@@ -1570,6 +1570,10 @@ export default { ...@@ -1570,6 +1570,10 @@ export default {
originalManufacturer: '原厂家', originalManufacturer: '原厂家',
remark: '备注', remark: '备注',
materialCode: '物料编码', materialCode: '物料编码',
creationTime1: '入库时间',
creator1: '入库人',
total1: '库存',
count:'出库数'
}, },
stock_item: { stock_item: {
creationTime: '创建时间', creationTime: '创建时间',
...@@ -1599,7 +1603,7 @@ export default { ...@@ -1599,7 +1603,7 @@ export default {
nowTotal: '剩余数量', nowTotal: '剩余数量',
}, },
support_main: { support_main: {
creationTime: '创建时间', creationTime: '申请日期',
creatorUserId: '创建人', creatorUserId: '创建人',
lastModificationTime: '更新时间', lastModificationTime: '更新时间',
lastModifierUserId: '更新人', lastModifierUserId: '更新人',
...@@ -1611,14 +1615,20 @@ export default { ...@@ -1611,14 +1615,20 @@ export default {
drawnNumber: '图号', drawnNumber: '图号',
count: '订单数量', count: '订单数量',
creator: '申请人', creator: '申请人',
status: '状态', status: '配套状态',
status1: '出库状态',
finishDate: '齐套时间', finishDate: '齐套时间',
orderCode: '订单编号', orderCode: '订单编号',
code: '申请单号', code: '申请单号',
materialName:'物料名称',
materialNumber:'物料编号',
remark:'备注',
count1: '申请数量',
outCount:'出库数',
}, },
support_item:{ support_item:{
creationTime:'创建时间', creationTime:'出库时间',
creatorUserId:'创建人', creatorUserId:'出库人',
lastModificationTime:'更新时间', lastModificationTime:'更新时间',
lastModifierUserId:'更新人', lastModifierUserId:'更新人',
isDeleted:'删除人', isDeleted:'删除人',
...@@ -1630,7 +1640,7 @@ export default { ...@@ -1630,7 +1640,7 @@ export default {
routingDetailName:'工序', routingDetailName:'工序',
routingDetailSeq:'工序号', routingDetailSeq:'工序号',
routingDetailNo:'工序号', routingDetailNo:'工序号',
count:'申请数量', count:'出库数',
status:'状态', status:'状态',
materialId:'物料id', materialId:'物料id',
materialName:'物料名称', materialName:'物料名称',
...@@ -1641,5 +1651,7 @@ export default { ...@@ -1641,5 +1651,7 @@ export default {
outStockNumber:'出库数量', outStockNumber:'出库数量',
orderId:'', orderId:'',
remark:'备注', remark:'备注',
storeId: '库位id',
storeTitle: '库位名称',
} }
} }
...@@ -294,6 +294,7 @@ export default { ...@@ -294,6 +294,7 @@ export default {
let parms = { let parms = {
main: { main: {
orderId: this.orderId, orderId: this.orderId,
orderCode:this.mesCode,
productName: this.productNames, productName: this.productNames,
drawnNumber: this.drawnNumbers, drawnNumber: this.drawnNumbers,
count: this.counts, count: this.counts,
......
...@@ -420,6 +420,7 @@ export default { ...@@ -420,6 +420,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,
}, },
items: temItems, items: temItems,
}; };
...@@ -463,6 +464,7 @@ export default { ...@@ -463,6 +464,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,
}, },
items: temItems, items: temItems,
}; };
......
...@@ -327,24 +327,24 @@ let options = { ...@@ -327,24 +327,24 @@ let options = {
id: 8, id: 8,
label: "派工数量", label: "派工数量",
value: "dispatch_qty", value: "dispatch_qty",
width: 68, width: 100,
},
{
id: 9,
label: "%",
value: "progress",
width: 35,
style: {
"task-list-header-label": {
"text-align": "center",
width: "100%",
},
"task-list-item-value-container": {
"text-align": "center",
width: "100%",
},
},
}, },
// {
// id: 9,
// label: "%",
// value: "progress",
// width: 35,
// style: {
// "task-list-header-label": {
// "text-align": "center",
// width: "100%",
// },
// "task-list-item-value-container": {
// "text-align": "center",
// width: "100%",
// },
// },
// },
], ],
}, },
locale: { locale: {
......
<template>
<div class="h100 table-content">
<p class="mb10">
申请单号:{{row.code}}
<span class="ml20">齐套日期:{{row.finishDate.substring(0,10)}}</span>
<span class="ml50">申请人:{{row.creator}}</span>
<span class="ml20">申请时间:{{row.creationTime}}</span>
<span class="ml20">
状态:
<state code="aps.plan.supportingStatus" :value="row.status+''" type="text"></state>
</span>
</p>
<Split v-model="split" mode="vertical" @on-move-end="moveEnd">
<div slot="top" class="demo-split-pane" style="background:#fff;height:100%">
<Table
:columns="cols"
:data="datas"
class="tableCommon"
border
highlight-row
@on-current-change="curChange"
:height="tableHeight1"
></Table>
</div>
<div slot="bottom" class="demo-split-pane" style="background:#fff;height:100%">
<p class="mt10 mb10" v-show="showBottom">
<Button type="primary" @click="getMetaiAll">出库</Button>
</p>
<Table
:columns="colsOut"
:data="datasOut"
class="tableCommon"
border
highlight-row
:height="tableHeight2-40"
v-show="showBottom"
>
<template slot-scope="{ row, index }" slot="counts">
<InputNumber
:max="row.total"
:min="0"
v-model="row.count"
@on-blur="inputChange(row,index)"
/>
</template>
</Table>
</div>
</Split>
<Modal v-model="ModalAccList" title="出库记录" width="1000" footer-hide>
<DataGrid :action="action" :columns="colsList" ref="grid" :conditions="easySearch" height="400" :tool="false"></DataGrid>
</Modal>
</div>
</template>
<script>
import Api from "./api";
export default {
name: "Edit",
data() {
return {
action: Api.indexAcc,
easySearch: {
supportItemId: { op: "In", value: "" },
},
disabled: false,
entity: {},
rules: {
name: [{ required: true, message: "必填", trigger: "blur" }],
},
statuList: this.$store.getters.dictionaryByKey("accessory.status") || [],
statuList1: this.$store.getters.dictionaryByKey("outstore.status") || [],
split: 0.5,
showBottom: false,
cols: [
{
key: "materialName",
title: this.l("materialName"),
align: "left",
},
{
key: "materialNumber",
title: this.l("materialNumber"),
align: "left",
},
{
key: "count",
title: this.l("count1"),
align: "right",
},
{
key: "outCount",
title: "出库数",
align: "right",
render: (h, params) => {
return h(
"op",
{
attrs: {
oprate: "detail",
title: "查看明细",
},
style: {
color: "blue",
},
on: {
click: () => this.openAccessoryList(params.row),
},
},
params.row.outCount
);
},
},
{
key: "status",
title: "状态",
align: "center",
render: (h, params) => {
return h(
"op",
{
attrs: {
oprate: "detail",
},
style: {
color: this.setName(this.statuList1, params.row.status).color,
},
},
this.setName(this.statuList1, params.row.status).name
);
},
},
{
key: "remark",
title: this.l("remark"),
align: "left",
},
],
datas: [],
tableHeight1: "",
tableHeight2: "",
splitHeight: "",
colsOut: [
{
key: "name",
title: this.l1("name"),
align: "left",
},
{
key: "materialCode",
title: this.l1("materialCode"),
align: "left",
},
{
key: "certificateOfApproval",
title: this.l1("certificateOfApproval"),
align: "right",
},
{
key: "storeTitle",
title: this.l1("storeTitle"),
align: "right",
},
{
key: "creationTime",
title: this.l1("creationTime1"),
align: "center",
},
{
key: "creator",
title: this.l1("creator1"),
align: "right",
},
{
key: "total",
title: this.l1("total1"),
align: "right",
},
{
key: "count",
title: this.l1("count"),
align: "right",
slot: "counts",
},
],
datasOut: [],
tempOut: null,
ModalAccList: false,
colsList: [
{
key: "materialName",
title: this.l2("materialName"),
align: "left",
},
{
key: "materialNumber",
title: this.l2("materialNumber"),
align: "left",
},
{
key: "storeTitle",
title: this.l2("storeTitle"),
align: "left",
},
{
key: "creationTime",
title: this.l2("creationTime"),
align: "center",
},
{
key: "creatorUserId",
title: this.l2("creatorUserId"),
type: "user",
},
{
key: "count",
title: this.l2("count"),
align: "right",
},
],
};
},
props: {
eid: Number,
row: Object,
},
mounted() {
this.splitHeight = window.innerHeight - 150;
this.tableHeight1 = this.splitHeight * this.split;
this.tableHeight2 = this.splitHeight * (1 - this.split);
window.onresize = () => {
///浏览器窗口大小变化
return (() => {
window.screenHeight = window.innerHeight;
this.splitHeight = window.screenHeight - 150;
this.tableHeight1 = this.splitHeight * this.split;
this.tableHeight2 = this.splitHeight * (1 - this.split);
})();
};
if (this.eid > 0) {
this.load(this.eid);
}
},
methods: {
load(v) {
Api.getitemlist({ id: v }).then((r) => {
if (r.success) {
//----测试多条数据start----
// let temData = [];
// for (let i = 0; i < 10; i++) {
// temData = temData.concat(r.result.children);
// }
//this.datas = temData;
//----测试多条数据end----
this.datas = r.result.children;
}
});
},
handleSubmit() {
this.$refs.form.validate((v) => {
if (v) {
this.disabled = true;
Api.update(this.entity)
.then((r) => {
this.disabled = false;
if (r.success) {
this.$Message.success("保存成功");
this.$emit("on-ok");
} else {
this.$Message.error("保存失败");
}
})
.catch((err) => {
this.disabled = false;
this.$Message.error("保存失败");
console.warn(err);
});
}
});
},
handleClose() {
this.$emit("on-close");
},
//配套申请
setName(list, v) {
let outPar = {
name: "",
color: "",
};
if ((v + "").indexOf(",") == -1) {
var item;
list.map((u) => {
if (u.code == v) {
item = u;
}
});
if (item) {
//this.items = item;
outPar = {
name: item.name,
color: item.color,
};
}
}
return outPar;
},
curChange(curRow, oldRow) {
//点击物料行
//alert(JSON.stringify(curRow));
this.tempOut = curRow;
if (curRow.status != 2) {
Api.supportmateriallistone({ id: curRow.materialId }).then((r) => {
if (r.success) {
r.result.forEach((el) => {
el.count = 0;
});
this.datasOut = r.result;
this.showBottom = true;
}
});
} else {
this.$Message.error("已出库完成!");
}
},
getMetaiAll() {
//alert(JSON.stringify(this.datas));
// alert(JSON.stringify(this.tempOut));
let temItems = this.$u.clone(this.datasOut);
let temArray = [];
var total = 0;
temItems.forEach((el) => {
if (el.count > 0) {
let temObj = {
count: el.count,
storeId: el.storeId,
storeTitle: el.storeTitle,
status: 0,
materialId: this.tempOut.materialId,
materialName: this.tempOut.materialName,
materialNumber: this.tempOut.materialNumber,
orderId: this.row.orderId,
supportItemId: this.tempOut.id,
};
total = total + el.count;
temArray.push(temObj);
}
});
let surplus =
Number(this.tempOut.count) -
Number(this.tempOut.outCount ? this.tempOut.outCount : 0);
if (total <= surplus) {
let parms = {
main: {
creator: this.$store.state.userInfo.userName,
orderId: this.row.orderId,
orderCode: this.row.orderCode,
supportMainId: this.tempOut.supportMainId,
},
item: temArray,
};
// alert(JSON.stringify(parms));
Api.outmainCreate(parms).then((r) => {
if (r.success) {
this.$Message.success("出库成功");
this.load(this.eid);
this.datasOut = [];
this.showBottom = false;
}
});
} else {
this.$Message.error("输入的出库数量大于申请数量");
}
},
moveEnd() {
this.tableHeight1 = this.splitHeight * this.split;
this.tableHeight2 = this.splitHeight * (1 - this.split);
},
inputChange(row, index) {
//输入数量
this.$set(this.datasOut, index, row);
},
openAccessoryList(row) {
this.ModalAccList = true;
this.easySearch.supportItemId.value = row.id;
this.$refs.grid.reload(this.easySearch);
},
l(key) {
key = "support_main" + "." + key;
return this.$t(key);
},
l1(key) {
key = "stock" + "." + key;
return this.$t(key);
},
l2(key) {
key = "support_item" + "." + key;
return this.$t(key);
},
},
watch: {
eid(v) {
if (v != 0) {
this.load(v);
}
},
},
};
</script>
<style scoped>
.demo-split-pane {
padding: 10px;
}
</style>
\ No newline at end of file
import Api from '@/plugins/request'
export default {
index: `${technologyUrl}supportmain/paged`,
paged(params) {
return Api.post(`${technologyUrl}supportmain/paged`, params);
},
get(params) {
return Api.get(`${technologyUrl}supportmain/get`, params);
},
create(params) {
return Api.post(`${technologyUrl}supportmain/create`, params);
},
update(params) {
return Api.post(`${technologyUrl}supportmain/update`, params);
},
delete(id) {
return Api.delete(`${technologyUrl}supportmain/delete`, {
params: {
id: id
}
});
},
deletes(params) {
return Api.post(`${technologyUrl}supportmain/batchdelete`, params);
},
getitemlist(params) {//根据id获取单个配套
return Api.get(`${technologyUrl}supportmain/getitemlist`, params);
},
supportmateriallist(params) {//查询所有物料对应的库房信息
return Api.post(`${resourceUrl}/stock/supportmateriallist`, params);
},
supportmateriallistone(params) {//点击物料根据物料ID获取对应的库房信息
return Api.post(`${resourceUrl}/stock/supportmateriallistone`, params);
},
outmainCreate(params) {//批量出库
return Api.post(`${resourceUrl}/outmain/create`, params);
},
outmainBatchdel(params) {//批量撤销出库
return Api.post(`${resourceUrl}/outmain/batchdelete`, params);
},
indexAcc: `${resourceUrl}/outitem/paged`,
}
<template>
<div class="h100">
<DataGrid :columns="columns" ref="grid" :action="action">
<template slot="easySearch">
<Form ref="formInline" :model="easySearch" inline>
<FormItem prop="keys">
<Input placeholder="请输入申请单号或订单编号" v-model="easySearch.keys.value" v-width="240" />
</FormItem>
<FormItem>
<Button type="primary" @click="search">查询</Button>
</FormItem>
</Form>
</template>
</DataGrid>
<Modal v-model="modal" :title="title" width="1200" fullscreen footer-hide>
<component :is="detail" :eid="curId" :row="entity" @on-close="cancel" @on-ok="ok" />
</Modal>
</div>
</template>
<script>
import Api from "./api";
export default {
name: "list",
components: {},
head: {
title: "配套记录主表",
author: "henq",
description: "support_main 8/8/2020 9:47:54 AM",
},
data() {
return {
action: Api.index,
easySearch: {
keys: { op: "orderCode,code", value: null },
},
statuList: this.$store.getters.dictionaryByKey("accessory.status") || [],
statuList1: this.$store.getters.dictionaryByKey("outstore.status") || [],
modal: false,
title: "新增",
detail: null,
curId: 0,
entity: {},
columns: [
{
key: "code",
title: this.l("code"),
align: "left",
easy: true,
},
{
key: "finishDate",
title: this.l("finishDate"),
align: "center",
type: "date",
},
{
key: "orderCode",
title: this.l("orderCode"),
align: "left",
easy: true,
},
{
key: "creationTime",
title: this.l("creationTime"),
align: "center",
type: "date",
},
{ key: "creator", title: this.l("creator"), align: "left" },
{ key: "status", title: this.l("status"), align: "center" },
{ key: "status1", title: this.l("status1"), align: "center" },
{
title: "操作",
key: "action",
width: 140,
align: "center",
render: (h, params) => {
return h("div", { class: "action" }, [
h(
"op",
{
attrs: { oprate: "detail" },
on: { click: () => this.getAccessory(params.row) },
},
"配套"
),
h(
"op",
{
attrs: { oprate: "edit" },
on: { click: () => this.getOutBound(params.row) },
},
"出库单"
),
]);
},
},
],
};
},
mounted() {
this.search();
},
async fetch({ store, params }) {
await store.dispatch("loadDictionary"); // 加载数据字典
},
methods: {
ok() {
this.$refs.grid.load();
this.modal = false;
this.curId = 0;
},
search() {
this.$refs.grid.reload(this.easySearch);
},
getAccessory(row) {
this.curId = row.id;
this.title = "配套";
this.entity = row;
this.detail = () => import("./accessory");
this.modal = true;
},
getOutBound(row) {
this.curId = row.id;
this.title = "出库单";
this.detail = () => import("./outbound");
this.modal = true;
},
//配套申请
setName(list, v) {
let outPar = {
name: "",
color: "",
};
if ((v + "").indexOf(",") == -1) {
var item;
list.map((u) => {
if (u.code == v) {
item = u;
}
});
if (item) {
//this.items = item;
outPar = {
name: item.name,
color: item.color,
};
}
}
return outPar;
},
cancel() {
this.curId = 0;
this.modal = false;
},
l(key) {
let vkey = "support_main" + "." + key;
return this.$t(vkey) || key;
},
},
};
</script>
<style lang="less">
</style>
\ No newline at end of file
<template>
<div>444444</div>
</template>
\ No newline at end of file
...@@ -309,7 +309,7 @@ export default { ...@@ -309,7 +309,7 @@ export default {
methods: { methods: {
split(row, index) { split(row, index) {
//工单分卡 //工单分卡
this.getProduct(row.id); this.getProduct(row);
this.initeId = { this.initeId = {
routingDetailId: row.detailId, routingDetailId: row.detailId,
dispatchId: row.id dispatchId: row.id
...@@ -322,9 +322,13 @@ export default { ...@@ -322,9 +322,13 @@ export default {
this.entity.scheduleType = null; this.entity.scheduleType = null;
} }
}, },
getProduct(id) { getProduct(row) {
let params = { let params = {
entryID: id dispatch_id:row.id,
execute_id:row.executeId,
order_id:row.orderId,
RoutingHeaderId:row.routingHeaderId,
RoutingDetailId:row.detailId,
}; };
Api.getentryproductcode(params).then(res => { Api.getentryproductcode(params).then(res => {
if (res.success) { if (res.success) {
......
...@@ -69,6 +69,7 @@ ...@@ -69,6 +69,7 @@
height="120" height="120"
:title="row.productUrl" :title="row.productUrl"
style="border:#cacbd0 dashed 1px" style="border:#cacbd0 dashed 1px"
onerror="this.src='/imgicon/noPic_product.png';"
/> />
</Col> </Col>
<Col span="16" class="row"> <Col span="16" class="row">
......
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