|
|
|
@ -175,7 +175,7 @@ |
|
|
|
</el-table-column> |
|
|
|
</el-table> |
|
|
|
|
|
|
|
<el-dialog title="排产信息" :visible.sync="schedulingFlag" :close-on-click-modal="false" v-drag width="800px"> |
|
|
|
<el-dialog title="排产信息" :visible.sync="schedulingFlag" :close-on-click-modal="false" v-drag width="840px"> |
|
|
|
<el-form :inline="true" label-position="top"> |
|
|
|
<el-form-item :label="'订单号:'"> |
|
|
|
<el-input v-model="scheduledModelData.orderNo" readonly style="width: 130px"></el-input> |
|
|
|
@ -192,7 +192,8 @@ |
|
|
|
<el-form-item :label="'未排产数量:'"> |
|
|
|
<el-input v-model="scheduledModelData.unSchedulingSize" readonly style="width: 100px"></el-input> |
|
|
|
</el-form-item> |
|
|
|
<el-button @click="schedulingModal()" type="primary" style="margin-top: 33px;margin-left: 40px;">新增</el-button> |
|
|
|
<el-button @click="schedulings()" type="primary" style="margin-top: 33px;margin-left: 0px;">批量新增</el-button> |
|
|
|
<el-button @click="schedulingModal()" type="primary" style="margin-top: 33px;">新增</el-button> |
|
|
|
</el-form> |
|
|
|
<el-table |
|
|
|
:height="300" |
|
|
|
@ -271,6 +272,33 @@ |
|
|
|
</el-footer> |
|
|
|
</el-dialog> |
|
|
|
|
|
|
|
<el-dialog title="批量排产" :close-on-click-modal="false" v-drag :visible.sync="schedulingsFlag" width="341px"> |
|
|
|
<el-form :inline="true" label-position="top" style="margin-left: 7px;margin-top: -5px;"> |
|
|
|
<el-form-item :label="'订单号:'"> |
|
|
|
<el-input v-model="scheduledingsData.orderNo" disabled style="width: 130px"></el-input> |
|
|
|
</el-form-item> |
|
|
|
<el-form-item :label="'计划开始日期:'"> |
|
|
|
<el-date-picker |
|
|
|
style="width: 130px" |
|
|
|
v-model="scheduledingsData.orderDate" |
|
|
|
type="date" |
|
|
|
value-format="yyyy-MM-dd" |
|
|
|
placeholder="选择日期"> |
|
|
|
</el-date-picker> |
|
|
|
</el-form-item> |
|
|
|
<el-form-item :label="'排产总数:'"> |
|
|
|
<el-input v-model="scheduledingsData.qty" style="width: 130px" ></el-input> |
|
|
|
</el-form-item> |
|
|
|
<el-form-item :label="'计划天数:'"> |
|
|
|
<el-input v-model="scheduledingsData.dayQty" style="width: 130px" onkeyup="value=value.replace(/^(0+)|[^\d]+/g,'')"></el-input> |
|
|
|
</el-form-item> |
|
|
|
</el-form> |
|
|
|
<el-footer style="height:40px;margin-top: 20px;text-align:center"> |
|
|
|
<el-button type="primary" @click="plansSave()">保存</el-button> |
|
|
|
<el-button type="primary" @click="schedulingsFlag = false">关闭</el-button> |
|
|
|
</el-footer> |
|
|
|
</el-dialog> |
|
|
|
|
|
|
|
</div> |
|
|
|
|
|
|
|
|
|
|
|
@ -282,7 +310,8 @@ |
|
|
|
getSchedulingSize, |
|
|
|
savePlan, |
|
|
|
getWorkPlanData, |
|
|
|
delPlan |
|
|
|
delPlan, |
|
|
|
savePlans |
|
|
|
} from '@/api/production.js' |
|
|
|
|
|
|
|
export default { |
|
|
|
@ -290,7 +319,7 @@ |
|
|
|
data () { |
|
|
|
return { |
|
|
|
|
|
|
|
|
|
|
|
schedulingsFlag: false, |
|
|
|
// 维护日计划界面 |
|
|
|
schedulingModalFlag: false, |
|
|
|
scheduleTableData: [], |
|
|
|
@ -306,7 +335,21 @@ |
|
|
|
orderNo: '', |
|
|
|
orderDate: '', |
|
|
|
orderQty: '', |
|
|
|
|
|
|
|
userName: this.$store.state.user.name, |
|
|
|
lotSize: '', |
|
|
|
planStartDate: '', |
|
|
|
needDate: '', |
|
|
|
site: this.$store.state.user.site, |
|
|
|
productionType: '生产订单', |
|
|
|
planAdd: 0, |
|
|
|
partNo: '' |
|
|
|
}, |
|
|
|
scheduledingsData: { |
|
|
|
orderNo: '', |
|
|
|
orderDate: '', |
|
|
|
orderQty: '', |
|
|
|
qty: '', |
|
|
|
dayQty: '', |
|
|
|
userName: this.$store.state.user.name, |
|
|
|
lotSize: '', |
|
|
|
planStartDate: '', |
|
|
|
@ -365,7 +408,25 @@ |
|
|
|
|
|
|
|
this.schedulingModalFlag = true |
|
|
|
}, |
|
|
|
|
|
|
|
schedulings(){ |
|
|
|
if (this.scheduledModelData.unSchedulingSize == 0) { |
|
|
|
this.$alert('该日计划已排产完毕无需新增!', '错误', { |
|
|
|
confirmButtonText: '确定' |
|
|
|
}) |
|
|
|
return false |
|
|
|
} |
|
|
|
this.scheduledingsData.userName = this.$store.state.user.name |
|
|
|
this.scheduledingsData.planStartDate = this.scheduledModelData.planStartDate |
|
|
|
this.scheduledingsData.needDate = this.scheduledModelData.needDate |
|
|
|
this.scheduledingsData.orderNo = this.scheduledModelData.orderNo |
|
|
|
this.scheduledingsData.orderDate = this.scheduledModelData.planStartDate |
|
|
|
this.scheduledingsData.planAdd = 0 |
|
|
|
this.scheduledingsData.orderQty = '' |
|
|
|
this.scheduledingsData.qty='' |
|
|
|
this.scheduledingsData.dayQty='' |
|
|
|
this.scheduledingsData.orderQty='' |
|
|
|
this.schedulingsFlag = true |
|
|
|
}, |
|
|
|
// 排产信息界面 |
|
|
|
openScheduleModel (row) { |
|
|
|
if (row.status == '已计划' || row.status == '已取消' || row.status == '已关闭') { |
|
|
|
@ -381,6 +442,8 @@ |
|
|
|
}) |
|
|
|
this.scheduledingData.lotSize = row.lotSize |
|
|
|
this.scheduledingData.partNo = row.partNo |
|
|
|
this.scheduledingsData.lotSize = row.lotSize |
|
|
|
this.scheduledingsData.partNo = row.partNo |
|
|
|
this.scheduledModelData.needDate = row.needDate |
|
|
|
this.scheduledModelData.planStartDate = row.planStartDate |
|
|
|
this.scheduledModelData.orderNo = row.orderNo |
|
|
|
@ -417,9 +480,6 @@ |
|
|
|
return false |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
// this.scheduledingData.orderDate = this.format(this.scheduledingData.orderDate,'yyyy-MM-dd') |
|
|
|
|
|
|
|
savePlan(this.scheduledingData).then(({data}) => { |
|
|
|
if (data && data.code === 0) { |
|
|
|
this.scheduledModelData.schedulingSize = data.schedulingSize |
|
|
|
@ -445,6 +505,83 @@ |
|
|
|
} |
|
|
|
}) |
|
|
|
}, |
|
|
|
plansSave(){ |
|
|
|
if (this.scheduledingsData.orderDate == '' || this.scheduledingsData.orderDate == null) { |
|
|
|
this.$alert('请选择计划日期!', '错误', { |
|
|
|
confirmButtonText: '确定' |
|
|
|
}) |
|
|
|
return false |
|
|
|
} |
|
|
|
if (this.scheduledingsData.qty == '' || this.scheduledingsData.qty == null) { |
|
|
|
this.$alert('请输入排产总数!', '错误', { |
|
|
|
confirmButtonText: '确定' |
|
|
|
}) |
|
|
|
return false |
|
|
|
} |
|
|
|
if (this.scheduledingsData.dayQty == '' || this.scheduledingsData.dayQty == null) { |
|
|
|
this.$alert('请输入计划天数!', '错误', { |
|
|
|
confirmButtonText: '确定' |
|
|
|
}) |
|
|
|
return false |
|
|
|
} |
|
|
|
if (this.scheduledingsData.qty <= 0) { |
|
|
|
this.$alert('排产总数量必须大于0!', '错误', { |
|
|
|
confirmButtonText: '确定' |
|
|
|
}) |
|
|
|
return false |
|
|
|
} |
|
|
|
if (this.scheduledModelData.unSchedulingSize<this.scheduledingsData.qty) { |
|
|
|
this.$alert('可排产数量小于计划数量!', '错误', { |
|
|
|
confirmButtonText: '确定' |
|
|
|
}) |
|
|
|
return false |
|
|
|
} |
|
|
|
this.scheduledingsData.orderQty=this.scheduledingsData.qty/this.scheduledingsData.dayQty; |
|
|
|
let scheduledList=[]; |
|
|
|
let theOrderDate= this.getLastDay(this.scheduledingsData.orderDate) |
|
|
|
for (let i = 0; i < this.scheduledingsData.dayQty; i++) { |
|
|
|
theOrderDate=this.getNextDay(theOrderDate); |
|
|
|
let listData={ |
|
|
|
"orderNo": this.scheduledingsData.orderNo, |
|
|
|
"orderDate": theOrderDate, |
|
|
|
"orderQty": this.scheduledingsData.orderQty, |
|
|
|
"userName": this.$store.state.user.name, |
|
|
|
"planStartDate": this.scheduledingsData.planStartDate, |
|
|
|
"needDate": this.scheduledingsData.needDate, |
|
|
|
"site": this.$store.state.user.site, |
|
|
|
"productionType": '生产订单', |
|
|
|
"partNo": this.scheduledingsData.partNo, |
|
|
|
"lotSize": this.scheduledingsData.lotSize, |
|
|
|
"planAdd": 0 |
|
|
|
} |
|
|
|
scheduledList.push(listData); |
|
|
|
} |
|
|
|
|
|
|
|
savePlans(JSON.stringify(scheduledList)).then(({data}) => { |
|
|
|
if (data && data.code === 0) { |
|
|
|
this.scheduledModelData.schedulingSize = data.schedulingSize |
|
|
|
this.scheduledModelData.unSchedulingSize = this.scheduledingData.lotSize - data.schedulingSize |
|
|
|
this.schedulingModalFlag = false |
|
|
|
let data1 = {orderNo: this.scheduledModelData.orderNo} |
|
|
|
getWorkPlanData(data1).then(({data}) => { |
|
|
|
this.scheduleTableData = data.rows |
|
|
|
}) |
|
|
|
this.getData(); |
|
|
|
this.$message({ |
|
|
|
message: '操作成功', |
|
|
|
type: 'success', |
|
|
|
duration: 1500, |
|
|
|
|
|
|
|
onClose: () => { |
|
|
|
} |
|
|
|
}) |
|
|
|
} else { |
|
|
|
this.$alert(data.msg, '错误', { |
|
|
|
confirmButtonText: '确定' |
|
|
|
}) |
|
|
|
} |
|
|
|
}) |
|
|
|
}, |
|
|
|
planSaveOn () { |
|
|
|
if (this.scheduledingData.orderDate == '' || this.scheduledingData.orderDate == null) { |
|
|
|
this.$alert('请选择计划日期!', '错误', { |
|
|
|
@ -551,6 +688,15 @@ |
|
|
|
// let haha= new Date(y+"-"+m+"-"+d); |
|
|
|
return y+"-"+m+"-"+d; |
|
|
|
}, |
|
|
|
getLastDay(dateTime){ |
|
|
|
var dd =new Date(dateTime); |
|
|
|
dd.setDate(dd.getDate()-1);//获取1天后的日期 |
|
|
|
var y = dd.getFullYear(); |
|
|
|
var m = (dd.getMonth()+1)<10?"0"+(dd.getMonth()+1):(dd.getMonth()+1);//获取当前月份的日期,不足10补0 |
|
|
|
var d = dd.getDate()<10?"0"+dd.getDate():dd.getDate();//获取当前几号,不足10补0 |
|
|
|
// let haha= new Date(y+"-"+m+"-"+d); |
|
|
|
return y+"-"+m+"-"+d; |
|
|
|
}, |
|
|
|
getTime (date) { |
|
|
|
if (date == '') { |
|
|
|
return '' |
|
|
|
|