md
This commit is contained in:
parent
0d180a5484
commit
a901c2634c
Binary file not shown.
@ -94,6 +94,9 @@
|
||||
<el-table-column :label="$t('发货地址')" align="center" prop="sendAddress" min-width="80" :show-overflow-tooltip="true"/>
|
||||
|
||||
<el-table-column :label="$t('月结客户')" align="center" prop="custNo" min-width="80" :show-overflow-tooltip="true"/>
|
||||
<el-table-column :label="$t('仓库名称')" align="center" prop="intoWarehouseName" min-width="80" :show-overflow-tooltip="true"/>
|
||||
<el-table-column :label="$t('预约发货时间')" align="center" prop="pickStartDate" min-width="170" :show-overflow-tooltip="true"/>
|
||||
|
||||
|
||||
<el-table-column :label="$t('货物名称')" align="center" prop="goodsInfo" min-width="80" :show-overflow-tooltip="true"/>
|
||||
<el-table-column :label="$t('包装类型')" align="center" prop="packType" min-width="80" />
|
||||
@ -102,7 +105,7 @@
|
||||
<el-table-column :label="$t('体积')" align="center" prop="totalVolume" min-width="80" />
|
||||
<el-table-column :label="$t('派件方式')" align="center" prop="dispatchMethod" min-width="80" />
|
||||
<el-table-column :label="$t('支付类型')" align="center" prop="paymentType" min-width="80" :show-overflow-tooltip="true" />
|
||||
<el-table-column :label="$t('备注')" align="center" prop="remark" min-width="80" :show-overflow-tooltip="true"/>
|
||||
<el-table-column :label="$t('备注')" align="center" prop="orderRemark" min-width="80" :show-overflow-tooltip="true"/>
|
||||
|
||||
</XdTable>
|
||||
|
||||
@ -496,7 +499,7 @@ export default {
|
||||
feeRemark:element['费用备注'],
|
||||
payee: element['销售联系人'],
|
||||
salesmen: element['销售联系人'],
|
||||
intoWarehouseName: element['收货仓库名称'],
|
||||
intoWarehouseName: element['仓库名称'],
|
||||
// operateEmployeeCode: element['取件员/操作员'],
|
||||
orderRemark: element['下单备注'],
|
||||
// blMessage: element['寄件/签收短信'],
|
||||
|
||||
@ -192,11 +192,13 @@
|
||||
<el-row :gutter="0" style="display: flex;flex-wrap: wrap;">
|
||||
<el-col :span="12">
|
||||
<el-row :gutter="0" style="display: flex;flex-wrap: wrap;">
|
||||
<el-col :span="24">
|
||||
<el-col :span="16">
|
||||
<el-form-item label="选择线路" prop="transLine">
|
||||
<TransLinePicker v-model="form.transLine" :fromCountry="form.sender.country" :countryCode="form.reciever.country" isInitiated="true" @onChange="onTransLineChange"></TransLinePicker>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="8" >
|
||||
</el-col>
|
||||
<el-col :span="24">
|
||||
<el-form-item :label="$t('取件方式')" prop="pickupMethod">
|
||||
<el-radio-group v-model="form.pickupMethod">
|
||||
@ -210,14 +212,17 @@
|
||||
</el-radio-group>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="24" v-if="form.pickupMethod==2">
|
||||
<el-col :span="12" v-if="form.pickupMethod==2">
|
||||
<el-form-item :label="$t('上门时间')" prop="pickTimeRange">
|
||||
<TimePicker v-model="form.pickTimeRange" @onChange="onPickTimeRange" ></TimePicker>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="12" v-if="form.pickupMethod==2">
|
||||
|
||||
</el-col>
|
||||
|
||||
|
||||
<el-col :span="24" v-if="form.pickupMethod==1 || form.pickupMethod==3">
|
||||
<el-col :span="16" v-if="form.pickupMethod==1 || form.pickupMethod==3">
|
||||
<el-form-item :label="$t('选择仓库')" prop="intoWarehouseCode">
|
||||
<WarehouseSimplePicker v-model="form.intoWarehouseCode" @onChange="onSelectWarehouse"></WarehouseSimplePicker>
|
||||
<div v-if="form.intoWarehouseCode" style="font-size: 12px;background: rgb(250, 250, 250);border: 1px solid rgb(240, 240, 240);padding: 10px;">
|
||||
@ -229,7 +234,9 @@
|
||||
</div>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="24" v-if="form.pickupMethod==1 || form.pickupMethod==3">
|
||||
<el-col :span="8" v-if="form.pickupMethod==1 || form.pickupMethod==3">
|
||||
</el-col>
|
||||
<el-col :span="12" v-if="form.pickupMethod==1 || form.pickupMethod==3">
|
||||
<el-form-item :label="$t('发货时间')" prop="pickStartDate">
|
||||
<el-date-picker
|
||||
style="width: 100%;"
|
||||
@ -243,6 +250,9 @@
|
||||
></el-date-picker>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="12" v-if="form.pickupMethod==1 || form.pickupMethod==3">
|
||||
|
||||
</el-col>
|
||||
|
||||
<el-col :span="12" v-if="form.pickupMethod==2">
|
||||
<el-form-item :label="$t('快递员')" prop="takePieceEmployeeCode">
|
||||
@ -256,11 +266,14 @@
|
||||
@click="handlePrivSalesmen"
|
||||
> {{ $t('去绑定快递员') }}</el-button>
|
||||
</el-col>
|
||||
<el-col :span="24" v-if="form.pickupMethod==1 || form.pickupMethod==3">
|
||||
<el-col :span="12" v-if="form.pickupMethod==1 || form.pickupMethod==3">
|
||||
<el-form-item :label="$t('业务员')" prop="salesmen">
|
||||
<SalemanPicker :placeholder="$t('业务员')" v-model="form.salesmen" ></SalemanPicker>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="12" v-if="form.pickupMethod==1 || form.pickupMethod==3">
|
||||
|
||||
</el-col>
|
||||
|
||||
|
||||
<el-col :span="12" >
|
||||
@ -346,20 +359,100 @@
|
||||
<el-input v-model="form.goodsInfo" type="textarea" placeholder="" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="12">
|
||||
<el-col :span="8">
|
||||
<el-form-item :label="$t('总件数')" prop="parcelQty" >
|
||||
<el-input v-model="form.parcelQty" style="text-align: right;" placeholder="" />
|
||||
<el-input v-model="form.parcelQty" style="text-align: right;" @blur="handleCargoQtyChangeDebounce" @keyup.enter.native="handleCargoQtyChangeDebounce" placeholder="" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="12">
|
||||
</el-col>
|
||||
<el-col :span="12">
|
||||
<el-col :span="8">
|
||||
<el-form-item :label="$t('总重量')" prop="billWeight" >
|
||||
<el-input v-model="form.billWeight" style="text-align: right;min-width: 80px" placeholder="" @blur="preCalcFee" @keyup.enter.native="preCalcFee" >
|
||||
<span slot="suffix">(kg)</span>
|
||||
</el-input>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="8">
|
||||
</el-col>
|
||||
<el-col :span="24">
|
||||
<el-form-item label="" prop="goodsType" label-width="0px">
|
||||
|
||||
<el-table
|
||||
class="cargoList"
|
||||
:cell-style="{
|
||||
'padding': '0px!important',
|
||||
'padding-left': '0px!important',
|
||||
'padding-right': '0px!important',
|
||||
'font-size':'11px'
|
||||
}"
|
||||
:header-cell-style="{
|
||||
'font-size':'11px'
|
||||
}"
|
||||
border
|
||||
stripe
|
||||
:data="form.cargoList"
|
||||
size="small"
|
||||
style="width: 100%"
|
||||
max-height="300px"
|
||||
>
|
||||
|
||||
<el-table-column :label="$t('序号')" align="center" width="60">
|
||||
<template slot-scope="scope">
|
||||
<span > {{scope.$index+1}}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column prop="length" :label="$t('长(cm)')" align="center" width="60">
|
||||
<template slot-scope="scope">
|
||||
<!-- @input="(val)=>handleCalcVolumeDebounce(scope.row)" -->
|
||||
<el-input-number v-model="scope.row.length" @blur="(val)=>handleCalcVolumeDebounce(scope.row)" :ref="'input_'+scope.$index+'_1'" @keyup.enter.native="focusNextInput('input_'+scope.$index+'_2')" size="mini" placeholder="" :min="0" :controls="false" :precision="0"></el-input-number>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column prop="width" :label="$t('宽(cm)')" align="center" width="60">
|
||||
<template slot-scope="scope">
|
||||
<!-- @input="(val)=>handleCalcVolumeDebounce(scope.row)" -->
|
||||
<el-input-number v-model="scope.row.width" @blur="(val)=>handleCalcVolumeDebounce(scope.row)" :ref="'input_'+scope.$index+'_2'" @keyup.enter.native="focusNextInput('input_'+scope.$index+'_3')" size="mini" placeholder="" :min="0" :controls="false" :precision="0"></el-input-number>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column prop="height" :label="$t('高(cm)')" align="center" width="60">
|
||||
<template slot-scope="scope">
|
||||
<!-- @input="(val)=>handleCalcVolumeDebounce(scope.row)" -->
|
||||
<el-input-number v-model="scope.row.height" @blur="(val)=>handleCalcVolumeDebounce(scope.row)" :ref="'input_'+scope.$index+'_3'" @keyup.enter.native="focusNextInput('input_'+scope.$index+'_4')" size="mini" placeholder="" :min="0" :controls="false" :precision="0"></el-input-number>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column prop="cargoQty" :label="$t('件数')" align="center" width="60">
|
||||
<template slot-scope="scope">
|
||||
<!-- -->
|
||||
<el-input-number v-model="scope.row.cargoQty" @blur="(val)=>handleCargoQtyChangeDebounce(scope.row)" :ref="'input_'+scope.$index+'_4'" @keyup.enter.native="(val)=>{ handleCargoQtyChangeDebounce(scope.row); focusNextInput('input_'+(scope.$index+1)+'_1')}" size="mini" placeholder="" :min="0" :controls="false" :precision="0"></el-input-number>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column prop="volume" :label="$t('体积(m³)')" align="center" width="80">
|
||||
<template slot-scope="scope">
|
||||
<span > {{scope.row.volume}}</span>
|
||||
<!-- <el-input-number v-model="scope.row.volume" size="mini" placeholder="" disabled :min="0" :controls="false" :precision="5"></el-input-number> -->
|
||||
</template>
|
||||
</el-table-column>
|
||||
|
||||
<!-- @input="(val)=>handleCalcQty(val,scope.row)" -->
|
||||
<!-- <el-table-column prop="goodsName" label="描述" align="center" width="60">
|
||||
<template slot-scope="scope">
|
||||
<el-input v-model="scope.row.goodsName" size="mini" placeholder=""></el-input>
|
||||
</template>
|
||||
</el-table-column> -->
|
||||
|
||||
<el-table-column :label="$t('操作')" align="left" min-width="50">
|
||||
<template slot-scope="scope">
|
||||
<span class="icon iconfont"
|
||||
style="cursor: pointer;font-size: 21px;color: #6e6e6e;"
|
||||
@click="()=>deleteGoodsItem(scope.row,scope.$index)"></span>
|
||||
<span class="icon iconfont"
|
||||
style="cursor: pointer;font-size: 21px;color: #6e6e6e;"
|
||||
@click="()=>copyGoodsItem(scope.row,scope.$index)"></span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
|
||||
</el-table>
|
||||
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="12">
|
||||
<el-form-item :label="$t('总体积')" prop="totalVolume" >
|
||||
<div style="">
|
||||
@ -435,14 +528,14 @@
|
||||
</div>
|
||||
</el-collapse-item>
|
||||
<!-- v-if="needDeclare==1" -->
|
||||
<el-collapse-item title="" name="3" >
|
||||
<el-collapse-item title="" name="3" v-if="this.transType==1">
|
||||
<template slot="title">
|
||||
<div class="form-group-title">
|
||||
<span class="title" v-if="this.transType==1">{{ $t('快递货物申报信息') }}</span>
|
||||
<span class="title" v-else-if="this.transType==2">{{ $t('空运货物申报信息') }}</span>
|
||||
<span class="title" v-else-if="this.transType==3">{{ $t('陆运货物申报信息') }}</span>
|
||||
<span class="title" v-else-if="this.transType==4">{{ $t('海运货物申报信息') }}</span>
|
||||
<span class="title" v-else>{{ $t('货物申报信息') }}</span>
|
||||
<!-- <span class="title" v-else-if="this.transType==2">{{ $t('空运货物申报信息') }}</span> -->
|
||||
<!-- <span class="title" v-else-if="this.transType==3">{{ $t('陆运货物申报信息') }}</span> -->
|
||||
<!-- <span class="title" v-else-if="this.transType==4">{{ $t('海运货物申报信息') }}</span> -->
|
||||
<!-- <span class="title" v-else>{{ $t('货物申报信息') }}</span> -->
|
||||
</div>
|
||||
</template>
|
||||
<el-row :gutter="0" style="display: flex;flex-wrap: wrap;">
|
||||
@ -456,7 +549,7 @@
|
||||
size="mini"
|
||||
type="primary"
|
||||
class="iconfont icon-add"
|
||||
@click="handleAddGoods"
|
||||
@click="handleAddDeclareGoods"
|
||||
>{{ $t('添加申报货物') }}
|
||||
</el-button>
|
||||
<!-- <GoodsTablePicker style="cursor:hand;font-weight:700;border:1px dotted #e2d8d8;padding: 2px 5px;font-size: 12px;" v-model="form.goodsType" @onChange="onGoodsChange" placeholder=""></GoodsTablePicker> -->
|
||||
@ -483,7 +576,7 @@
|
||||
}"
|
||||
border
|
||||
stripe
|
||||
:data="form.cargoList"
|
||||
:data="form.declareGoodsList"
|
||||
size="small"
|
||||
style="width: 100%"
|
||||
max-height="300px"
|
||||
@ -502,7 +595,7 @@
|
||||
</el-table-column>
|
||||
<el-table-column prop="cargoQty" :label="$t('数量')" align="center" width="100">
|
||||
<template slot-scope="scope">
|
||||
<el-input v-model="scope.row.cargoQty" size="mini" placeholder="">
|
||||
<el-input v-model="scope.row.cargoQty" style="text-align: center;" size="mini" placeholder="">
|
||||
|
||||
</el-input>
|
||||
</template>
|
||||
@ -574,32 +667,32 @@
|
||||
</template>
|
||||
</el-table-column>
|
||||
|
||||
<el-table-column prop="length" :label="$t('长(cm)')" align="center" width="80">
|
||||
<!-- <el-table-column prop="length" :label="$t('长(cm)')" align="center" width="80">
|
||||
<template slot-scope="scope">
|
||||
<el-input v-model="scope.row.length" size="mini" placeholder=""></el-input>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table-column> -->
|
||||
|
||||
<el-table-column prop="width" :label="$t('宽(cm)')" align="center" width="80">
|
||||
<!-- <el-table-column prop="width" :label="$t('宽(cm)')" align="center" width="80">
|
||||
<template slot-scope="scope">
|
||||
<el-input v-model="scope.row.width" size="mini" placeholder=""></el-input>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column prop="height" :label="$t('高(cm)')" align="center" width="80">
|
||||
</el-table-column> -->
|
||||
<!-- <el-table-column prop="height" :label="$t('高(cm)')" align="center" width="80">
|
||||
<template slot-scope="scope">
|
||||
<el-input v-model="scope.row.height" size="mini" placeholder=""></el-input>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table-column> -->
|
||||
|
||||
|
||||
<el-table-column :label="$t('操作')" align="left" min-width="100">
|
||||
<template slot-scope="scope">
|
||||
<span class="icon iconfont"
|
||||
style="cursor: pointer;font-size: 21px;color: #6e6e6e;"
|
||||
@click="()=>deleteGoodsItem(scope.row,scope.$index)"></span>
|
||||
@click="()=>deleteDeclareGoodsItem(scope.row,scope.$index)"></span>
|
||||
<span class="icon iconfont"
|
||||
style="cursor: pointer;font-size: 21px;color: #6e6e6e;"
|
||||
@click="()=>copyGoodsItem(scope.row,scope.$index)"></span>
|
||||
@click="()=>copyDeclareGoodsItem(scope.row,scope.$index)"></span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
|
||||
@ -615,7 +708,7 @@
|
||||
</el-row>
|
||||
</el-collapse-item>
|
||||
|
||||
<el-collapse-item title="" name="4" >
|
||||
<el-collapse-item title="" name="4" v-if="this.transType!=1">
|
||||
<template slot="title">
|
||||
<div class="form-group-title"><span class="title">{{ $t('上传单证文件') }}</span>
|
||||
</div>
|
||||
@ -1313,6 +1406,10 @@ methods: {
|
||||
cargoList: [],
|
||||
attachmentList: [],
|
||||
printTypeCheckList:[],
|
||||
|
||||
declareGoodsList: [],
|
||||
declareAttachmentList: [],
|
||||
|
||||
billCode: null,
|
||||
orderDate: null,
|
||||
openId: null,
|
||||
@ -1527,6 +1624,40 @@ methods: {
|
||||
this.form.goodsInfo = selNameStr;
|
||||
},
|
||||
|
||||
|
||||
|
||||
handleAddDeclareGoods(){
|
||||
if(!this.form.declareGoodsList){
|
||||
this.form.declareGoodsList=[];
|
||||
}
|
||||
|
||||
let declareGoods={
|
||||
"goodsCode": "",
|
||||
"goodsName": "",
|
||||
"cargoQty": 1,
|
||||
"unit": "件",
|
||||
"brand": "无",
|
||||
}
|
||||
this.form.declareGoodsList.push(declareGoods);
|
||||
},
|
||||
|
||||
|
||||
deleteDeclareGoodsItem(row,index){
|
||||
this.$confirm('确定删除?', '提示', {
|
||||
confirmButtonText: '确定',
|
||||
cancelButtonText: '取消',
|
||||
type: 'warning'
|
||||
}).then(() => {
|
||||
this.form.declareGoodsList.splice(index,1)
|
||||
}).catch(() => {
|
||||
})
|
||||
},
|
||||
copyDeclareGoodsItem(row,index){
|
||||
let newItem = Object.assign({},row);
|
||||
newItem.cargoQty=1;
|
||||
this.form.declareGoodsList.splice(index+1, 0, newItem);
|
||||
},
|
||||
|
||||
handleAddGoods(){
|
||||
if(!this.form.cargoList){
|
||||
this.form.cargoList=[];
|
||||
@ -1571,9 +1702,105 @@ methods: {
|
||||
debounce(250, this.handleCargoQtyChange(row))
|
||||
},
|
||||
handleCargoQtyChange(row){
|
||||
this.handleInitGenGoods();
|
||||
this.handleCalcVolume(row);
|
||||
},
|
||||
|
||||
|
||||
handleInitGenGoods(){
|
||||
if(this.form.parcelQty>0){
|
||||
|
||||
let currentParcelQty = 0;
|
||||
if(!this.form.cargoList){
|
||||
this.form.cargoList=[];
|
||||
}
|
||||
|
||||
this.form.cargoList.forEach(item=>{
|
||||
currentParcelQty = currentParcelQty+parseInt(item.cargoQty);
|
||||
});
|
||||
|
||||
// 新件数大于
|
||||
if(this.form.parcelQty>currentParcelQty){
|
||||
let len=this.form.parcelQty-currentParcelQty;
|
||||
if(this.form.parcelQty>10){
|
||||
let cargo={
|
||||
"goodsCode": "",
|
||||
"goodsName": "",
|
||||
"cargoQty": len,
|
||||
"length": 0,
|
||||
"width": 0,
|
||||
"height": 0,
|
||||
"volume": 0,
|
||||
}
|
||||
this.form.cargoList.push(cargo);
|
||||
}
|
||||
else{
|
||||
for(let i=0;i<len;i++){
|
||||
let cargo={
|
||||
"goodsCode": "",
|
||||
"goodsName": "",
|
||||
"cargoQty": 1,
|
||||
"length": 0,
|
||||
"width": 0,
|
||||
"height": 0,
|
||||
"volume": 0,
|
||||
}
|
||||
this.form.cargoList.push(cargo);
|
||||
}
|
||||
}
|
||||
}
|
||||
else{
|
||||
let newList=[];
|
||||
let incQty=0;
|
||||
let zeroItem={
|
||||
"goodsCode": "",
|
||||
"goodsName": "",
|
||||
"cargoQty": 1,
|
||||
"length": 0,
|
||||
"width": 0,
|
||||
"height": 0,
|
||||
"volume": 0,
|
||||
};
|
||||
for(let i=0;i<this.form.cargoList.length;i++){
|
||||
let item=this.form.cargoList[i];
|
||||
// 忽略未填写体积的数据
|
||||
if(item.length==0&&item.width==0&&item.height==0){
|
||||
continue;
|
||||
}
|
||||
|
||||
if((incQty+parseInt(item.cargoQty))<this.form.parcelQty){
|
||||
incQty = incQty+parseInt(item.cargoQty);
|
||||
newList.push(item)
|
||||
}else{
|
||||
item.cargoQty=this.form.parcelQty-incQty;
|
||||
newList.push(item)
|
||||
incQty = incQty+parseInt(item.cargoQty);
|
||||
break;
|
||||
}
|
||||
}
|
||||
// 补足数量
|
||||
let bzLen=this.form.parcelQty-incQty;
|
||||
if(bzLen>0){
|
||||
if(newList.length>=10 || this.form.parcelQty>=10){
|
||||
let newItem=Object.assign({},zeroItem);
|
||||
newItem.cargoQty=bzLen;
|
||||
newList.push(newItem);
|
||||
}else{
|
||||
for(let i=0;i<bzLen;i++){
|
||||
let newItem=Object.assign({},zeroItem);
|
||||
newList.push(newItem);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
this.form.cargoList=newList;
|
||||
}
|
||||
}else{
|
||||
this.form.cargoList=[];
|
||||
}
|
||||
},
|
||||
|
||||
|
||||
deleteGoodsItem(row,index){
|
||||
this.$confirm('确定删除?', '提示', {
|
||||
confirmButtonText: '确定',
|
||||
|
||||
Loading…
Reference in New Issue
Block a user