Commit e8758b38 authored by renjintao's avatar renjintao

mesplan plan

parent 36095936
......@@ -150,9 +150,9 @@ export default {
modalAccessory: false,
columns: [{
key: "selection",
title: "#",
title: '多选',
type: "selection",
width: 70,
width: 50,
align: "center",
},
{
......@@ -259,13 +259,13 @@ export default {
high: true,
hide: true,
},
{
key: "spareQty",
title: this.l("spareQty"),
align: "left",
high: true,
hide: true,
},
// {
// key: "spareQty",
// title: this.l("spareQty"),
// align: "left",
// high: true,
// hide: true,
// },
{
key: "isPreschedule",
title: this.l("isPreschedule"),
......@@ -274,28 +274,28 @@ export default {
high: true,
code: "aps.plan.ispreschedule",
},
{
key: "demandStart",
title: this.l("demandStart"),
align: "left",
high: true,
hide: true,
},
{
key: "demandFinish",
title: this.l("demandFinish"),
align: "left",
high: true,
hide: true,
},
{
key: "partNamePro",
title: this.l("partNamePro"),
align: "left",
easy: true,
high: true,
hide: true,
},
// {
// key: "demandStart",
// title: this.l("demandStart"),
// align: "left",
// high: true,
// hide: true,
// },
// {
// key: "demandFinish",
// title: this.l("demandFinish"),
// align: "left",
// high: true,
// hide: true,
// },
// {
// key: "partNamePro",
// title: this.l("partNamePro"),
// align: "left",
// easy: true,
// high: true,
// hide: true,
// },
{
title: "操作",
key: "action",
......
......@@ -106,7 +106,7 @@ export default {
productId: null, //产品id
productName: "", //产品名称
drawnNumber: null, //图号
taskType: null, //任务类型
taskType: 1, //任务类型
quantity: 1, //数量
taskRequire: "", //任务接点要求
demandStartDate: this.getFormatDate(nowDate), //开始时间
......@@ -114,7 +114,7 @@ export default {
remark: "", //备注
projectNumber: "", //项目号
batchNumber: "", //批次号
urgencyLevel: null, //紧急程度
urgencyLevel: 1, //紧急程度
bomId: null,
},
ruleValidate: {
......@@ -147,7 +147,9 @@ export default {
wfstatu: 1,
};
},
created() {},
mounted() {
let params = {
id: "123327da-42b3-41f6-b785-cf933f137a95",
};
......@@ -161,8 +163,8 @@ export default {
}
}
});
this.loadTree();
},
methods: {
handleSubmit() {
......@@ -173,6 +175,7 @@ export default {
.then((r) => {
if (r.success) {
this.$Message.success("保存成功");
this.resetFields();
this.$emit("on-ok");
} else {
this.$Message.error("保存失败");
......@@ -215,10 +218,11 @@ export default {
},
resetFields() {
this.orderSearchForm = {
productId: null, //产品id
productName: "", //产品名称
drawnNumber: null, //图号
taskType: null, //任务类型
taskType: 1, //任务类型
quantity: 1, //数量
taskRequire: "", //任务接点要求
demandStartDate: this.getFormatDate(nowDate), //开始时间
......@@ -226,7 +230,7 @@ export default {
remark: "", //备注
projectNumber: "", //项目号
batchNumber: "", //批次号
urgencyLevel: null, //紧急程度
urgencyLevel: 1, //紧急程度
};
},
loadTree() {
......
......@@ -163,15 +163,16 @@ export default {
.then((r) => {
if (r.success) {
this.$Message.success("保存成功");
//this.resetFields()
this.$emit("on-ok");
} else {
this.$Message.error("保存失败");
}
})
.catch((err) => {
this.$Message.error("保存失败");
console.warn(err);
});
// .catch((err) => {
// this.$Message.error("保存失败");
// console.warn(err);
// });
}
});
},
......
......@@ -141,6 +141,7 @@ export default {
id: "id",
columns: [{
key: "selection",
title: '多选',
type: "selection",
width: 50,
align: "center"
......
<template>
<div style="width:100%;overflow:auto" :style="{height:divHeight}">
<Form
:model="orderForm"
:label-width="80"
class="margin-top-20 margin-bottom-50"
:rules="ruleValidate"
ref="formValidate"
>
<Row>
<Col span="12">
<FormItem label="订单编号" style="width:100%">
<Input v-model="orderForm.mesCode" disabled style="width:240px" />
</FormItem>
</Col>
<Col span="12">
<FormItem label="产品名称" style="width:100%">
<Input v-model="orderForm.productName" disabled style="width:240px" />
</FormItem>
</Col>
</Row>
<Row>
<Col span="12">
<FormItem label="开始时间" style="width:100%">
<Input v-model="orderForm.planStartTime" disabled style="width:240px" />
</FormItem>
</Col>
<Col span="12">
<FormItem label="完成时间" style="width:100%">
<Input v-model="orderForm.planEndTime" disabled style="width:240px" />
</FormItem>
</Col>
</Row>
<Row>
<Col span="12">
<FormItem label="数量" style="width:100%">
<Input v-model="orderForm.quantity" disabled style="width:240px" />
</FormItem>
</Col>
<Col span="12">
<FormItem label="分解数量" style="width:100%" prop="splitQuantity">
<InputNumber :min="0" v-model="orderForm.splitQuantity" style="width:180px"></InputNumber>
<Button type="primary" @click="addSplitOrder" v-noClick>确定</Button>
</FormItem>
</Col>
</Row>
<div style="width:100%;overflow:auto" :style="{height:divHeight}">
<Form :model="orderForm" :label-width="80" class="margin-top-20 margin-bottom-50" :rules="ruleValidate" ref="formValidate">
<Row>
<Col span="12">
<FormItem label="订单编号" style="width:100%">
<Input v-model="orderForm.mesCode" disabled style="width:240px" />
</FormItem>
</Col>
<Col span="12">
<FormItem label="产品名称" style="width:100%">
<Input v-model="orderForm.productName" disabled style="width:240px" />
</FormItem>
</Col>
</Row>
<Row>
<Col span="12">
<FormItem label="开始时间" style="width:100%">
<Input v-model="orderForm.planStartTime" disabled style="width:240px" />
</FormItem>
</Col>
<Col span="12">
<FormItem label="完成时间" style="width:100%">
<Input v-model="orderForm.planEndTime" disabled style="width:240px" />
</FormItem>
</Col>
</Row>
<Row>
<Col span="12">
<FormItem label="数量" style="width:100%">
<Input v-model="orderForm.quantity" disabled style="width:240px" />
</FormItem>
</Col>
<Col span="12">
<FormItem label="分解数量" style="width:100%" prop="splitQuantity">
<InputNumber :min="0" v-model="orderForm.splitQuantity" style="width:180px"></InputNumber>
<Button type="primary" @click="addSplitOrder" v-noClick>确定</Button>
</FormItem>
</Col>
</Row>
</Form>
<Table :loading="loading" border :columns="columns1" :data="dataList" class="tableCommon">
<template slot-scope="{ row, index }" slot="slotPlanQ">
<Input type="text" v-model="row.quantity" @on-change="inputOrderCat(row,index)" />
</template>
<template slot-scope="{ row, index }" slot="slotTime">
<DatePicker
v-model="row.demandDate"
type="daterange"
placeholder="请选择日期"
style="width:240px"
:transfer="true"
:options="optionsDate"
@on-change="inputOrderCat(row,index)"
></DatePicker>
</template>
<template slot-scope="{ row, index }" slot="slotPlanQ">
<Input type="text" v-model="row.quantity" @on-change="inputOrderCat(row,index)" />
</template>
<template slot-scope="{ row, index }" slot="slotTime">
<DatePicker v-model="row.demandDate" type="daterange" placeholder="请选择日期" style="width:240px" :transfer="true" :options="optionsDate" @on-change="inputOrderCat(row,index)"></DatePicker>
</template>
</Table>
</div>
</div>
</template>
<script>
export default {
name: "split",
data() {
return {
optionsDate: {
disabledDate: date => {
let beginDateVal = new Date(this.orderForm.planStartTime);
let endDateVal = new Date(this.orderForm.planEndTime);
if (beginDateVal) {
return (
(date && date.valueOf() < beginDateVal.getTime() - 86400000) ||
date.valueOf() > endDateVal.getTime()
);
}
name: "split",
data() {
return {
optionsDate: {
disabledDate: date => {
let beginDateVal = new Date(this.orderForm.planStartTime);
let endDateVal = new Date(this.orderForm.planEndTime);
if (beginDateVal) {
return (
(date && date.valueOf() < beginDateVal.getTime() - 86400000) ||
date.valueOf() > endDateVal.getTime()
);
}
}
},
divHeight: "260px",
osrOneList: false, //一条数据显示详细
osrMoreList: false, //多条数据只显示列表
loading: false,
orderInfo: {
id: "", //订单id
mesCode: "", //订单编号
productName: "", //产品名称
drawingNo: "", //图号
orderCat: "", //任务类型
quantity: "", //数量
remark: "" //备注
},
orderForm: {
mesCode: "", //订单编号
productName: "", //产品名称
stage: "", //阶段
quantity: "", //数量
planStartTime: "", //计划开始时间
planEndTime: "", //计划结束时间
splitQuantity: 2, //分解数量
splitList: [] //分解后产生的列表
},
columns1: [{
title: "序号",
type: "index",
width: 80,
align: "right",
tooltip: true
},
{
title: "计划编号",
key: "mesCode",
tooltip: true
},
{
title: "计划数量",
key: "quantity",
align: "right",
width: 100,
slot: "slotPlanQ"
},
{
title: "开始--完成时间",
key: "demandDate",
width: 320,
align: "center",
slot: "slotTime"
}
],
dataList: [],
dataListRetrun: {
id: null,
quantity: null,
mesCode: "",
items: []
}, //确定后返回数据
ruleValidate: {
splitQuantity: [{
required: true,
message: "请输入数量",
type: "number",
trigger: "change"
}]
}
};
},
props: {
row: {
type: Object,
default: () => {
return null;
}
}
},
divHeight: "260px",
osrOneList: false, //一条数据显示详细
osrMoreList: false, //多条数据只显示列表
loading: false,
orderInfo: {
id: "", //订单id
mesCode: "", //订单编号
productName: "", //产品名称
drawingNo: "", //图号
orderCat: "", //任务类型
quantity: "", //数量
remark: "" //备注
},
orderForm: {
mesCode: "", //订单编号
productName: "", //产品名称
stage: "", //阶段
quantity: "", //数量
planStartTime: "", //计划开始时间
planEndTime: "", //计划结束时间
splitQuantity: 2, //分解数量
splitList: [] //分解后产生的列表
},
columns1: [
{
title: "序号",
type: "index",
width: 80,
align: "right",
tooltip: true
},
methods: {
intData(data) {
//打开modal层时给订单list赋值
//alert(JSON.stringify(data))
this.dataListRetrun.id = data[0].id;
this.dataListRetrun.quantity = data[0].quantity;
this.dataListRetrun.mesCode = data[0].mesCode;
this.orderInfo = [];
this.dataList = [];
this.orderInfo = data[0];
this.orderForm = {
mesCode: this.orderInfo.mesCode, //订单编号
productName: this.orderInfo.productName, //产品名称
stage: this.orderInfo.stage, //阶段
quantity: this.orderInfo.quantity, //数量
planStartTime: this.orderInfo.demandStartDate, //计划开始时间
planEndTime: this.orderInfo.demandFinishDate, //计划结束时间
splitQuantity: 2, //分解数量
splitList: [] //分解后产生的列表
};
},
//确定增加数量
addSplitOrder() {
if (this.orderForm.splitQuantity < 2 || this.orderForm.splitQuantity == undefined) {
this.dataList = [];
return;
}
if (this.orderForm.quantity >= this.orderForm.splitQuantity) {
this.dataListRetrun.items = [];
this.$refs["formValidate"].validate(valid => {
if (valid) {
this.dataList = [];
let demandDate = [];
let splitQuantity = this.orderForm.splitQuantity;
let mesCodeSon = this.orderForm.mesCode;
let planStartTime = this.orderForm.planStartTime;
let planEndTime = this.orderForm.planEndTime;
for (var i = 0; i < splitQuantity; i++) {
this.dataList.push({
mesCode: i + 1 < 10 ?
mesCodeSon + "0" + (i + 1) : mesCodeSon + "" + (i + 1),
quantity: "",
demandDate: [planStartTime, planEndTime],
demandStartDate: planStartTime,
demandFinishDate: planEndTime
});
}
this.dataListRetrun.items = this.dataListRetrun.items.concat(
this.dataList
);
}
});
} else {
this.$Message.error("分解数量大于订单数量");
}
},
{
title: "计划编号",
key: "mesCode",
tooltip: true
inputOrderCat(row, index) {
let forDemandStartDate = this.getFormatDate(row.demandDate[0]);
let forDemandFinishDate = this.getFormatDate(row.demandDate[1]);
this.dataListRetrun.items[index].mesCode = row.mesCode;
this.dataListRetrun.items[index].quantity = row.quantity;
this.dataListRetrun.items[index].demandStartDate = forDemandStartDate;
this.dataListRetrun.items[index].demandFinishDate = forDemandFinishDate;
this.dataList[index].demandDate = [
forDemandStartDate,
forDemandFinishDate
];
},
{
title: "计划数量",
key: "quantity",
align: "right",
width: 100,
slot: "slotPlanQ"
getFormatDate(dates) {
const d = new Date(dates);
const resDate =
d.getFullYear() +
"-" +
this.p(d.getMonth() + 1) +
"-" +
this.p(d.getDate());
return resDate;
},
{
title: "开始--完成时间",
key: "demandDate",
width: 320,
align: "center",
slot: "slotTime"
p(s) {
return s < 10 ? "0" + s : s;
},
returnDataList() {
//返回审批数据
return this.dataListRetrun;
}
],
dataList: [],
dataListRetrun: { id: null, quantity: null, mesCode: "", items: [] }, //确定后返回数据
ruleValidate: {
splitQuantity: [
{
required: true,
message: "请输入数量",
type: "number",
trigger: "change"
}
]
}
};
},
props: {
row: {
type: Object,
default: () => {
return null;
}
}
},
methods: {
intData(data) {
//打开modal层时给订单list赋值
//alert(JSON.stringify(data))
this.dataListRetrun.id = data[0].id;
this.dataListRetrun.quantity = data[0].quantity;
this.dataListRetrun.mesCode = data[0].mesCode;
this.orderInfo = [];
this.dataList = [];
this.orderInfo = data[0];
this.orderForm = {
mesCode: this.orderInfo.mesCode, //订单编号
productName: this.orderInfo.productName, //产品名称
stage: this.orderInfo.stage, //阶段
quantity: this.orderInfo.quantity, //数量
planStartTime: this.orderInfo.demandStartDate, //计划开始时间
planEndTime: this.orderInfo.demandFinishDate, //计划结束时间
splitQuantity: 2, //分解数量
splitList: [] //分解后产生的列表
};
},
//确定增加数量
addSplitOrder() {
if (this.orderForm.splitQuantity < 2||this.orderForm.splitQuantity==undefined) {
this.dataList = [];
return;
}
if (this.orderForm.quantity >= this.orderForm.splitQuantity) {
this.dataListRetrun.items = [];
this.$refs["formValidate"].validate(valid => {
if (valid) {
this.dataList = [];
let demandDate = [];
let splitQuantity = this.orderForm.splitQuantity;
let mesCodeSon = this.orderForm.mesCode;
let planStartTime = this.orderForm.planStartTime;
let planEndTime = this.orderForm.planEndTime;
for (var i = 0; i < splitQuantity; i++) {
this.dataList.push({
mesCode:
i + 1 < 10
? mesCodeSon + "0" + (i + 1)
: mesCodeSon + "" + (i + 1),
quantity: "",
demandDate: [planStartTime, planEndTime],
demandStartDate: planStartTime,
demandFinishDate: planEndTime
});
}
this.dataListRetrun.items = this.dataListRetrun.items.concat(
this.dataList
);
}
});
} else {
this.$Message.error("分解数量大于订单数量");
}
},
inputOrderCat(row, index) {
let forDemandStartDate = this.getFormatDate(row.demandDate[0]);
let forDemandFinishDate = this.getFormatDate(row.demandDate[1]);
this.dataListRetrun.items[index].mesCode = row.mesCode;
this.dataListRetrun.items[index].quantity = row.quantity;
this.dataListRetrun.items[index].demandStartDate = forDemandStartDate;
this.dataListRetrun.items[index].demandFinishDate = forDemandFinishDate;
this.dataList[index].demandDate = [
forDemandStartDate,
forDemandFinishDate
];
created() {
var theight = window.innerHeight - 400 + "px";
this.divHeight = theight;
},
getFormatDate(dates) {
const d = new Date(dates);
const resDate =
d.getFullYear() +
"-" +
this.p(d.getMonth() + 1) +
"-" +
this.p(d.getDate());
return resDate;
mounted() {
window.onresize = () => {
///浏览器窗口大小变化
return (() => {
window.screenHeight = window.innerHeight;
this.divHeight = window.screenHeight - 400 + "px";
})();
};
this.orderForm = {
mesCode: this.orderInfo.mesCode, //订单编号
productName: "", //产品名称
stage: "", //阶段
quantity: "", //数量
planStartTime: "", //计划开始时间
planEndTime: "", //计划结束时间
splitQuantity: 2, //分解数量
splitList: [] //分解后产生的列表
};
this.dataList = []
},
p(s) {
return s < 10 ? "0" + s : s;
},
returnDataList() {
//返回审批数据
return this.dataListRetrun;
}
},
created() {
var theight = window.innerHeight - 400 + "px";
this.divHeight = theight;
},
mounted() {
window.onresize = () => {
///浏览器窗口大小变化
return (() => {
window.screenHeight = window.innerHeight;
this.divHeight = window.screenHeight - 400 + "px";
})();
};
this.orderForm = {
mesCode: this.orderInfo.mesCode, //订单编号
productName: "", //产品名称
stage: "", //阶段
quantity: "", //数量
planStartTime: "", //计划开始时间
planEndTime: "", //计划结束时间
splitQuantity: 2, //分解数量
splitList: [] //分解后产生的列表
};
},
watch: {
row(v) {
if (v != null) {
this.orderForm = this.$u.clone(this.row);
this.orderForm.planStartTime = this.orderForm.demandStartDate;
this.orderForm.planEndTime = this.orderForm.demandFinishDate;
//this.orderForm.splitQuantity = 2;
this.dataListRetrun.id = this.orderForm.id;
this.dataListRetrun.quantity = this.orderForm.quantity;
this.dataListRetrun.mesCode = this.orderForm.mesCode;
}
watch: {
row(v) {
if (v != null) {
this.orderForm = this.$u.clone(this.row);
this.orderForm.planStartTime = this.orderForm.demandStartDate;
this.orderForm.planEndTime = this.orderForm.demandFinishDate;
//this.orderForm.splitQuantity = 2;
this.dataListRetrun.id = this.orderForm.id;
this.dataListRetrun.quantity = this.orderForm.quantity;
this.dataListRetrun.mesCode = this.orderForm.mesCode;
this.dataList = []
}
}
}
}
};
</script>
\ No newline at end of file
</script>
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