|
@@ -42,10 +42,10 @@
|
|
|
size="small"
|
|
|
v-if="goodsForm.status > 0"
|
|
|
:disabled="
|
|
|
- (this.roleName.indexOf('平台') !== -1
|
|
|
- ||this.roleName.indexOf('经理') !== -1
|
|
|
- ||this.roleName.indexOf('部门经理') !== -1
|
|
|
- ||this.roleName.indexOf('总经理') !== -1) && !(this.roleName.indexOf('admin') !== -1)"
|
|
|
+ (roleName.indexOf('平台') !== -1
|
|
|
+ ||roleName.indexOf('经理') !== -1
|
|
|
+ ||roleName.indexOf('部门经理') !== -1
|
|
|
+ ||roleName.indexOf('总经理') !== -1) && !(roleName.indexOf('admin') !== -1)"
|
|
|
@click="confirmChange"
|
|
|
>变更
|
|
|
</el-button>
|
|
@@ -63,16 +63,18 @@
|
|
|
size="small"
|
|
|
:loading="type"
|
|
|
v-show="
|
|
|
- (this.roleName.indexOf('客户') !== -1 && goodsForm.status < 2)
|
|
|
- || (this.roleName.indexOf('车队') !== -1 && goodsForm.status === 2)
|
|
|
- || (this.roleName.indexOf('司机') !== -1 && (goodsForm.status === 3||goodsForm.status === 6||goodsForm.status === 4))
|
|
|
- || (this.roleName.indexOf('平台') !== -1
|
|
|
- ||this.roleName.indexOf('经理') !== -1
|
|
|
- ||this.roleName.indexOf('部门经理') !== -1
|
|
|
- ||this.roleName.indexOf('总经理') !== -1)"
|
|
|
+ (roleName.indexOf('客户') !== -1 && goodsForm.status < 2)
|
|
|
+ || (roleName.indexOf('车队') !== -1 && goodsForm.status === 2)
|
|
|
+ || (roleName.indexOf('司机') !== -1 && (goodsForm.status === 3||goodsForm.status === 6||goodsForm.status === 4))
|
|
|
+ || (roleName.indexOf('平台') !== -1
|
|
|
+ ||roleName.indexOf('经理') !== -1
|
|
|
+ ||roleName.indexOf('部门经理') !== -1
|
|
|
+ ||roleName.indexOf('总经理') !== -1)"
|
|
|
@click="modifyState"
|
|
|
>
|
|
|
- {{ goodsForm.status === 1 ? '调度' : goodsForm.status === 2 ? '派车' : goodsForm.status === 3 ? '受理' : goodsForm.status === 4 ? '确认完工' : goodsForm.status === 6 ? '确认到厂' : goodsForm.status === 7 ? '提箱' : '未知状态:' + goodsForm.status }}
|
|
|
+ {{
|
|
|
+ goodsForm.status === 1 ? '调度' : goodsForm.status === 2 ? '派车' : goodsForm.status === 3 ? '受理' : goodsForm.status === 4 ? '确认完工' : goodsForm.status === 6 ? '确认到厂' : goodsForm.status === 7 ? '提箱' : '未知状态:' + goodsForm.status
|
|
|
+ }}
|
|
|
</el-button>
|
|
|
<el-button
|
|
|
type="warning"
|
|
@@ -428,7 +430,13 @@
|
|
|
@clear="clear(scope.row)"
|
|
|
@getCorpData="(row)=>{withAddress(row,scope)}">
|
|
|
<template slot="slot">
|
|
|
- <el-select :disabled="goodsForm.status !== 0" style="width: 100%;" filterable v-model="scope.row.corpId" size="small" placeholder="请选择">
|
|
|
+ <el-select
|
|
|
+ :disabled="goodsForm.status !== 0"
|
|
|
+ style="width: 100%;"
|
|
|
+ filterable
|
|
|
+ v-model="scope.row.corpId"
|
|
|
+ size="small" placeholder="请选择"
|
|
|
+ @change="withAddress({},scope,true)">
|
|
|
<el-option
|
|
|
v-for="item in corpList"
|
|
|
:key="item.id"
|
|
@@ -476,8 +484,7 @@
|
|
|
width="180"
|
|
|
label="货物体积">
|
|
|
<template slot-scope="scope">
|
|
|
- <el-input v-model="scope.row.volume" :disabled="goodsForm.status !== 0" size="small"
|
|
|
- placeholder="请输入内容"></el-input>
|
|
|
+ <el-input-number :controls="false" v-model="scope.row.volume" size="small" :disabled="goodsForm.status !== 0" placeholder="请输入内容" precision="2"></el-input-number>
|
|
|
</template>
|
|
|
</el-table-column>
|
|
|
<el-table-column
|
|
@@ -646,7 +653,8 @@
|
|
|
@clear="clear(scope.row)"
|
|
|
@getCorpData="(row)=>{withAddressTwo(row,scope)}">
|
|
|
<template slot="slot">
|
|
|
- <el-select :disabled="goodsForm.status !== 0" style="width: 100%;" filterable v-model="scope.row.corpId" size="small" placeholder="请选择">
|
|
|
+ <el-select @change="withAddressTwo({},scope,true)" :disabled="goodsForm.status !== 0"
|
|
|
+ style="width: 100%;" filterable v-model="scope.row.corpId" size="small" placeholder="请选择">
|
|
|
<el-option
|
|
|
v-for="item in corpList"
|
|
|
:key="item.id"
|
|
@@ -703,11 +711,7 @@
|
|
|
width="180"
|
|
|
label="货物体积">
|
|
|
<template slot-scope="scope">
|
|
|
- <el-input
|
|
|
- v-model="scope.row.volume"
|
|
|
- :disabled="goodsForm.status !== 0"
|
|
|
- size="small"
|
|
|
- placeholder="请输入内容"></el-input>
|
|
|
+ <el-input-number :controls="false" v-model="scope.row.volume" size="small" :disabled="goodsForm.status !== 0" placeholder="请输入内容" precision="2"></el-input-number>
|
|
|
</template>
|
|
|
</el-table-column>
|
|
|
<el-table-column
|
|
@@ -827,11 +831,12 @@
|
|
|
</avue-crud>
|
|
|
</basic-container>
|
|
|
</span>
|
|
|
- <containerTitle title="杂费明细" v-if="this.roleName.indexOf('平台') !== -1 || this.roleName.indexOf('客户') !== -1"></containerTitle>
|
|
|
- <basic-container v-if="this.roleName.indexOf('平台') !== -1 || this.roleName.indexOf('客户') !== -1">
|
|
|
+ <containerTitle title="杂费明细"
|
|
|
+ v-if="roleName.indexOf('平台') !== -1 || this.roleName.indexOf('客户') !== -1"></containerTitle>
|
|
|
+ <basic-container v-if="roleName.indexOf('平台') !== -1 || roleName.indexOf('客户') !== -1">
|
|
|
<el-tabs v-model="activeIndex" @tab-click="handleSelect">
|
|
|
<el-tab-pane label="应收" name="1"></el-tab-pane>
|
|
|
- <el-tab-pane label="应付" name="2" v-if="this.roleName.indexOf('平台') !== -1"></el-tab-pane>
|
|
|
+ <el-tab-pane label="应付" name="2" v-if="roleName.indexOf('平台') !== -1"></el-tab-pane>
|
|
|
</el-tabs>
|
|
|
<avue-crud
|
|
|
v-if="activeIndex === '1'"
|
|
@@ -868,7 +873,7 @@
|
|
|
<el-button
|
|
|
type="text"
|
|
|
size="small"
|
|
|
- v-if="this.roleName.indexOf('平台') !== -1"
|
|
|
+ v-if="roleName.indexOf('平台') !== -1"
|
|
|
:disabled="goodsForm.status === 5"
|
|
|
:icon="row.$cellEdit?'el-icon-circle-plus-outline':'el-icon-edit'"
|
|
|
@click="rowCell(row,index)"
|
|
@@ -877,7 +882,7 @@
|
|
|
<el-button type="text"
|
|
|
icon="el-icon-delete"
|
|
|
size="small"
|
|
|
- v-if="this.roleName.indexOf('平台') !== -1"
|
|
|
+ v-if="roleName.indexOf('平台') !== -1"
|
|
|
:disabled="goodsForm.status === 5"
|
|
|
@click="$refs.collection.rowDel(row,index)"
|
|
|
>删除
|
|
@@ -894,7 +899,7 @@
|
|
|
<el-button
|
|
|
type="primary"
|
|
|
icon="el-icon-plus"
|
|
|
- v-if="this.roleName.indexOf('平台') !== -1"
|
|
|
+ v-if="roleName.indexOf('平台') !== -1"
|
|
|
:disabled="goodsForm.status === 5"
|
|
|
@click="addRowCollection"
|
|
|
size="small">录入明细
|
|
@@ -1018,7 +1023,7 @@ import trackPlayback from "@/components/trackPlayback"
|
|
|
import {fleetList, telephone} from "@/api/landTransportation";
|
|
|
import {getDictionary} from "@/api/system/dictbiz";
|
|
|
import {allCropList} from "@/api/basicData/customerInformation";
|
|
|
-
|
|
|
+// goodsOptionFormTwo
|
|
|
export default {
|
|
|
comments: {
|
|
|
trackPlayback
|
|
@@ -1031,6 +1036,48 @@ export default {
|
|
|
type: Boolean
|
|
|
}
|
|
|
},
|
|
|
+ watch: {
|
|
|
+ goodsForm: {
|
|
|
+ handler(newValue, oldValue) {
|
|
|
+ this.collectionOption.disabled = this.paymentOption.disabled = this.goodsForm.status === 5
|
|
|
+ if (this.roleName.indexOf('客户') !== -1 || this.roleName.indexOf('司机') !== -1){
|
|
|
+ this.goodsOptionFormTwo.disabled = true
|
|
|
+ this.findObject(this.goodsOptionFormTwo.column, "freightPay").display = false
|
|
|
+ } else {
|
|
|
+ if (this.goodsForm.status === 0) {
|
|
|
+ this.goodsOptionFormTwo.disabled = true
|
|
|
+ }else if (this.goodsForm.status === 1){
|
|
|
+ this.goodsOptionFormTwo.disabled = false
|
|
|
+ if (this.roleName.indexOf('平台') !== -1){
|
|
|
+ this.findObject(this.goodsOptionFormTwo.column, "fleetId").disabled = false
|
|
|
+ this.findObject(this.goodsOptionFormTwo.column, "plateNo").disabled = false
|
|
|
+ this.findObject(this.goodsOptionFormTwo.column, "driverId").disabled = false
|
|
|
+ this.findObject(this.goodsOptionFormTwo.column, "driverTel").disabled = false
|
|
|
+ this.findObject(this.goodsOptionFormTwo.column, "fleetVolum").disabled = false
|
|
|
+ this.findObject(this.goodsOptionFormTwo.column, "freightPay").disabled = false
|
|
|
+ }
|
|
|
+ }else if (this.goodsForm.status === 2){
|
|
|
+ this.goodsOptionFormTwo.disabled = false
|
|
|
+ if (this.roleName.indexOf('车队') !== -1){
|
|
|
+ this.findObject(this.goodsOptionFormTwo.column, "fleetId").disabled = true
|
|
|
+ this.findObject(this.goodsOptionFormTwo.column, "plateNo").disabled = false
|
|
|
+ this.findObject(this.goodsOptionFormTwo.column, "driverId").disabled = false
|
|
|
+ this.findObject(this.goodsOptionFormTwo.column, "driverTel").disabled = false
|
|
|
+ this.findObject(this.goodsOptionFormTwo.column, "fleetVolum").disabled = false
|
|
|
+ this.findObject(this.goodsOptionFormTwo.column, "freightPay").disabled = true
|
|
|
+ }
|
|
|
+ }else{
|
|
|
+ this.findObject(this.goodsOptionFormTwo.column, "fleetId").disabled = false
|
|
|
+ this.findObject(this.goodsOptionFormTwo.column, "plateNo").disabled = false
|
|
|
+ this.findObject(this.goodsOptionFormTwo.column, "driverId").disabled = false
|
|
|
+ this.findObject(this.goodsOptionFormTwo.column, "driverTel").disabled = false
|
|
|
+ this.findObject(this.goodsOptionFormTwo.column, "fleetVolum").disabled = false
|
|
|
+ this.findObject(this.goodsOptionFormTwo.column, "freightPay").disabled = false
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ },
|
|
|
data() {
|
|
|
return {
|
|
|
returnButton: Boolean,
|
|
@@ -1444,6 +1491,7 @@ export default {
|
|
|
}]
|
|
|
}, {
|
|
|
label: '运输方式',
|
|
|
+ disabled: true,
|
|
|
prop: 'shippingMode',
|
|
|
type: 'select',
|
|
|
dicUrl: "/api/blade-system/dict-biz/dictionary?code=shipping_mode",
|
|
@@ -2074,7 +2122,7 @@ export default {
|
|
|
}
|
|
|
})
|
|
|
}
|
|
|
- this.goodsOptionFormTwo.disabled = this.goodsOptionForm.disabled = this.goodsOptionFormC.disabled = this.collectionOption.disabled = this.paymentOption.disabled = this.goodsForm.status !== 0
|
|
|
+ this.goodsOptionFormTwo.disabled = this.goodsOptionForm.disabled = this.goodsOptionFormC.disabled = this.goodsForm.status !== 0
|
|
|
delete this.goodsForm.orderAddressList
|
|
|
delete this.goodsForm.itemList
|
|
|
delete this.goodsForm.orderFeeList
|
|
@@ -2188,6 +2236,26 @@ export default {
|
|
|
} else {
|
|
|
this.initData();
|
|
|
}
|
|
|
+ this.findObject(this.collectionOption.column, "price").change = (data) => {
|
|
|
+ if (data.row.price && data.row.quantity) {
|
|
|
+ data.row.amount = Number(data.row.price) * Number(data.row.quantity)
|
|
|
+ }
|
|
|
+ }
|
|
|
+ this.findObject(this.collectionOption.column, "quantity").change = (data) => {
|
|
|
+ if (data.row.price && data.row.quantity) {
|
|
|
+ data.row.amount = Number(data.row.price) * Number(data.row.quantity)
|
|
|
+ }
|
|
|
+ }
|
|
|
+ this.findObject(this.paymentOption.column, "price").change = (data) => {
|
|
|
+ if (data.row.price && data.row.quantity) {
|
|
|
+ data.row.amount = Number(data.row.price) * Number(data.row.quantity)
|
|
|
+ }
|
|
|
+ }
|
|
|
+ this.findObject(this.paymentOption.column, "quantity").change = (data) => {
|
|
|
+ if (data.row.price && data.row.quantity) {
|
|
|
+ data.row.amount = Number(data.row.price) * Number(data.row.quantity)
|
|
|
+ }
|
|
|
+ }
|
|
|
this.$refs.other.show = false
|
|
|
},
|
|
|
methods: {
|
|
@@ -2541,7 +2609,6 @@ export default {
|
|
|
this.type = true
|
|
|
let form = this.goodsForm
|
|
|
delete this.goodsForm.status
|
|
|
- form.status = 1
|
|
|
delete form.orderItemList
|
|
|
saveSaveList({
|
|
|
...form,
|
|
@@ -2581,9 +2648,20 @@ export default {
|
|
|
if (this.goodsForm.status == 3) value = 6
|
|
|
if (this.goodsForm.status == 6) value = 4
|
|
|
if (this.goodsForm.status == 4) value = 5
|
|
|
- statusBulkLoad({id: this.goodsForm.id, status:value}).then(res => {
|
|
|
- this.$message.success('操作成功');
|
|
|
- this.refreshData(res.data.data)
|
|
|
+ this.type = true
|
|
|
+ saveSaveList({
|
|
|
+ ...this.goodsForm,
|
|
|
+ kind: '1',
|
|
|
+ loadingAddressList: this.tableData,
|
|
|
+ unloadedAddressList: this.tableDataTwo,
|
|
|
+ fileList: this.orderFilesList,
|
|
|
+ itemList: this.entrustList,
|
|
|
+ orderFeeList: this.collectionList.concat(this.paymentList)
|
|
|
+ }).then(res => {
|
|
|
+ statusBulkLoad({id: this.goodsForm.id, status: value}).then(res => {
|
|
|
+ this.$message.success('操作成功');
|
|
|
+ this.refreshData(res.data.data)
|
|
|
+ })
|
|
|
})
|
|
|
},
|
|
|
//提交委托
|
|
@@ -2608,6 +2686,12 @@ export default {
|
|
|
if (!this.tableDataTwo[item].corpId) return this.$message.error('请选择卸货地址第' + Number(Number(item) + 1) + '行货运地点');
|
|
|
}
|
|
|
}
|
|
|
+ if (this.tableDataTwo.length === 0) {
|
|
|
+ return this.$message.error('请选择卸货地址')
|
|
|
+ }
|
|
|
+ if (this.tableData.length === 0) {
|
|
|
+ return this.$message.error('请选择卸货地址')
|
|
|
+ }
|
|
|
this.$refs['goodsFormE'].validate((valid, doneE) => {
|
|
|
doneE()
|
|
|
if (valid) {
|
|
@@ -2675,6 +2759,7 @@ export default {
|
|
|
currency: '1',
|
|
|
type: '1',
|
|
|
$cellEdit: true,
|
|
|
+ corpId: this.goodsForm.corpId,
|
|
|
plateNo: this.goodsForm.plateNo
|
|
|
});
|
|
|
} else {
|
|
@@ -2688,6 +2773,7 @@ export default {
|
|
|
currency: '1',
|
|
|
type: '2',
|
|
|
$cellEdit: true,
|
|
|
+ corpId: this.goodsForm.corpId,
|
|
|
plateNo: this.goodsForm.plateNo
|
|
|
});
|
|
|
} else {
|
|
@@ -2768,40 +2854,75 @@ export default {
|
|
|
row.corpName = ''
|
|
|
},
|
|
|
//选择地址客户带出地址
|
|
|
- withAddress(row, scope) {
|
|
|
- console.log(row)
|
|
|
- this.$set(this.tableData[scope.$index], 'contacts', row.attn)
|
|
|
- this.$set(this.tableData[scope.$index], 'tel', row.tel)
|
|
|
- this.$set(this.tableData[scope.$index], 'address', row.storageAddr)
|
|
|
- // this.tableData[scope.$index].contacts = row.attn
|
|
|
- // this.tableData[scope.$index].tel = row.tel
|
|
|
- // this.tableData[scope.$index].address = row.storageAddr
|
|
|
- if (!scope.row.key) scope.row.key = 0
|
|
|
- this.$set(this.tableData[scope.$index], 'corpName', row.cname)
|
|
|
- // this.tableData[scope.$index].corpName = row.cname
|
|
|
- if (row.belongtoarea) {
|
|
|
- addressList(row.belongtoarea.split(',')[0]).then(res => {
|
|
|
- this.tableData[scope.$index].region = [res.data.data.provinceCode, res.data.data.parentId, res.data.data.districtCode]
|
|
|
- scope.row.key++
|
|
|
- })
|
|
|
+ withAddress(row, scope, type) {
|
|
|
+ if (type) {
|
|
|
+ for (let item of this.corpList) {
|
|
|
+ if (scope.row.corpId == item.id) {
|
|
|
+ this.$set(this.tableData[scope.$index], 'contacts', item.attn)
|
|
|
+ this.$set(this.tableData[scope.$index], 'tel', item.tel)
|
|
|
+ this.$set(this.tableData[scope.$index], 'address', item.storageAddr)
|
|
|
+ if (!scope.row.key) scope.row.key = 0
|
|
|
+ this.$set(this.tableData[scope.$index], 'corpName', item.cname)
|
|
|
+ if (item.belongtoarea) {
|
|
|
+ addressList(item.belongtoarea.split(',')[0]).then(res => {
|
|
|
+ this.tableData[scope.$index].region = [res.data.data.provinceCode, res.data.data.parentId, res.data.data.districtCode]
|
|
|
+ scope.row.key++
|
|
|
+ })
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ this.$set(this.tableData[scope.$index], 'contacts', row.attn)
|
|
|
+ this.$set(this.tableData[scope.$index], 'tel', row.tel)
|
|
|
+ this.$set(this.tableData[scope.$index], 'address', row.storageAddr)
|
|
|
+ if (!scope.row.key) scope.row.key = 0
|
|
|
+ this.$set(this.tableData[scope.$index], 'corpName', row.cname)
|
|
|
+ if (row.belongtoarea) {
|
|
|
+ addressList(row.belongtoarea.split(',')[0]).then(res => {
|
|
|
+ this.tableData[scope.$index].region = [res.data.data.provinceCode, res.data.data.parentId, res.data.data.districtCode]
|
|
|
+ scope.row.key++
|
|
|
+ })
|
|
|
+ }
|
|
|
}
|
|
|
},
|
|
|
//选择地址客户带出地址
|
|
|
- withAddressTwo(row, scope) {
|
|
|
- this.$set(this.tableDataTwo[scope.$index], 'contacts', row.attn)
|
|
|
- this.$set(this.tableDataTwo[scope.$index], 'tel', row.tel)
|
|
|
- this.$set(this.tableDataTwo[scope.$index], 'address', row.storageAddr)
|
|
|
- // this.tableData[scope.$index].contacts = row.attn
|
|
|
- // this.tableData[scope.$index].tel = row.tel
|
|
|
- // this.tableData[scope.$index].address = row.storageAddr
|
|
|
- if (!scope.row.key) scope.row.key = 0
|
|
|
- this.$set(this.tableDataTwo[scope.$index], 'corpName', row.cname)
|
|
|
- // this.tableData[scope.$index].corpName = row.cname
|
|
|
- if (row.belongtoarea) {
|
|
|
- addressList(row.belongtoarea.split(',')[0]).then(res => {
|
|
|
- this.tableDataTwo[scope.$index].region = [res.data.data.provinceCode, res.data.data.parentId, res.data.data.districtCode]
|
|
|
- scope.row.key++
|
|
|
- })
|
|
|
+ withAddressTwo(row, scope, type) {
|
|
|
+ if (type) {
|
|
|
+ for (let item of this.corpList) {
|
|
|
+ if (scope.row.corpId == item.id) {
|
|
|
+ this.$set(this.tableDataTwo[scope.$index], 'contacts', item.attn)
|
|
|
+ this.$set(this.tableDataTwo[scope.$index], 'tel', item.tel)
|
|
|
+ this.$set(this.tableDataTwo[scope.$index], 'address', item.storageAddr)
|
|
|
+ // this.tableData[scope.$index].contacts = row.attn
|
|
|
+ // this.tableData[scope.$index].tel = row.tel
|
|
|
+ // this.tableData[scope.$index].address = row.storageAddr
|
|
|
+ if (!scope.row.key) scope.row.key = 0
|
|
|
+ this.$set(this.tableDataTwo[scope.$index], 'corpName', item.cname)
|
|
|
+ // this.tableData[scope.$index].corpName = row.cname
|
|
|
+ if (item.belongtoarea) {
|
|
|
+ addressList(item.belongtoarea.split(',')[0]).then(res => {
|
|
|
+ this.tableDataTwo[scope.$index].region = [res.data.data.provinceCode, res.data.data.parentId, res.data.data.districtCode]
|
|
|
+ scope.row.key++
|
|
|
+ })
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ this.$set(this.tableDataTwo[scope.$index], 'contacts', row.attn)
|
|
|
+ this.$set(this.tableDataTwo[scope.$index], 'tel', row.tel)
|
|
|
+ this.$set(this.tableDataTwo[scope.$index], 'address', row.storageAddr)
|
|
|
+ // this.tableData[scope.$index].contacts = row.attn
|
|
|
+ // this.tableData[scope.$index].tel = row.tel
|
|
|
+ // this.tableData[scope.$index].address = row.storageAddr
|
|
|
+ if (!scope.row.key) scope.row.key = 0
|
|
|
+ this.$set(this.tableDataTwo[scope.$index], 'corpName', row.cname)
|
|
|
+ // this.tableData[scope.$index].corpName = row.cname
|
|
|
+ if (row.belongtoarea) {
|
|
|
+ addressList(row.belongtoarea.split(',')[0]).then(res => {
|
|
|
+ this.tableDataTwo[scope.$index].region = [res.data.data.provinceCode, res.data.data.parentId, res.data.data.districtCode]
|
|
|
+ scope.row.key++
|
|
|
+ })
|
|
|
+ }
|
|
|
}
|
|
|
},
|
|
|
//自定义表头
|