|
|
@@ -223,7 +223,7 @@
|
|
|
</div><!-- /.modal-content -->
|
|
|
</div><!-- /.modal -->
|
|
|
</div>
|
|
|
- <table class="table table-striped table-sm text-nowrap table-hover">
|
|
|
+ <table class="table table-striped table-sm text-nowrap">
|
|
|
<tr>
|
|
|
<th>
|
|
|
<label for="all">
|
|
|
@@ -247,17 +247,19 @@
|
|
|
<th style="min-width: 200px">本单数量</th>
|
|
|
<th style="min-width: 200px">商品条码</th>
|
|
|
<th style="min-width: 200px">商品名称 </th>
|
|
|
+ <th></th>
|
|
|
</tr>
|
|
|
<template>
|
|
|
- <tr v-for="(processOne,i) in processes" :id="processOne.id?processOne.id:processes[i-1].id+'-2'">
|
|
|
+ <tr v-for="(processOne,i) in processes" :id="processOne.id?processOne.id:processes[i-1].id+'-2'" :name="'process_table_'+processOne.serial_number" @mouseover="changeStyle('process_table_'+processOne.serial_number,true)" @mouseout="changeStyle('process_table_'+processOne.serial_number,false)">
|
|
|
<td v-if="processOne.id" :rowspan="processOne.is_multi_row?2:''">
|
|
|
<input class="checkItem" type="checkbox" :value="processOne.id" v-model="checkData">
|
|
|
</td>
|
|
|
- <td v-if="processOne.id" class="text-muted" :rowspan="processOne.is_multi_row?2:''">@{{ i+1 }}</td>
|
|
|
- <td v-if="processOne.id" style="min-width:150px" :rowspan="processOne.is_multi_row?2:''">
|
|
|
+ <td v-if="processOne.id" class="text-muted" :rowspan="processOne.is_multi_row?2:''">@{{ processOne.serial_number }}</td>
|
|
|
+ <td v-if="processOne.id" style="min-width:200px" :rowspan="processOne.is_multi_row?2:''">
|
|
|
<p v-if="!processOne.openProcessHour && processOne.status=='驳回'" class="text-muted">已驳回</p>
|
|
|
<p v-if="!processOne.openProcessHour && processOne.status=='已完成'" class="text-success">已完成</p>
|
|
|
- <button v-if="!processOne.openProcessHour && processOne.status!='已完成' && processOne.status!='待接单'" class="btn btn-sm btn-outline-dark" style="opacity: 0.65" @click="rollback(processOne.id)">回滚</button>
|
|
|
+ @can("二次加工管理-回滚")
|
|
|
+ <button v-if="!processOne.openProcessHour && processOne.status!='已完成' && processOne.status!='待接单'" class="btn btn-sm btn-outline-dark" style="opacity: 0.65" @click="rollback(processOne.id)">回滚</button>@endcan
|
|
|
@can("二次加工管理-接单与驳回")
|
|
|
<button v-if="!processOne.openProcessHour && (processOne.status=='待接单' || processOne.status=='驳回' || processOne.status=='加工中' || processOne.status=='待加工')" @click="processEdit(processOne.id)" class="btn btn-sm btn-outline-info pull-left">编辑</button>
|
|
|
<button v-if="!processOne.openProcessHour && processOne.status=='待接单'" @click="processReject(processOne.id)" class="btn btn-sm btn-outline-dark pull-left">驳回</button>
|
|
|
@@ -304,7 +306,7 @@
|
|
|
<td v-if="processOne.id" class="text-muted" :rowspan="processOne.is_multi_row?2:''">@{{ processOne.status }}</td>
|
|
|
<td v-if="processOne.id" class="text-muted" :rowspan="processOne.is_multi_row?2:''">@{{ processOne.remark }}</td>
|
|
|
<td colspan="5" style="margin:0;padding:0;">
|
|
|
- <table class="table table-sm table-striped p-0 m-0" v-if="processUnfold[processOne.code+processOne.id] || processOne.processesContents.length==1 ||
|
|
|
+ <table class="table table-sm table-striped" style="margin:0;padding:0;" v-if="processUnfold[processOne.code+processOne.id] || processOne.processesContents.length==1 ||
|
|
|
(processOne.is_multi_row && (processOne.processesContents.length)-(processFullSum[processOne.code])==1) || (!processOne.id && processFullSum[processOne.code]==1)">
|
|
|
<tr v-for="processesContent in processOne.processesContents"
|
|
|
v-if="processOne.is_multi_row || !processOne.id ? !processOne.id ? processesContent.type=='成品单' :processesContent.type=='原料单' : true">
|
|
|
@@ -327,24 +329,30 @@
|
|
|
</td>
|
|
|
</tr>
|
|
|
</table>
|
|
|
- <div v-else style="position: relative;height: 40px;" :style="{background: !processOne.id ? '#e8eef6' :'rgb(246, 238, 232)'}">
|
|
|
- <div v-for="(processesContent,i) in arrayFilter(processOne.processesContents,processOne)" class="w-100 row ml-1" style="transform: scale(0.5)" :style="[{ 'margin-top' : i*4+'px'},{opacity:1/0.7}]"
|
|
|
- {{--v-if="processOne.is_multi_row || !processOne.id ? !processOne.id ? processesContent.type=='成品单' :processesContent.type=='原料单' : true"--}}>
|
|
|
- <span style="width: 19%">@{{ processesContent.bill_type }}</span>
|
|
|
- <span style="width: 19.5%">@{{ processesContent.wms_code }}</span>
|
|
|
- <span style="width: 20%">@{{ processesContent.amount }}</span>
|
|
|
- <span style="width: 18%">
|
|
|
- <ul class="p-0 m-0 list-unstyled list-inline" v-if="processesContent.commodity">
|
|
|
- <li v-for="barcode in processesContent.commodity.barcodes"><small>@{{ barcode.code }}</small></li>
|
|
|
- </ul>
|
|
|
- </span>
|
|
|
- <span :title="processesContent.commodity_name" class="text-muted tooltipTarget" style="width:23.5%;overflow:hidden">@{{ processesContent.commodity_name }}</span>
|
|
|
+ <div v-else class="m-0" style="height: 35px" :style="{background: (!processOne.id || processOne.is_multi_row) ? (!processOne.id) ? '#e8eef6' :'rgb(246, 238, 232)' : (processOne.processesContents.length>0 ? ((processOne.processesContents[0].type=='成品单') ? '#e8eef6' : 'rgb(246, 238, 232)') :'')}">
|
|
|
+ <div v-for="(processesContent,i) in arrayFilter(processOne.processesContents,processOne)" class=" row p-0" style="float: left;margin-right: 20px" :style="[{opacity:1/0.7},{transform:'scale('+(1/Math.ceil(arrayFilter(processOne.processesContents,processOne).length/4))+')'},
|
|
|
+ {'margin-left': arrayFilter(processOne.processesContents,processOne).length >4 ? (-20*parseInt(arrayFilter(processOne.processesContents,processOne).length/2))+'px' : '0px'},{'margin-top': (-3*parseInt(arrayFilter(processOne.processesContents,processOne).length/2))+'px'}]">
|
|
|
+ <span>@{{ processesContent.bill_type }}</span>
|
|
|
+ <span>@{{ processesContent.wms_code }}</span>
|
|
|
+ <span>@{{ processesContent.amount }}</span>
|
|
|
+ <span>
|
|
|
+ <small v-if="processesContent.commodity && processesContent.commodity.barcodes.length>0">
|
|
|
+ @{{ processesContent.commodity.barcodes[0].code }}
|
|
|
+ </small>
|
|
|
+ </span>
|
|
|
+ <span :title="processesContent.commodity_name" class="text-muted tooltipTarget" style="max-width:100px;overflow:hidden;">@{{ processesContent.commodity_name }}</span>
|
|
|
</div>
|
|
|
</div>
|
|
|
- <div v-if="!processUnfold[processOne.code+processOne.id] && processOne.processesContents.length>1" class="text-center">
|
|
|
+ <div v-if="!processUnfold[processOne.code+processOne.id] && processOne.processesContents.length>1 &&
|
|
|
+ ((processFullSum[processOne.code]!=processOne.processesContents.length && (processOne.processesContents.length)-(processFullSum[processOne.code])!=1 && ((processOne.is_multi_row || !processOne.id) ? (!processOne.id ? false :true) : true)) ||
|
|
|
+ processFullSum[processOne.code] && processFullSum[processOne.code]>1 && ((processOne.is_multi_row || !processOne.id) ? (!processOne.id ? true :false) : true))" class="text-center mb-0"
|
|
|
+ :style="{background : (processFullSum[processOne.code]!=processOne.processesContents.length && (processOne.processesContents.length)-(processFullSum[processOne.code])!=1 && ((processOne.is_multi_row || !processOne.id) ? (!processOne.id ? false :true) : true)) ? 'rgb(246, 238, 232)' : '#e8eef6'}">
|
|
|
<b v-if="processFullSum[processOne.code]!=processOne.processesContents.length && (processOne.processesContents.length)-(processFullSum[processOne.code])!=1 && ((processOne.is_multi_row || !processOne.id) ? (!processOne.id ? false :true) : true)" style="cursor:pointer;color: #4aa0e6;text-decoration:underline" @click="unfold(processOne.code,processOne.id,'原料单')">点击展开原料单</b>
|
|
|
<b v-if="processFullSum[processOne.code] && processFullSum[processOne.code]>1 && ((processOne.is_multi_row || !processOne.id) ? (!processOne.id ? true :false) : true)" style="cursor:pointer;color: #4aa0e6;text-decoration:underline" @click="unfold(processOne.code,processOne.id,'成品单')">点击展开成品单</b></div>
|
|
|
</td>
|
|
|
+ <td v-if="processOne.id" class="text-muted" :rowspan="processOne.is_multi_row?2:''">
|
|
|
+ <button type="button" class="btn btn-sm btn-outline-danger" @click="destroy(processOne.code,processOne.id)">删</button>
|
|
|
+ </td>
|
|
|
</tr>
|
|
|
<tr id="addProcessDailyParticipants" v-show="processDailyParticipants.length>0">
|
|
|
<td colspan="2"></td>
|
|
|
@@ -538,7 +546,7 @@
|
|
|
let indexs=[];
|
|
|
for (let i=0;i<this.processes.length;i++){
|
|
|
let process=this.processes[i];
|
|
|
- // console.log(this.processes[i].id);
|
|
|
+ process.serial_number=i+1;
|
|
|
process.processesContents.every(function (processesContent) {
|
|
|
if (processesContent.type==='成品单')_this.$set(_this.processFullSum,process.code,_this.processFullSum[process.code]?_this.processFullSum[process.code]+1:1);
|
|
|
return true;
|
|
|
@@ -1249,7 +1257,40 @@
|
|
|
tempTip.setDuration(3000);
|
|
|
tempTip.show('回滚失败!网络错误:' + err);
|
|
|
})
|
|
|
- }
|
|
|
+ },
|
|
|
+ //vue绑定的name type:移入移出类型
|
|
|
+ changeStyle(name,type){
|
|
|
+ let domList=document.getElementsByName(name);
|
|
|
+ let color='';
|
|
|
+ if (type)color='rgba(0, 0, 0, 0.15)';
|
|
|
+ for (let i=0;i<domList.length;i++){
|
|
|
+ domList[i].style.backgroundColor = color;
|
|
|
+ }
|
|
|
+ },
|
|
|
+ destroy(code,id){
|
|
|
+ if (!confirm('确定要删除“'+code+"”吗?"))return;
|
|
|
+ let _this=this;
|
|
|
+ let delArr=[];
|
|
|
+ axios.delete('{{url('process')}}/'+id)
|
|
|
+ .then(function (response) {
|
|
|
+ tempTip.setDuration(3000);
|
|
|
+ if (response.data.success){
|
|
|
+ _this.processes.forEach(function (process,i) {
|
|
|
+ if (process.code===code)
|
|
|
+ delArr.unshift(i);
|
|
|
+ });
|
|
|
+ delArr.forEach(function (del) {
|
|
|
+ _this.$delete(_this.processes,del);
|
|
|
+ });
|
|
|
+ tempTip.showSuccess('删除“'+code+'”成功!');
|
|
|
+ return;
|
|
|
+ }
|
|
|
+ tempTip.show('删除“'+code+'”失败!该单已不存在')
|
|
|
+ }).catch(function (err) {
|
|
|
+ tempTip.setDuration(4000);
|
|
|
+ tempTip.show("网络错误:"+err);
|
|
|
+ })
|
|
|
+ },
|
|
|
},
|
|
|
});
|
|
|
</script>
|