|
|
@@ -7,7 +7,7 @@
|
|
|
<div class="card-header text-center mt-2 bg-transparent" id="header_title">
|
|
|
<span class="font-weight-bold h4">上架</span>
|
|
|
</div>
|
|
|
- <div class="card-body">
|
|
|
+ <div class="card">
|
|
|
<div class="form-group row m-1">
|
|
|
<span class="text-right">
|
|
|
<label for="trackNumber" class="text-right font-weight-bold">容器号:</label>
|
|
|
@@ -19,6 +19,7 @@
|
|
|
<span class="invalid-feedback offset-3" role="alert" v-if="errors.trackNumber">
|
|
|
<strong>@{{ errors.trackNumber[0] }}</strong>
|
|
|
</span>
|
|
|
+ <span class="btn btn-sm btn-info" @click="getPaTaskByTraceInOrCustomerOrAsnOrNull()">搜索</span>
|
|
|
</div>
|
|
|
<div class="form-group row m-1">
|
|
|
<span class="text-right">
|
|
|
@@ -26,7 +27,7 @@
|
|
|
</span>
|
|
|
<input type="text" class="form-control form-control-sm col-8" id="barCode" autocomplete="off"
|
|
|
:class="errors.barCode ? 'is-invalid' : ''" @keydown.enter="enterVal($event)"
|
|
|
- v-model="info.barCode" @blur="getTsk()">
|
|
|
+ v-model="info.barCode" @blur="getTsk()" >
|
|
|
<span class="invalid-feedback offset-3" role="alert" v-if="errors.barCode">
|
|
|
<strong>@{{ errors.barCode[0] }}</strong>
|
|
|
</span>
|
|
|
@@ -60,33 +61,32 @@
|
|
|
</div>
|
|
|
</div>
|
|
|
</div>
|
|
|
- <div style="overflow: auto;overflow-x: hidden" id="cardTable" v-if="tasks.length>0">
|
|
|
+ <div style="overflow: auto;overflow-x: hidden" id="cardTable" v-show="tasks.length>0 && !info.barCode">
|
|
|
<table class="table-sm table-striped table-bordered table-hover mb-3"
|
|
|
style="background: rgb(255, 255, 255);">
|
|
|
<tr v-for="(task,i) in tasks">
|
|
|
<td style="filter:grayscale(30%);">
|
|
|
<div>
|
|
|
<div style="transform:scale(1)" class="pl-0">
|
|
|
+ <span><span class="text-black">ASN:</span><span class="text-black font-weight-bold">@{{ task.docno }}</span></span>
|
|
|
<span><span class="text-black">货主:</span><span
|
|
|
class="text-black font-weight-bold">@{{ task.customerid }}</span></span>
|
|
|
- <span><span class="text-black">批次:</span><span
|
|
|
- class="text-danger">@{{ task.plantolotnum }}</span></span>
|
|
|
- <span class="text-right float-right">选中:<input type="checkbox" :id="'task_'+i"
|
|
|
+ <span> </span>
|
|
|
+ <span><span class="text-black">sku:</span><span
|
|
|
+ class="text-black">@{{ task.sku }}</span></span>
|
|
|
+ <span class="text-right float-right" v-show="info.barCode">选中:<input type="checkbox" :id="'task_'+i"
|
|
|
@click="checked($event,task)"></span>
|
|
|
- <br>
|
|
|
+ <span><span class="text-lowercase">待上架/总量:</span><span
|
|
|
+ class="text-lowercase text-info font-weight-bold">@{{ task.qty}}/@{{ task.receivedqty }}</span></span>
|
|
|
<span><span>容器号:</span><span class="">@{{ task.plantoid }} </span></span>
|
|
|
- <span><span class="text-lowercase">数量:</span><span
|
|
|
- class="text-lowercase">@{{ task.qty }} </span></span>
|
|
|
- <span> </span>
|
|
|
- <span><span class="text-black">商品名:</span><span class="text-black">@{{ task.skudescrc }}</span></span>
|
|
|
- <span><span class="text-black">ASN:</span><span class="text-black font-weight-bold">@{{ task.docno }}</span></span>
|
|
|
</div>
|
|
|
</div>
|
|
|
</td>
|
|
|
</tr>
|
|
|
</table>
|
|
|
</div>
|
|
|
- <div style="overflow: auto;overflow-x: hidden" id="cardTable" class="bg-secondary" v-if="invLots.length>0">
|
|
|
+
|
|
|
+ <div style="overflow: auto;overflow-x: hidden" class="bg-secondary" v-if="invLots.length>0">
|
|
|
<span class="font-weight-bold ml-1 text-white">库存余量</span>
|
|
|
<table class="table-sm table-striped table-bordered table-hover mb-3"
|
|
|
style="background: rgb(255, 255, 255);">
|
|
|
@@ -159,6 +159,13 @@
|
|
|
if (e1) e1.remove();
|
|
|
if (e2) e2.remove();
|
|
|
},
|
|
|
+ clearData(){
|
|
|
+ this.info.name='';
|
|
|
+ this.tasks=[];
|
|
|
+ this.invLots=[];
|
|
|
+ this.checkData=[];
|
|
|
+ this.$forceUpdate();
|
|
|
+ },
|
|
|
checked(e, task, element = undefined) {
|
|
|
if (!element)element = e.target;
|
|
|
let _this = this;
|
|
|
@@ -204,10 +211,40 @@
|
|
|
this.info.paTotal-=Number(task.qty);
|
|
|
// this.info.location=task.plantolocation;
|
|
|
},
|
|
|
+ getPaTaskByTraceInOrCustomerOrAsnOrNull() {
|
|
|
+ let _this=this;
|
|
|
+ _this.clearData();
|
|
|
+ let url = '{{url('store/handInStorage/getPaTaskByTraceInOrCustomerOrAsnOrNull')}}';
|
|
|
+ window.axios.post(url, {trackNumber:this.info.trackNumber,barCode:null})
|
|
|
+ .then(res => {
|
|
|
+ if (res.data.success) {
|
|
|
+ this.tasks = res.data.data;
|
|
|
+ this.$forceUpdate();
|
|
|
+ setTimeout(function (){
|
|
|
+ this.height=window.screen.availHeight;
|
|
|
+ document.getElementById('cardTable').style.height=this.height*0.35+'px';
|
|
|
+ },10)
|
|
|
+ return;
|
|
|
+ }
|
|
|
+ this.tasks=[];
|
|
|
+ window.tempTip.setDuration(3000);
|
|
|
+ window.tempTip.show(res.data.data);
|
|
|
+ }).catch(err => {
|
|
|
+ this.tasks=[];
|
|
|
+ window.tempTip.setDuration(3000);
|
|
|
+ window.tempTip.show("网络错误:" + err);
|
|
|
+ })
|
|
|
+ },
|
|
|
getTsk() {
|
|
|
let _this=this;
|
|
|
_this.clearChecked();
|
|
|
+ _this.clearData();
|
|
|
if (!this.info.barCode)return;
|
|
|
+ if (!this.info.trackNumber){
|
|
|
+ window.tempTip.setDuration(3000);
|
|
|
+ window.tempTip.show('容器号必填');
|
|
|
+ return;
|
|
|
+ }
|
|
|
let url = '{{url('store/handInStorage/getTsk')}}';
|
|
|
window.axios.post(url, {trackNumber:this.info.trackNumber,barCode: this.info.barCode})
|
|
|
.then(res => {
|
|
|
@@ -220,6 +257,16 @@
|
|
|
let element={};
|
|
|
element.checked=true;
|
|
|
_this.checked(1,_this.tasks[0],element)
|
|
|
+ _this.tasks.forEach(function (task,i){
|
|
|
+ if (i==0)return;
|
|
|
+ if (task.customerid == _this.tasks[0].customerid
|
|
|
+ && task.plantolotnum == _this.tasks[0].plantolotnum
|
|
|
+ && task.sku == _this.tasks[0].sku)
|
|
|
+ document.getElementById("task_"+i).checked=true;
|
|
|
+ _this.checked(1,_this.tasks[i],element);
|
|
|
+ })
|
|
|
+ // document.getElementById('cardTable').remove();
|
|
|
+ document.getElementById('cardTable').style.height=null;
|
|
|
}, 100);
|
|
|
return;
|
|
|
}
|