|
@@ -82,16 +82,26 @@
|
|
</el-button>
|
|
</el-button>
|
|
</el-form-item>
|
|
</el-form-item>
|
|
<el-form-item v-if="isShowOperate">
|
|
<el-form-item v-if="isShowOperate">
|
|
- <el-button type="primary" @click="checkTrans()"
|
|
|
|
|
|
+ <el-button
|
|
|
|
+ type="primary"
|
|
|
|
+ @click="checkTrans()"
|
|
|
|
+ v-if="!notRoutList.includes('checkTrans')"
|
|
><i class="el-icon-truck"></i>轨迹</el-button
|
|
><i class="el-icon-truck"></i>轨迹</el-button
|
|
>
|
|
>
|
|
<el-button type="primary" @click="operation()"
|
|
<el-button type="primary" @click="operation()"
|
|
><i class="el-icon-edit"></i>更改</el-button
|
|
><i class="el-icon-edit"></i>更改</el-button
|
|
>
|
|
>
|
|
- <el-button type="primary" @click="checkPoint()"
|
|
|
|
|
|
+ <el-button
|
|
|
|
+ type="primary"
|
|
|
|
+ @click="checkPoint()"
|
|
|
|
+ v-if="!notRoutList.includes('checkPoint')"
|
|
><i class="el-icon-map-location"></i>实时路径</el-button
|
|
><i class="el-icon-map-location"></i>实时路径</el-button
|
|
>
|
|
>
|
|
</el-form-item>
|
|
</el-form-item>
|
|
|
|
+ <el-form-item>
|
|
|
|
+ <el-button type="primary" @click="openReceive()" >
|
|
|
|
+ <i class="el-icon-document"></i>签收抵达</el-button>
|
|
|
|
+ </el-form-item>
|
|
<el-form-item>
|
|
<el-form-item>
|
|
<span style="margin-left: 1rem;font-size:16px">车数/件数:</span>
|
|
<span style="margin-left: 1rem;font-size:16px">车数/件数:</span>
|
|
<span style="font-size:16px"
|
|
<span style="font-size:16px"
|
|
@@ -197,9 +207,10 @@
|
|
<el-table-column
|
|
<el-table-column
|
|
prop="materialSpe"
|
|
prop="materialSpe"
|
|
label="物资规格"
|
|
label="物资规格"
|
|
|
|
+ column-key="materialSpe"
|
|
align="center"
|
|
align="center"
|
|
sortable
|
|
sortable
|
|
- show-overflow-tooltip
|
|
|
|
|
|
+ :filters="filtermaterialSpe"
|
|
width="120px"
|
|
width="120px"
|
|
>
|
|
>
|
|
</el-table-column>
|
|
</el-table-column>
|
|
@@ -215,14 +226,16 @@
|
|
label="收货地址"
|
|
label="收货地址"
|
|
width="250px"
|
|
width="250px"
|
|
sortable
|
|
sortable
|
|
- show-overflow-tooltip
|
|
|
|
|
|
+ column-key="addressPlace"
|
|
|
|
+ :filters="filteraddressPlace"
|
|
>
|
|
>
|
|
</el-table-column>
|
|
</el-table-column>
|
|
<el-table-column
|
|
<el-table-column
|
|
prop="orderStatus"
|
|
prop="orderStatus"
|
|
|
|
+ column-key="orderStatus"
|
|
label="运单状态"
|
|
label="运单状态"
|
|
align="center"
|
|
align="center"
|
|
- show-overflow-tooltip
|
|
|
|
|
|
+ :filters="filterorderStatus"
|
|
>
|
|
>
|
|
</el-table-column>
|
|
</el-table-column>
|
|
<el-table-column
|
|
<el-table-column
|
|
@@ -435,6 +448,7 @@
|
|
placeholder="请选择"
|
|
placeholder="请选择"
|
|
@change="onchangeProvince"
|
|
@change="onchangeProvince"
|
|
style="width:120px"
|
|
style="width:120px"
|
|
|
|
+ :disabled="notRoutList.includes('province')"
|
|
>
|
|
>
|
|
<el-option
|
|
<el-option
|
|
v-for="item in provinceList"
|
|
v-for="item in provinceList"
|
|
@@ -449,6 +463,7 @@
|
|
placeholder="请选择"
|
|
placeholder="请选择"
|
|
@change="onchangeCity"
|
|
@change="onchangeCity"
|
|
style="width:120px"
|
|
style="width:120px"
|
|
|
|
+ :disabled="notRoutList.includes('city')"
|
|
>
|
|
>
|
|
<el-option
|
|
<el-option
|
|
v-for="item in cityList"
|
|
v-for="item in cityList"
|
|
@@ -463,6 +478,7 @@
|
|
placeholder="请选择"
|
|
placeholder="请选择"
|
|
@change="onchangeCounty"
|
|
@change="onchangeCounty"
|
|
style="width:120px"
|
|
style="width:120px"
|
|
|
|
+ :disabled="notRoutList.includes('country')"
|
|
>
|
|
>
|
|
<el-option
|
|
<el-option
|
|
v-for="item in countyList"
|
|
v-for="item in countyList"
|
|
@@ -479,25 +495,36 @@
|
|
:trigger-on-focus="false"
|
|
:trigger-on-focus="false"
|
|
@select="handleSelect1"
|
|
@select="handleSelect1"
|
|
style="width:250px"
|
|
style="width:250px"
|
|
|
|
+ :disabled="notRoutList.includes('place')"
|
|
>
|
|
>
|
|
</el-autocomplete>
|
|
</el-autocomplete>
|
|
- <el-button type="success" circle @click="addAddressClick"
|
|
|
|
|
|
+ <el-button
|
|
|
|
+ type="success"
|
|
|
|
+ circle
|
|
|
|
+ @click="addAddressClick"
|
|
|
|
+ v-if="!notRoutList.includes('addressClick')"
|
|
>提交</el-button
|
|
>提交</el-button
|
|
>
|
|
>
|
|
</div>
|
|
</div>
|
|
<div
|
|
<div
|
|
class="steelMapClass23"
|
|
class="steelMapClass23"
|
|
v-if="
|
|
v-if="
|
|
- steelMap.carStatus == 4 ||
|
|
|
|
|
|
+ (steelMap.carStatus == 4 ||
|
|
steelMap.carStatus == 5 ||
|
|
steelMap.carStatus == 5 ||
|
|
- steelMap.carStatus == null
|
|
|
|
|
|
+ steelMap.carStatus == null) &&
|
|
|
|
+ !notRoutList.includes('closeOrder')
|
|
"
|
|
"
|
|
>
|
|
>
|
|
<el-button type="danger" round @click="deleteEasEntryId"
|
|
<el-button type="danger" round @click="deleteEasEntryId"
|
|
>关闭运单</el-button
|
|
>关闭运单</el-button
|
|
>
|
|
>
|
|
</div>
|
|
</div>
|
|
- <div class="steelMapClass23" v-if="steelMap.carStatus == 7">
|
|
|
|
|
|
+ <div
|
|
|
|
+ class="steelMapClass23"
|
|
|
|
+ v-if="
|
|
|
|
+ steelMap.carStatus == 7 && !notRoutList.includes('closeOrder')
|
|
|
|
+ "
|
|
|
|
+ >
|
|
<el-button type="danger" round @click="reverseCloseOrder"
|
|
<el-button type="danger" round @click="reverseCloseOrder"
|
|
>反关闭运单</el-button
|
|
>反关闭运单</el-button
|
|
>
|
|
>
|
|
@@ -509,8 +536,13 @@
|
|
<el-input
|
|
<el-input
|
|
v-model="steelMap.consigneeTel"
|
|
v-model="steelMap.consigneeTel"
|
|
style="width:150px"
|
|
style="width:150px"
|
|
|
|
+ :disabled="notRoutList.includes('consigeeTel')"
|
|
></el-input>
|
|
></el-input>
|
|
- <el-button type="success" circle @click="updateconsigneeTel"
|
|
|
|
|
|
+ <el-button
|
|
|
|
+ type="success"
|
|
|
|
+ circle
|
|
|
|
+ @click="updateconsigneeTel"
|
|
|
|
+ v-if="!notRoutList.includes('consigeeTel')"
|
|
>提交</el-button
|
|
>提交</el-button
|
|
>
|
|
>
|
|
</div>
|
|
</div>
|
|
@@ -522,9 +554,14 @@
|
|
:fetch-suggestions="querySearchCarrier"
|
|
:fetch-suggestions="querySearchCarrier"
|
|
placeholder="请输入承运商"
|
|
placeholder="请输入承运商"
|
|
@select="handleSelectCarrier"
|
|
@select="handleSelectCarrier"
|
|
|
|
+ :disabled="notRoutList.includes('carrierName')"
|
|
>
|
|
>
|
|
</el-autocomplete>
|
|
</el-autocomplete>
|
|
- <el-button type="success" circle @click="updateTruckCarrier"
|
|
|
|
|
|
+ <el-button
|
|
|
|
+ type="success"
|
|
|
|
+ circle
|
|
|
|
+ @click="updateTruckCarrierDebounce"
|
|
|
|
+ v-if="!notRoutList.includes('carrierName')"
|
|
>提交</el-button
|
|
>提交</el-button
|
|
>
|
|
>
|
|
</div>
|
|
</div>
|
|
@@ -536,8 +573,21 @@
|
|
:fetch-suggestions="querySearch"
|
|
:fetch-suggestions="querySearch"
|
|
placeholder="请输入车牌号"
|
|
placeholder="请输入车牌号"
|
|
@select="handleSelect()"
|
|
@select="handleSelect()"
|
|
|
|
+ :disabled="
|
|
|
|
+ notRoutList.includes('capacityNo') &&
|
|
|
|
+ steelMap.capacityId != null
|
|
|
|
+ "
|
|
></el-autocomplete>
|
|
></el-autocomplete>
|
|
- <el-button type="success" circle @click="updateCapacity"
|
|
|
|
|
|
+ <el-button
|
|
|
|
+ type="success"
|
|
|
|
+ circle
|
|
|
|
+ @click="updateCapacityDebounce"
|
|
|
|
+ v-if="
|
|
|
|
+ !(
|
|
|
|
+ notRoutList.includes('capacityNo') &&
|
|
|
|
+ steelMap.capacityId != null
|
|
|
|
+ )
|
|
|
|
+ "
|
|
>提交</el-button
|
|
>提交</el-button
|
|
>
|
|
>
|
|
</div>
|
|
</div>
|
|
@@ -569,38 +619,17 @@
|
|
<span>状态更新时间:</span>
|
|
<span>状态更新时间:</span>
|
|
<span>{{ steelMap.orderStatusTime }}</span>
|
|
<span>{{ steelMap.orderStatusTime }}</span>
|
|
</div>
|
|
</div>
|
|
- <div class="steelMapClass44">
|
|
|
|
- <el-button type="success" circle @click="continue1"
|
|
|
|
- >继续装</el-button
|
|
|
|
- >
|
|
|
|
- </div>
|
|
|
|
</div>
|
|
</div>
|
|
<div class="steelMapClass5">
|
|
<div class="steelMapClass5">
|
|
<div class="steelMapClass52" v-if="steelMap.arrivalAddress != null">
|
|
<div class="steelMapClass52" v-if="steelMap.arrivalAddress != null">
|
|
<span>抵达地址:</span>
|
|
<span>抵达地址:</span>
|
|
<span>{{ steelMap.arrivalAddress }}</span>
|
|
<span>{{ steelMap.arrivalAddress }}</span>
|
|
- <span class="steelMapClass521"
|
|
|
|
- ><el-button
|
|
|
|
- type="success"
|
|
|
|
- icon="el-icon-money"
|
|
|
|
- circle
|
|
|
|
- @click="toPhotoClick(steelMap.orderNo, 0)"
|
|
|
|
- ></el-button
|
|
|
|
- ></span>
|
|
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="steelMapClass6">
|
|
<div class="steelMapClass6">
|
|
<div class="steelMapClass62" v-if="steelMap.receiptAddress != null">
|
|
<div class="steelMapClass62" v-if="steelMap.receiptAddress != null">
|
|
<span>签收地址:</span>
|
|
<span>签收地址:</span>
|
|
<span>{{ steelMap.receiptAddress }}</span>
|
|
<span>{{ steelMap.receiptAddress }}</span>
|
|
- <span class="steelMapClass621"
|
|
|
|
- ><el-button
|
|
|
|
- type="success"
|
|
|
|
- icon="el-icon-money"
|
|
|
|
- circle
|
|
|
|
- @click="receipctPhotoClick(steelMap.orderNo, 0)"
|
|
|
|
- ></el-button
|
|
|
|
- ></span>
|
|
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
@@ -635,21 +664,27 @@
|
|
type="primary"
|
|
type="primary"
|
|
@click="scope.row.materialNum--"
|
|
@click="scope.row.materialNum--"
|
|
style="height:40px"
|
|
style="height:40px"
|
|
|
|
+ v-if="!notRoutList.includes('materialNum')"
|
|
>
|
|
>
|
|
-
|
|
-
|
|
</button>
|
|
</button>
|
|
<input
|
|
<input
|
|
v-model="scope.row.materialNum"
|
|
v-model="scope.row.materialNum"
|
|
style="width:40px;height: 40px;font-size:16px;line-height: 40px;text-align: center;"
|
|
style="width:40px;height: 40px;font-size:16px;line-height: 40px;text-align: center;"
|
|
|
|
+ :disabled="notRoutList.includes('materialNum')"
|
|
/>
|
|
/>
|
|
<button
|
|
<button
|
|
type="primary"
|
|
type="primary"
|
|
@click="scope.row.materialNum--"
|
|
@click="scope.row.materialNum--"
|
|
style="height:40px"
|
|
style="height:40px"
|
|
|
|
+ v-if="!notRoutList.includes('materialNum')"
|
|
>
|
|
>
|
|
- +
|
|
|
|
|
|
+ -
|
|
</button>
|
|
</button>
|
|
- <el-button type="primary" @click="updateBillOrder(scope.row)"
|
|
|
|
|
|
+ <el-button
|
|
|
|
+ type="primary"
|
|
|
|
+ @click="updateBillOrder(scope.row)"
|
|
|
|
+ v-if="!notRoutList.includes('materialNum')"
|
|
>提交</el-button
|
|
>提交</el-button
|
|
>
|
|
>
|
|
</template>
|
|
</template>
|
|
@@ -688,14 +723,20 @@
|
|
type="text"
|
|
type="text"
|
|
size="small"
|
|
size="small"
|
|
@click="closeEasEntryId(scope.row)"
|
|
@click="closeEasEntryId(scope.row)"
|
|
- v-if="scope.row.deletedStatus == null"
|
|
|
|
|
|
+ v-if="
|
|
|
|
+ scope.row.deletedStatus == null &&
|
|
|
|
+ !notRoutList.includes('closeEntry')
|
|
|
|
+ "
|
|
>关闭分录</el-button
|
|
>关闭分录</el-button
|
|
>
|
|
>
|
|
<el-button
|
|
<el-button
|
|
type="text"
|
|
type="text"
|
|
size="small"
|
|
size="small"
|
|
@click="adverseCloseSaleMaterial(scope.row)"
|
|
@click="adverseCloseSaleMaterial(scope.row)"
|
|
- v-if="scope.row.deletedStatus != null"
|
|
|
|
|
|
+ v-if="
|
|
|
|
+ scope.row.deletedStatus != null &&
|
|
|
|
+ !notRoutList.includes('closeEntry')
|
|
|
|
+ "
|
|
>反关闭分录</el-button
|
|
>反关闭分录</el-button
|
|
>
|
|
>
|
|
</template>
|
|
</template>
|
|
@@ -770,6 +811,49 @@
|
|
><currentLocation :carNumber="carNumber"></currentLocation
|
|
><currentLocation :carNumber="carNumber"></currentLocation
|
|
></vxe-modal>
|
|
></vxe-modal>
|
|
</div>
|
|
</div>
|
|
|
|
+ <el-dialog title="抵达签收" :visible.sync="arrivalReceiving" :before-close="closeUpload">
|
|
|
|
+ <el-form :inline="true" style="margin-left:20%">
|
|
|
|
+ <el-form-item label="车牌号码">
|
|
|
|
+ <el-input v-model="capacityNumber" disabled style="width:300px"></el-input>
|
|
|
|
+ </el-form-item>
|
|
|
|
+ <el-form-item label="签收地址">
|
|
|
|
+ <el-input v-model="location" style="width:300px"></el-input>
|
|
|
|
+ </el-form-item>
|
|
|
|
+ <el-form-item label="抵达图片(满货箱)">
|
|
|
|
+ <el-upload
|
|
|
|
+ ref="arrival"
|
|
|
|
+ list-type="picture-card"
|
|
|
|
+ action="/api/v1/otms/addtmstruckArrivalResult"
|
|
|
|
+ :limit="1"
|
|
|
|
+ :on-change="fileChange1"
|
|
|
|
+ :on-exceed="exceed"
|
|
|
|
+ accept=".jpg,.jpeg,.png,.gif,.bmp,.pdf,.JPG,.JPEG,.PBG,.GIF,.BMP,.PDF"
|
|
|
|
+ :auto-upload="false">
|
|
|
|
+ <i class="el-icon-plus"></i>
|
|
|
|
+ </el-upload>
|
|
|
|
+ <el-dialog :visible.sync="dialogVisible1">
|
|
|
|
+ <img width="100%" :src="dialogImageUrl" alt="">
|
|
|
|
+ </el-dialog>
|
|
|
|
+ </el-form-item>
|
|
|
|
+ <el-form-item label="签收图片(空货箱、质保书、签收单)">
|
|
|
|
+ <el-upload
|
|
|
|
+ ref="receive"
|
|
|
|
+ list-type="picture-card"
|
|
|
|
+ action="null"
|
|
|
|
+ :limit="5"
|
|
|
|
+ :on-change="fileChange2"
|
|
|
|
+ :on-exceed="exceed"
|
|
|
|
+ accept=".jpg,.jpeg,.png,.gif,.bmp,.pdf,.JPG,.JPEG,.PBG,.GIF,.BMP,.PDF"
|
|
|
|
+ :auto-upload="false">
|
|
|
|
+ <i class="el-icon-plus"></i>
|
|
|
|
+ </el-upload>
|
|
|
|
+ <el-dialog :visible.sync="dialogVisible2">
|
|
|
|
+ <img width="100%" :src="dialogImageUrl" alt="">
|
|
|
|
+ </el-dialog>
|
|
|
|
+ </el-form-item>
|
|
|
|
+ </el-form>
|
|
|
|
+ <el-button type="primary" @click="arrivalAndReceive" :loading="isLoading" style="margin-left:40%">确定</el-button>
|
|
|
|
+ </el-dialog>
|
|
</div>
|
|
</div>
|
|
</template>
|
|
</template>
|
|
|
|
|
|
@@ -846,6 +930,7 @@ export default {
|
|
pos: 0,
|
|
pos: 0,
|
|
//需要合并列的名称
|
|
//需要合并列的名称
|
|
mergeList: [
|
|
mergeList: [
|
|
|
|
+ '选择',
|
|
'序号',
|
|
'序号',
|
|
'整车操作',
|
|
'整车操作',
|
|
'销售订单状态',
|
|
'销售订单状态',
|
|
@@ -939,7 +1024,8 @@ export default {
|
|
'dagangadmin',
|
|
'dagangadmin',
|
|
'shichangxinxibu',
|
|
'shichangxinxibu',
|
|
'xiaoshouyewuyuan',
|
|
'xiaoshouyewuyuan',
|
|
- 'zidonghuabu'
|
|
|
|
|
|
+ 'zidonghuabu',
|
|
|
|
+ 'chengyunshang'
|
|
],
|
|
],
|
|
isShowOperate: false,
|
|
isShowOperate: false,
|
|
filterConsigneeList: [],
|
|
filterConsigneeList: [],
|
|
@@ -947,13 +1033,52 @@ export default {
|
|
filterCapacityList: [],
|
|
filterCapacityList: [],
|
|
filtermaterialNameList: [],
|
|
filtermaterialNameList: [],
|
|
filterSaleAreaList: [],
|
|
filterSaleAreaList: [],
|
|
- filterMap: {}
|
|
|
|
|
|
+ filterorderStatus: [],
|
|
|
|
+ filteraddressPlace: [],
|
|
|
|
+ filtermaterialSpe: [],
|
|
|
|
+ filterMap: {},
|
|
|
|
+ //权限控制
|
|
|
|
+ notRoutList: [],
|
|
|
|
+ location:null,
|
|
|
|
+ orderNumber:null,
|
|
|
|
+ capacityNumber:null,
|
|
|
|
+ arrivalReceiving:false,
|
|
|
|
+ fileListArrival:[],
|
|
|
|
+ fileListReceive:[],
|
|
|
|
+ dialogImageUrl: '',
|
|
|
|
+ dialogVisible1: false,
|
|
|
|
+ dialogVisible2: false,
|
|
|
|
+ isLoading:false
|
|
}
|
|
}
|
|
},
|
|
},
|
|
created() {
|
|
created() {
|
|
if (this.orgCodeList.includes(getCookie('orgCode'))) {
|
|
if (this.orgCodeList.includes(getCookie('orgCode'))) {
|
|
this.isShowOperate = true
|
|
this.isShowOperate = true
|
|
}
|
|
}
|
|
|
|
+ if (getCookie('orgCode') == 'chengyunshang') {
|
|
|
|
+ this.notRoutList = [
|
|
|
|
+ 'checkPoint',
|
|
|
|
+ 'checkTrans',
|
|
|
|
+ 'carrierName',
|
|
|
|
+ 'consigeeTel',
|
|
|
|
+ 'province',
|
|
|
|
+ 'city',
|
|
|
|
+ 'country',
|
|
|
|
+ 'place',
|
|
|
|
+ 'addressClick',
|
|
|
|
+ 'closeOrder',
|
|
|
|
+ 'materialNum',
|
|
|
|
+ 'closeEntry',
|
|
|
|
+ 'capacityNo'
|
|
|
|
+ ]
|
|
|
|
+ }
|
|
|
|
+ //只要涉及提交即必须设计防抖,在初始化时绑定防抖函数
|
|
|
|
+ this.updateCapacityDebounce = this.debounce(() => {
|
|
|
|
+ this.updateCapacity()
|
|
|
|
+ }, 3000)
|
|
|
|
+ this.updateTruckCarrierDebounce = this.debounce(() => {
|
|
|
|
+ this.updateTruckCarrier()
|
|
|
|
+ }, 3000)
|
|
this.getSteelReport()
|
|
this.getSteelReport()
|
|
},
|
|
},
|
|
watch: {
|
|
watch: {
|
|
@@ -980,23 +1105,116 @@ export default {
|
|
},
|
|
},
|
|
computed: {},
|
|
computed: {},
|
|
methods: {
|
|
methods: {
|
|
- //继续装
|
|
|
|
- continue1(row) {
|
|
|
|
- let map = {
|
|
|
|
- orderId: this.steelMap.orderId
|
|
|
|
|
|
+ openReceive() {
|
|
|
|
+ if (Object.values(this.steelMap).length == 0) {
|
|
|
|
+ this.$message.warning('请选择需要补录的实绩')
|
|
|
|
+ return
|
|
}
|
|
}
|
|
- console.log(map)
|
|
|
|
- this.axios.post('/api/v1/oms/updateContinueStaus', map).then(res => {
|
|
|
|
- if (res.data.code == '200') {
|
|
|
|
- this.$message.success('修改成功')
|
|
|
|
- } else {
|
|
|
|
- this.$message.error('修改失败')
|
|
|
|
|
|
+ let row = this.steelMap;
|
|
|
|
+ if(!row.outGateTime){
|
|
|
|
+ this.$message.warning('该车未出厂,不允许签收')
|
|
|
|
+ return
|
|
|
|
+ }
|
|
|
|
+ if (row.arrivalAddress != null && row.arrivalAddress!=null) {
|
|
|
|
+ this.$message.warning('该车已有抵达签收实绩,不允许签收')
|
|
|
|
+ return
|
|
|
|
+ }
|
|
|
|
+ this.location=row.addressPlace;
|
|
|
|
+ this.orderNumber=row.orderNo;
|
|
|
|
+ this.capacityNumber=row.capacityNo;
|
|
|
|
+ this.arrivalReceiving=true;
|
|
|
|
+ },
|
|
|
|
+ arrivalAndReceive(){
|
|
|
|
+ if(!this.location){
|
|
|
|
+ this.$message.warning('请填写签收地址');
|
|
|
|
+ return;
|
|
|
|
+ }
|
|
|
|
+ if(this.fileListArrival.length < 1){
|
|
|
|
+ this.$message.warning('请上传抵达图片');
|
|
|
|
+ return;
|
|
|
|
+ }
|
|
|
|
+ if(this.fileListReceive.length < 3){
|
|
|
|
+ this.$message.warning('签收图最少三张');
|
|
|
|
+ return;
|
|
|
|
+ }
|
|
|
|
+ this.isLoading=true;
|
|
|
|
+ //上传抵达
|
|
|
|
+ let formData = new window.FormData();
|
|
|
|
+ formData.append("file",this.fileListArrival[0].raw);
|
|
|
|
+ formData.append("orderNumber",this.orderNumber);
|
|
|
|
+ formData.append("resultArrivalAddress",this.location);
|
|
|
|
+ let options = { // 设置axios的参数
|
|
|
|
+ url: '/api/v1/otms/addtmstruckArrivalResult',
|
|
|
|
+ data: formData,
|
|
|
|
+ method: 'post',
|
|
|
|
+ headers: {
|
|
|
|
+ 'Content-Type': 'multipart/form-data'
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ this.axios(options).then((res) => {
|
|
|
|
+ console.log("arrivalRes:",res);
|
|
|
|
+ //上传签收
|
|
|
|
+ let formData = new window.FormData();
|
|
|
|
+ let request=''
|
|
|
|
+ this.fileListReceive.forEach((item,index)=>{
|
|
|
|
+ formData.append("file"+index,item.raw);
|
|
|
|
+ })
|
|
|
|
+ formData.append("orderNumber",this.orderNumber);
|
|
|
|
+ formData.append("resultArrivalAddress",this.location);
|
|
|
|
+ formData.append("num",request.length);
|
|
|
|
+ let options = {
|
|
|
|
+ url: '/api/v1/otms/addTmstruckReceiptResult',
|
|
|
|
+ data: formData,
|
|
|
|
+ method: 'post',
|
|
|
|
+ headers: {
|
|
|
|
+ 'Content-Type': 'multipart/form-data'
|
|
|
|
+ }
|
|
}
|
|
}
|
|
|
|
+ this.axios(options).then((res) => {
|
|
|
|
+ console.log("receiveRes:",res);
|
|
|
|
+ if(res.data.data==4){
|
|
|
|
+ this.$message.error("新增抵达失败!");
|
|
|
|
+ this.isLoading=false;
|
|
|
|
+ }else{
|
|
|
|
+ this.$message.success("上传成功!");
|
|
|
|
+ this.closeUpload();
|
|
|
|
+ this.$router.go(0);
|
|
|
|
+ }
|
|
|
|
+ });
|
|
})
|
|
})
|
|
- this.getSteelReport()
|
|
|
|
},
|
|
},
|
|
|
|
+ fileChange1(file, fileList){
|
|
|
|
+ this.fileListArrival=fileList;
|
|
|
|
+ },
|
|
|
|
+ fileChange2(file, fileList){
|
|
|
|
+ this.fileListReceive=fileList;
|
|
|
|
+ },
|
|
|
|
+ exceed(){
|
|
|
|
+ this.$message.warning("超出上传数量!");
|
|
|
|
+ },
|
|
|
|
+ closeUpload(){
|
|
|
|
+ this.arrivalReceiving=false;
|
|
|
|
+ this.$refs.arrival.clearFiles();
|
|
|
|
+ this.$refs.receive.clearFiles();
|
|
|
|
+ },
|
|
|
|
+ //防抖函数--防止用户重复点击
|
|
|
|
+ debounce(func, delay) {
|
|
|
|
+ let timer = null
|
|
|
|
+ return function(...args) {
|
|
|
|
+ if (timer !== null) {
|
|
|
|
+ clearTimeout(timer)
|
|
|
|
+ }
|
|
|
|
+ timer = setTimeout(function() {
|
|
|
|
+ func.apply(this, args)
|
|
|
|
+ }, delay)
|
|
|
|
+ }
|
|
|
|
+ },
|
|
|
|
+ // handleSelectionChange(selection) {
|
|
|
|
+ // console.log(selection)
|
|
|
|
+ // },
|
|
//筛选
|
|
//筛选
|
|
filterChange(obj) {
|
|
filterChange(obj) {
|
|
|
|
+ //承运商筛选,后续有待优化
|
|
if (typeof obj.carrierList != 'undefined' && obj.carrierList.length > 0) {
|
|
if (typeof obj.carrierList != 'undefined' && obj.carrierList.length > 0) {
|
|
this.filterMap.carrierList = obj.carrierList
|
|
this.filterMap.carrierList = obj.carrierList
|
|
}
|
|
}
|
|
@@ -1006,6 +1224,7 @@ export default {
|
|
) {
|
|
) {
|
|
delete this.filterMap.carrierList
|
|
delete this.filterMap.carrierList
|
|
}
|
|
}
|
|
|
|
+ //物资名称筛选,后续有待优化
|
|
if (
|
|
if (
|
|
typeof obj.materialNameList != 'undefined' &&
|
|
typeof obj.materialNameList != 'undefined' &&
|
|
obj.materialNameList.length > 0
|
|
obj.materialNameList.length > 0
|
|
@@ -1018,12 +1237,14 @@ export default {
|
|
) {
|
|
) {
|
|
delete this.filterMap.materialNameList
|
|
delete this.filterMap.materialNameList
|
|
}
|
|
}
|
|
|
|
+ //车牌号筛选,后续有待优化
|
|
if (typeof obj.capacityNo != 'undefined' && obj.capacityNo.length > 0) {
|
|
if (typeof obj.capacityNo != 'undefined' && obj.capacityNo.length > 0) {
|
|
this.filterMap.capacityList = obj.capacityNo
|
|
this.filterMap.capacityList = obj.capacityNo
|
|
}
|
|
}
|
|
if (typeof obj.capacityNo != 'undefined' && obj.capacityNo.length == 0) {
|
|
if (typeof obj.capacityNo != 'undefined' && obj.capacityNo.length == 0) {
|
|
delete this.filterMap.capacityList
|
|
delete this.filterMap.capacityList
|
|
}
|
|
}
|
|
|
|
+ //客户筛选,后续有待优化
|
|
if (
|
|
if (
|
|
typeof obj.consigneeName != 'undefined' &&
|
|
typeof obj.consigneeName != 'undefined' &&
|
|
obj.consigneeName.length > 0
|
|
obj.consigneeName.length > 0
|
|
@@ -1036,6 +1257,7 @@ export default {
|
|
) {
|
|
) {
|
|
delete this.filterMap.consigneeNameList
|
|
delete this.filterMap.consigneeNameList
|
|
}
|
|
}
|
|
|
|
+ //销售片区筛选,后续有待优化
|
|
if (
|
|
if (
|
|
typeof obj.saleAreaList != 'undefined' &&
|
|
typeof obj.saleAreaList != 'undefined' &&
|
|
obj.saleAreaList.length > 0
|
|
obj.saleAreaList.length > 0
|
|
@@ -1048,20 +1270,56 @@ export default {
|
|
) {
|
|
) {
|
|
delete this.filterMap.saleAreaList
|
|
delete this.filterMap.saleAreaList
|
|
}
|
|
}
|
|
|
|
+ //物资规格筛选
|
|
|
|
+ if (typeof obj.materialSpe != 'undefined' && obj.materialSpe.length > 0) {
|
|
|
|
+ this.filterMap.materialSpeList = obj.materialSpe
|
|
|
|
+ }
|
|
|
|
+ if (
|
|
|
|
+ typeof obj.materialSpe != 'undefined' &&
|
|
|
|
+ obj.materialSpe.length == 0
|
|
|
|
+ ) {
|
|
|
|
+ delete this.filterMap.materialSpeList
|
|
|
|
+ }
|
|
|
|
+ //收货地址筛选
|
|
|
|
+ if (
|
|
|
|
+ typeof obj.addressPlace != 'undefined' &&
|
|
|
|
+ obj.addressPlace.length > 0
|
|
|
|
+ ) {
|
|
|
|
+ this.filterMap.addressPlaceList = obj.addressPlace
|
|
|
|
+ }
|
|
|
|
+ if (
|
|
|
|
+ typeof obj.addressPlace != 'undefined' &&
|
|
|
|
+ obj.addressPlace.length == 0
|
|
|
|
+ ) {
|
|
|
|
+ delete this.filterMap.addressPlaceList
|
|
|
|
+ }
|
|
|
|
+ if (typeof obj.orderStatus != 'undefined' && obj.orderStatus.length > 0) {
|
|
|
|
+ this.filterMap.orderStatusList = obj.orderStatus
|
|
|
|
+ }
|
|
|
|
+ if (
|
|
|
|
+ typeof obj.orderStatus != 'undefined' &&
|
|
|
|
+ obj.orderStatus.length == 0
|
|
|
|
+ ) {
|
|
|
|
+ delete this.filterMap.orderStatusList
|
|
|
|
+ }
|
|
// if (obj)
|
|
// if (obj)
|
|
this.onclick(this.filterMap)
|
|
this.onclick(this.filterMap)
|
|
},
|
|
},
|
|
//控制筛选数组变化
|
|
//控制筛选数组变化
|
|
filterListChange() {
|
|
filterListChange() {
|
|
|
|
+ //客户筛选数组
|
|
let consigneeNameList = this.tableData.map(e => {
|
|
let consigneeNameList = this.tableData.map(e => {
|
|
return e.consigneeName
|
|
return e.consigneeName
|
|
})
|
|
})
|
|
|
|
+ //承运商筛选数组
|
|
let carrierNameList = this.tableData.map(e => {
|
|
let carrierNameList = this.tableData.map(e => {
|
|
return e.carrierName
|
|
return e.carrierName
|
|
})
|
|
})
|
|
|
|
+ //车牌号筛选数组
|
|
let capacityList = this.tableData.map(e => {
|
|
let capacityList = this.tableData.map(e => {
|
|
return e.capacityNo
|
|
return e.capacityNo
|
|
})
|
|
})
|
|
|
|
+ //物资筛选数组
|
|
let materialNameList = this.tableData
|
|
let materialNameList = this.tableData
|
|
.map(e => {
|
|
.map(e => {
|
|
return e.materialName
|
|
return e.materialName
|
|
@@ -1069,6 +1327,7 @@ export default {
|
|
.filter(e => {
|
|
.filter(e => {
|
|
return e != null
|
|
return e != null
|
|
})
|
|
})
|
|
|
|
+ //销售片区筛选数组
|
|
let saleAreaList = this.tableData
|
|
let saleAreaList = this.tableData
|
|
.map(e => {
|
|
.map(e => {
|
|
return e.areaName
|
|
return e.areaName
|
|
@@ -1076,11 +1335,35 @@ export default {
|
|
.filter(e => {
|
|
.filter(e => {
|
|
return e != null
|
|
return e != null
|
|
})
|
|
})
|
|
|
|
+ let addressPlaceList = this.tableData
|
|
|
|
+ .map(e => {
|
|
|
|
+ return e.addressPlace
|
|
|
|
+ })
|
|
|
|
+ .filter(e => {
|
|
|
|
+ return e != null
|
|
|
|
+ })
|
|
|
|
+ let orderStatusList = this.tableData
|
|
|
|
+ .map(e => {
|
|
|
|
+ return e.orderStatus
|
|
|
|
+ })
|
|
|
|
+ .filter(e => {
|
|
|
|
+ return e != null
|
|
|
|
+ })
|
|
|
|
+ let materialSpeList = this.tableData
|
|
|
|
+ .map(e => {
|
|
|
|
+ return e.materialSpe
|
|
|
|
+ })
|
|
|
|
+ .filter(e => {
|
|
|
|
+ return e != null
|
|
|
|
+ })
|
|
this.filterConsigneeList = []
|
|
this.filterConsigneeList = []
|
|
this.filterCarrierList = []
|
|
this.filterCarrierList = []
|
|
this.filterCapacityList = []
|
|
this.filterCapacityList = []
|
|
this.filtermaterialNameList = []
|
|
this.filtermaterialNameList = []
|
|
this.filterSaleAreaList = []
|
|
this.filterSaleAreaList = []
|
|
|
|
+ this.filterorderStatus = []
|
|
|
|
+ this.filteraddressPlace = []
|
|
|
|
+ this.filtermaterialSpe = []
|
|
Array.from(new Set(consigneeNameList)).forEach(e => {
|
|
Array.from(new Set(consigneeNameList)).forEach(e => {
|
|
let map = {}
|
|
let map = {}
|
|
map.text = e
|
|
map.text = e
|
|
@@ -1111,6 +1394,24 @@ export default {
|
|
map.value = e
|
|
map.value = e
|
|
this.filterSaleAreaList.push(map)
|
|
this.filterSaleAreaList.push(map)
|
|
})
|
|
})
|
|
|
|
+ Array.from(new Set(addressPlaceList)).forEach(e => {
|
|
|
|
+ let map = {}
|
|
|
|
+ map.text = e
|
|
|
|
+ map.value = e
|
|
|
|
+ this.filteraddressPlace.push(map)
|
|
|
|
+ })
|
|
|
|
+ Array.from(new Set(orderStatusList)).forEach(e => {
|
|
|
|
+ let map = {}
|
|
|
|
+ map.text = e
|
|
|
|
+ map.value = e
|
|
|
|
+ this.filterorderStatus.push(map)
|
|
|
|
+ })
|
|
|
|
+ Array.from(new Set(materialSpeList)).forEach(e => {
|
|
|
|
+ let map = {}
|
|
|
|
+ map.text = e
|
|
|
|
+ map.value = e
|
|
|
|
+ this.filtermaterialSpe.push(map)
|
|
|
|
+ })
|
|
},
|
|
},
|
|
cellStyle({ row, column, rowIndex, columnIndex }) {
|
|
cellStyle({ row, column, rowIndex, columnIndex }) {
|
|
if (
|
|
if (
|
|
@@ -1389,7 +1690,8 @@ export default {
|
|
console.log(queryString)
|
|
console.log(queryString)
|
|
if (
|
|
if (
|
|
(queryString != null && queryString != '' && queryString.length > 3) ||
|
|
(queryString != null && queryString != '' && queryString.length > 3) ||
|
|
- queryString == '取消'
|
|
|
|
|
|
+ queryString == '取消' ||
|
|
|
|
+ queryString == '待定'
|
|
) {
|
|
) {
|
|
this.axios
|
|
this.axios
|
|
.post('/api/v1/uc/getCapacityByLike?index=' + queryString)
|
|
.post('/api/v1/uc/getCapacityByLike?index=' + queryString)
|
|
@@ -1428,6 +1730,7 @@ export default {
|
|
})
|
|
})
|
|
},
|
|
},
|
|
updateCapacity() {
|
|
updateCapacity() {
|
|
|
|
+ console.log('我只想测')
|
|
this.steelMap.capacityId = this.steelMap.newsCapacityId
|
|
this.steelMap.capacityId = this.steelMap.newsCapacityId
|
|
if (this.steelMap.newsCapacityId == null) {
|
|
if (this.steelMap.newsCapacityId == null) {
|
|
this.$message.warning('请先注册车牌号或者选中弹出后再提交!')
|
|
this.$message.warning('请先注册车牌号或者选中弹出后再提交!')
|
|
@@ -1435,7 +1738,8 @@ export default {
|
|
}
|
|
}
|
|
if (
|
|
if (
|
|
!isVehicleNumber(this.steelMap.capacityNo) &&
|
|
!isVehicleNumber(this.steelMap.capacityNo) &&
|
|
- this.steelMap.capacityNo != '取消'
|
|
|
|
|
|
+ (this.steelMap.capacityNo != '取消' ||
|
|
|
|
+ this.steelMap.capacityNo != '待定')
|
|
) {
|
|
) {
|
|
this.$message.error('请输入正确格式的车牌号!')
|
|
this.$message.error('请输入正确格式的车牌号!')
|
|
return
|
|
return
|
|
@@ -1657,7 +1961,6 @@ export default {
|
|
},
|
|
},
|
|
//修改承运商授权
|
|
//修改承运商授权
|
|
updateTruckCarrier() {
|
|
updateTruckCarrier() {
|
|
- console.log(this.steelMap)
|
|
|
|
if (this.steelMap.newCarrierId == null) {
|
|
if (this.steelMap.newCarrierId == null) {
|
|
this.$message.warning('请注册承运商或者选中弹出层之后再提交!')
|
|
this.$message.warning('请注册承运商或者选中弹出层之后再提交!')
|
|
this.getSteelReport()
|
|
this.getSteelReport()
|