Browse Source

修复提货单翻页错误

dev-xx
马远东 11 months ago
parent
commit
3b2b145c6f
  1. 14
      src/views/Pricesystem/Price/PriceWarehousing.vue
  2. 4
      src/views/aftersales/aftersalesWorkOrderInfo.vue
  3. 508
      src/views/aftersales/aftersalesWorkOrderend.vue
  4. 2
      src/views/distribution/deliverylist/distributionDeliveryListdis.vue
  5. 39
      src/views/distribution/inventory/distrilbutionBillLading.vue

14
src/views/Pricesystem/Price/PriceWarehousing.vue

@ -252,12 +252,19 @@ const form = ref({
disabled: true,
},
{
label: '60天',
label: '60天-90天',
prop: 'beyondSixtyPrice',
type: 'number',
width: 'auto',
disabled: true,
},
{
label: '90天外',
prop: 'beyondNinetyPrice',
type: 'number',
width: 'auto',
disabled: true,
},
{
label: '上限',
prop: 'maximumPrice',
@ -366,6 +373,7 @@ const onLoad = async () => {
betweenThirtySixtyPrice: 0,
beyondSixtyPrice: 0,
maximumPrice: 0,
beyondNinetyPrice:0,
options: [{ label: categoryName, value: categoryId }],
};
}
@ -376,6 +384,7 @@ const onLoad = async () => {
betweenThirtySixtyPrice: 0,
beyondSixtyPrice: 0,
maximumPrice: 0,
beyondNinetyPrice:0,
};
}
@ -498,6 +507,7 @@ const onLoad = async () => {
data.beyondSixtyPrice = res.beyondSixtyPrice || 0;
data.maximumPrice = res.maximumPrice || 0;
data.withinThirtyPrice = res.withinThirtyPrice || 0;
data.beyondNinetyPrice=res.beyondNinetyPrice || 0
}
});
}
@ -602,6 +612,7 @@ const handleSubmit = () => {
categoryId: res.categoryId, // id
maximumPrice: res.maximumPrice, //
withinThirtyPrice: res.withinThirtyPrice, // 30
beyondNinetyPrice:res.beyondNinetyPrice,//90
});
});
} else {
@ -611,6 +622,7 @@ const handleSubmit = () => {
beyondSixtyPrice: res.beyondSixtyPrice, // 60
maximumPrice: res.maximumPrice, //
withinThirtyPrice: res.withinThirtyPrice, // 30
beyondNinetyPrice:res.beyondNinetyPrice,//90
});
});
}

4
src/views/aftersales/aftersalesWorkOrderInfo.vue

@ -214,7 +214,7 @@
label="调查经过"
v-if="displaySettings.investigationPocess"
>
<el-input v-model="Indexform.typeServiceName" disabled />
<el-input v-model="Indexform.investigationProcess" disabled />
</el-form-item>
</div>
</div>
@ -1596,7 +1596,7 @@ const ResultDetermination = () => {
width: 100%;
:deep(.el-form-item) {
flex-direction: column;
width: 10%;
width: 14%;
margin-right: 4px;
.el-form-item__label {
margin: 0;

508
src/views/aftersales/aftersalesWorkOrderend.vue

@ -1,64 +1,212 @@
<template>
<el-card class="box-card" v-loading="Pageloading" element-loading-text="Loading...">
<!-- <template #header>
<div class="card-header">
<span>{{
$route.query.index == '0' ? '回复' : $route.query.index == '1' ? '新增记录' : '完结'
}}</span>
</div>
</template> -->
<div class="contemtMax">
<div class="left">
<el-form :model="endFrom" label-width="120px">
<el-form-item label="运单商场" class="el_lab">
<el-input v-model="endFrom.waybillMall" disabled placeholder="请输入运单商场" />
</el-form-item>
<!-- <el-form-item label="运单号">
<el-input v-model="endFrom.waybillNumber" placeholder="请输入运单号" />
</el-form-item> -->
<el-tabs type="border-card" class="topClass" v-model="identifying">
<el-tab-pane label="订单信息" :name="1"></el-tab-pane>
<el-tab-pane label="零担信息" :name="2"></el-tab-pane>
</el-tabs>
<!-- <el-form-item label="订单自编号">
<el-input v-model="endFrom.orderCode" placeholder="请输入订单自自编号" />
</el-form-item> -->
<el-form :model="endFrom" label-width="120px">
<div class="el_top">
<el-form-item label="异常类型" class="el_inputTop">
<el-select v-model="endFrom.workOrderType" disabled>
<el-option
v-for="item in IndexException"
:key="item.value"
:label="item.label"
:value="item.value"
/>
</el-select>
</el-form-item>
<!-- <el-form-item label="包条码">
<el-input v-model="endFrom.orderPackageCode" placeholder="请输入包条码" />
</el-form-item> -->
<el-form-item label="发现节点" class="el_inputTop">
<el-select v-model="endFrom.discoveryNode" disabled>
<el-option
v-for="item in DiscoveringNodes"
:key="item.value"
:label="item.label"
:value="item.value"
/>
</el-select>
</el-form-item>
<!-- <div class="selector"> -->
<div class="el-form-item el_lab">
<span class="el-form-item__label">运损节点</span>
<el-select
v-model="endFrom.discoveryNode"
filterable
default-first-option
:reserve-keyword="false"
placeholder="运损发现节点"
@change="TransportChange"
disabled
>
<el-option
v-for="item in TransportlossList"
:key="item.value"
:label="item.dictValue"
:value="item.dictKey"
<el-form-item label="异常工单号" class="el_inputTop el_Workordernumber">
<el-input
v-model="endFrom.workOrderNumber"
disabled
:placeholder="endFrom.workOrderNumber ? endFrom.workOrderNumber : '暂未生成工单号'"
clearable
/>
</el-select>
</el-form-item>
</div>
<!-- </div> -->
<el-tabs type="border-card" class="PackageInformation">
<el-tab-pane label="包件信息">
<div class="ResponsibilityBoxS">
<div class="el_btbox" v-for="(item, index) in PackageInfo" :key="index">
<div class="leftbox">
<el-form-item label="包条码">
<el-input
v-model="item.packageCode"
@change="ChangePackageInfo(item.packageCode, index)"
disabled
/>
</el-form-item>
<el-form-item label="运单号">
<el-input v-model="item.waybillNumber" disabled />
</el-form-item>
<el-form-item label="订单自编码">
<el-input v-model="item.orderCode" disabled />
</el-form-item>
<el-form-item label="一级品">
<el-input v-model="item.first" disabled />
</el-form-item>
<el-form-item label="二级品">
<el-input v-model="item.secondary" disabled />
</el-form-item>
<el-form-item label="品牌">
<el-input v-model="item.brandName" disabled />
</el-form-item>
</div>
</div>
<div class="NumTotal">
<span>总件数:{{ PackageInfo.length }}</span>
</div>
</div>
</el-tab-pane>
</el-tabs>
<!-- <el-form-item label="品类">
<el-input v-model="endFrom.name" placeholder="请输入品类" />
</el-form-item> -->
<el-tabs type="border-card" class="Basic_information">
<el-tab-pane label="基础信息">
<div class="el_information">
<div class="el_information_row">
<el-form-item label="车次号" v-if="displaySettings.trainNumber">
<el-input v-model="endFrom.trainNumber" />
</el-form-item>
<el-form-item label="异常类型" class="el_lab">
<el-input v-model="endFrom.workOrderType" disabled placeholder="异常类型" />
<!-- workOrderStatus -->
<el-form-item label="配送时间" v-if="displaySettings.deliveryTime">
<el-date-picker
v-model="endFrom.deliveryTime"
type="datetime"
format="YYYY-MM-DD"
/>
</el-form-item>
<el-form-item
label="配送司机"
prop="deliveryDriver"
v-if="displaySettings.deliveryDriver"
>
<el-select
v-model="endFrom.deliveryDriver"
filterable
default-first-option
:reserve-keyword="false"
>
<el-option
v-for="item in DeliveryDriver"
:key="item.value"
:label="item.driverName + '-' + item.trainNumber"
:value="item.id"
/>
</el-select>
</el-form-item>
<el-form-item label="车辆路线" v-if="displaySettings.vehicleRoute">
<el-input v-model="endFrom.vehicleRoute" />
</el-form-item>
<el-form-item label="发货时间" v-if="displaySettings.deliverGoodsTime">
<el-date-picker
v-model="endFrom.deliverGoodsTime"
type="datetime"
format="YYYY-MM-DD"
/>
</el-form-item>
<el-form-item label="发现时间" v-if="displaySettings.discoveryTime">
<el-date-picker
v-model="endFrom.discoveryTime"
type="datetime"
format="YYYY-MM-DD"
value-format="YYYY-MM-DD"
/>
</el-form-item>
<el-form-item label="入库时间" v-if="displaySettings.warehousingTime">
<el-date-picker
v-model="endFrom.warehousingTime"
type="datetime"
format="YYYY-MM-DD"
value-format="YYYY-MM-DD"
/>
</el-form-item>
<!-- 必填 -->
<el-form-item label="运单商场" v-if="displaySettings.waybillMall">
<el-input v-model="endFrom.waybillMall" />
</el-form-item>
<el-form-item label="合作模式" v-if="displaySettings.typeServiceName">
<el-input
v-model="endFrom.typeServiceName"
:placeholder=" endFrom.typeServiceName ? endFrom.typeServiceName : '暂未查询到合作模式'
"
disabled
/>
</el-form-item>
<el-form-item
class="processor_box"
label="处理方"
v-if="displaySettings.processor"
style="width: 42%"
>
<el-select
v-model="endFrom.processor"
multiple
filterable
allow-create
default-first-option
:reserve-keyword="false"
>
<el-option
v-for="item in warehouseData"
:key="item.value"
:label="item.label"
:value="item.value"
/>
</el-select>
</el-form-item>
<el-form-item
style="min-width: 100%"
label="调查经过"
v-if="displaySettings.investigationProcess"
>
<el-input v-model="endFrom.typeServiceName" disabled />
</el-form-item>
</div>
</div>
</el-tab-pane>
</el-tabs>
<!--
<el-form-item label="运单商场" class="el_lab">
<el-input v-model="endFrom.waybillMall" disabled placeholder="请输入运单商场" />
</el-form-item>
<el-form-item label="车次号" class="el_lab">
<el-input v-model="endFrom.trainNumber" disabled placeholder="暂无车次号" />
</el-form-item>
@ -84,9 +232,6 @@
disabled
/>
</el-form-item>
<!-- <el-form-item label="钉钉流程号" class="el_lab">
<el-input v-model="endFrom.processNumber" disabled placeholder="请输入钉钉流程号" />
</el-form-item> -->
<el-form-item label="处理方" class="el_lab" style="flex: 0 0 32.5%">
<el-select
@ -108,93 +253,26 @@
</el-select>
</el-form-item>
<!-- <el-form-item label="异常问题描述">
<el-input
v-model="endFrom.problemDescription"
type="textarea"
placeholder="请输入异常问题描述"
disabled
/>
:disabled="$route.query.index == '0'"
</el-form-item> -->
<!-- <el-form-item label="调查经过">
<el-input
disabled
v-model="endFrom.investigationProcess"
placeholder="暂无调查经过"
clearable
:rows="2"
type="textarea"
/>
</el-form-item> -->
<el-tabs type="border-card" class="PackageInformation">
<el-tab-pane label="包件信息">
<div class="ResponsibilityBoxS">
<div>
<!-- <el-button type="primary" @click="AddPackage" disabled> 添加信息 </el-button> -->
</div>
<div class="el_btbox" v-for="(item, index) in PackageInfo" :key="index">
<div class="leftbox">
<!-- <div class="maxBox">
<span class="title">包条码:</span>
<el-input
disabled
v-model="item.packageCode"
placeholder="请输入包条码"
clearable
:rows="2"
@change="ChangePackageInfo(item.packageCode, index)"
/>
</div> -->
<el-form-item label="包条码">
<el-input
v-model="item.packageCode"
@change="ChangePackageInfo(item.packageCode, index)"
disabled
/>
</el-form-item>
<el-form-item label="运单号">
<el-input v-model="item.waybillNumber" disabled />
</el-form-item>
-->
<el-form-item label="订单自编码">
<el-input v-model="item.orderCode" disabled />
</el-form-item>
<el-form-item label="一级品">
<el-input v-model="item.first" disabled />
</el-form-item>
<el-form-item label="二级品">
<el-input v-model="item.secondary" disabled />
</el-form-item>
<el-form-item label="品牌">
<el-input v-model="item.brandName" disabled />
</el-form-item>
</div>
</div>
<div class="NumTotal">
<span>总件数:{{ PackageInfo.length }}</span>
</div>
</div>
</el-tab-pane>
</el-tabs>
<el-tabs type="border-card" style="width: 100%">
<el-tab-pane label="责任方信息">
<div class="ResponsibilityBox">
<div>
<!-- <el-button type="primary" @click="responsibleParty" disabled>
添加信息
</el-button> -->
</div>
<div></div>
<div class="el_btbox" v-for="(item, index) in FangAddList" :key="index">
<div class="leftbox">
<div class="maxBox">
@ -253,7 +331,7 @@
</el-select>
</div>
<div class="maxBox">
<span class="title">占比:</span>
<span class="title">责任占比:</span>
<el-input
v-model="item.responsibilityRatio"
placeholder="请输入占比 "
@ -264,6 +342,13 @@
/>
</div>
<div class="maxBox">
<span class="title">三方责任人:</span>
<el-input
v-model="item.tripartite"
disabled
/>
</div>
<div class="maxBox" style="flex: 1">
<span class="title">说明:</span>
<el-input
v-model="item.description"
@ -346,18 +431,19 @@
<div class="el_tool">
<span>总金额:{{ TotalClaimAmount }}</span>
</div>
<!-- 处理结果说明 -->
<el-form-item label="处理结果说明" class="el_resj">
<el-input
v-model="endFrom.resultDescription"
placeholder="请输入处理结果说明"
clearable
:autosize="{ minRows: 3, maxRows: 4 }"
type="textarea"
:disabled="$route.query.index == '0' || $route.query.index == '2'"
/>
</el-form-item>
</div>
<!-- 处理结果说明 -->
<el-form-item label="处理结果说明" class="el_resj">
<el-input
v-model="endFrom.resultDescription"
placeholder="请输入处理结果说明"
clearable
:autosize="{ minRows: 3, maxRows: 4 }"
type="textarea"
:disabled="$route.query.index == '0' || $route.query.index == '2'"
/>
</el-form-item>
<el-tabs type="border-card" class="demo-tabs el-endtabs" v-if="routerState == 'end'">
<el-tab-pane>
<template #label>
@ -913,7 +999,7 @@ import { computeNumber, isNumber, AddressClosed, deepClone } from '@/utils/util'
import { useStore } from 'vuex';
// vuex
const $store = useStore();
const identifying = ref(1); //
const ZFdialog = ref(false); //
const $route = useRoute();
const $router = useRouter();
@ -949,6 +1035,8 @@ const amplifyurl = ref(''); //当前点击的图片
const amplifysrcList = ref([]); //
const Replycopy = ref([]); //
const Mydata = ref(); //
const DiscoveringNodes = ref([]); //
const IndexException = ref([]); //
const Pageloading = ref(false); //load
const PackageInfo = ref([
//
@ -1006,7 +1094,7 @@ const CompensationParty = ref([
const ProcessingList = ref([]); //
//
const FangAddList = ref([
{ businessName: '', personResponsibleName: '', responsibilityRatio: '' + '%', description: '' },
{ businessName: '', personResponsibleName: '', responsibilityRatio: '' + '%', description: '',tripartite:'' },
]);
const TransportlossList = ref([
//
@ -1113,12 +1201,26 @@ const {
const TransportChange = val => {
console.log(val, '运损触发事件');
};
//
async function updateDictionary(targetArray, dictionaryType) {
await getDictionaryBiz(dictionaryType).then(res => {
console.log(res, '字典');
res.data.data.forEach(item => {
targetArray.push({
value: item.dictKey,
label: item.dictValue,
});
});
});
}
//
const onLoad = () => {
if (localStorage.getItem('my_data')) {
Mydata.value = JSON.parse(localStorage.getItem('my_data')); //
}
updateDictionary(IndexException.value, 'pc_work_order'); //
updateDictionary(DiscoveringNodes.value, 'pc_discovery_node'); //
//
getDictionaryBiz('after_sales_visits').then(res => {
console.log(res, '角色字典');
@ -1177,6 +1279,7 @@ const onLoad = () => {
personResponsibleName: res.personResponsibleName, //
responsibilityRatio: res.responsibilityRatio, //
description: res.description, //
tripartite:res.tripartite,//
};
});
@ -1202,22 +1305,6 @@ const onLoad = () => {
MessageResponsibility.value = [...new Set(MessageResponsibility.value)]; //
}
console.log(endFrom.value.processor, ' endFrom.value.processor');
getDictionaryBiz('pc_work_order').then(res => {
//
console.log(res, '环节字典');
endFrom.value.workOrderType = res.data.data.find(
res => res.dictKey == endFrom.value.workOrderType
).dictValue; //
});
//
getDictionaryBiz('pc_discovery_node').then(res => {
console.log(res, '发现环节');
TransportlossList.value = res.data.data;
console.log(TransportlossList.value, '处理好的发现环节');
});
//
let sum = 0;
FangAddList.value.forEach(item => {
@ -1493,6 +1580,24 @@ const changeProcessingResults = val => {
}
});
};
const displaySettings = computed(() => {
return {
trainNumber: ['3', '5', '7', '6'].includes(endFrom.value.workOrderType), //
deliveryTime: ['5', '7', '6'].includes(endFrom.value.workOrderType), //
deliveryDriver: ['5', '7', '6'].includes(endFrom.value.workOrderType), //
vehicleRoute: ['3'].includes(endFrom.value.workOrderType), //线
deliverGoodsTime: ['2'].includes(endFrom.value.workOrderType), //
warehousingTime: ['4'].includes(endFrom.value.workOrderType), //
discoveryTime: ['4', '5', '6', '7'].includes(endFrom.value.workOrderType), //
waybillMall: true, //
typeServiceName: true, //
processor: true, //
investigationPocess: true, //
};
});
//
const ProcessingParty = val => {
console.log(endFrom.value.processor);
@ -1990,6 +2095,13 @@ const submit = async val => {
})
.catch(() => {});
} else {
if (!endFrom.value.result.length) {
ElMessage({
message: `请选择选择处理结果`,
type: 'warning',
});
return;
}
//
console.log(ProcessingList.value, '处理结果');
@ -2624,7 +2736,6 @@ const CustomerServiceCompleted = () => {
.left {
width: 68%;
padding: 0 10px;
border: 1px solid #dcdfe6;
box-sizing: border-box;
}
@ -2685,8 +2796,15 @@ const CustomerServiceCompleted = () => {
.el_btbox {
display: flex;
margin-top: 10px;
.maxBox {
flex-direction: column;
align-items: flex-start;
width: 14%;
}
}
.leftbox {
justify-content: flex-start !important;
.title {
width: 80px;
}
@ -2844,14 +2962,14 @@ const CustomerServiceCompleted = () => {
.leftbox {
width: 100%;
display: flex;
justify-content: flex-start;
justify-content: space-between;
flex-wrap: wrap;
.el-form-item{
margin-right:24px;
.el-form-item {
margin-right: 24px;
flex-direction: column;
align-items: flex-start;
flex: none;
width: 12%;
width: 14%;
}
}
@ -2902,9 +3020,7 @@ const CustomerServiceCompleted = () => {
justify-content: flex-end;
margin: 4px 0;
}
.el_resj {
margin-top: 20px !important;
}
.el_lab {
margin-right: 10px !important;
}
@ -2978,4 +3094,70 @@ const CustomerServiceCompleted = () => {
display: none;
}
}
:deep(.topClass) {
border-bottom: none;
.el-tabs__content {
padding: 0;
}
.is-active {
font-weight: bold;
}
}
.el_top {
display: flex;
width: 100%;
justify-content: space-between;
:deep(.el-form-item) {
display: flex;
flex-direction: row;
align-items: center;
width: auto;
}
}
:deep(.el_resj) {
width: 100% !important;
margin-top: 20px !important;
flex-direction: column;
align-items: flex-start !important;
.el-form-item__content {
width: 100% !important;
}
}
.Basic_information {
width: 100%;
:deep(.is-active) {
font-weight: bold;
}
.el_information {
width: 100%;
display: flex;
flex-wrap: wrap;
:deep(.el-form-item) {
width: 14%;
display: flex;
align-items: flex-start;
flex-direction: column;
flex: none;
margin-right: 4px;
.el-form-item__label {
margin-left: 0;
}
.el-form-item__content {
width: 100% !important;
}
}
.el_information_row {
width: 100%;
display: flex;
flex-wrap: wrap;
}
}
.el-select {
width: 100;
}
}
</style>

2
src/views/distribution/deliverylist/distributionDeliveryListdis.vue

@ -324,7 +324,7 @@ import { getVehicleList } from '@/api/basicdata/basicdataVehicle';
import { getDriverList } from '@/api/basicdata/basicdataDriverArtery';
import print from '@/utils/print';
import { getBillLadingExport } from '@/api/distribution/distrilbutionBillLading';
import { downloadXls, getObjType, handleClearTableQuery } from '@/utils/util';
import { downloadXls, getObjType, handleClearTableQuery, } from '@/utils/util';
import { ElMessage, ElMessageBox } from 'element-plus';
import * as XLSX from 'xlsx';
export default {

39
src/views/distribution/inventory/distrilbutionBillLading.vue

@ -639,6 +639,7 @@ import { detail } from '@/api/flow/flow';
import { nextTick, ref } from 'vue';
import { useStore } from 'vuex';
import { setNodeHeight } from '@/utils/util.js';
import error from '@/error';
const $store = useStore();
export default {
name: '/distribution/inventory/distrilbutionBillLading',
@ -2051,7 +2052,7 @@ export default {
const _type = this.$route.query.type;
//
if (Number(_type) === 2) {
this.onLoadEditChoose();
this.onLoadEditChoose(this.order.query,this.packageRow);
} else this.onLoadOrderChoose();
},
orderSelectSc(index, row) {
@ -2073,7 +2074,7 @@ export default {
const _type = this.$route.query.type;
//
if (Number(_type) === 2) {
this.onLoadEditChoose();
this.onLoadEditChoose(this.order.query,this.packageRow);
} else this.onLoadOrderChoose();
},
@ -2278,6 +2279,10 @@ export default {
//
async handleChooseOrder(row) {
console.log(this.order.columnOrderList,'order.columnOrderList');
this.order.columnOrderList.forEach(res=>res.values='')
this.order.query={}
this.order.currentPage=1
console.log('row :>> ', row);
this.packageRow=row
//
@ -2297,7 +2302,7 @@ export default {
const _type = this.$route.query.type;
//
if (Number(_type) === 2) {
this.onLoadEditChoose();
this.onLoadEditChoose(this.order.query,this.packageRow);
} else this.onLoadOrderChoose();
},
//
@ -2307,7 +2312,7 @@ export default {
const _type = this.$route.query.type;
//
if (Number(_type) === 2) {
this.onLoadEditChoose();
this.onLoadEditChoose(this.order.query,this.packageRow);
} else this.onLoadOrderChoose();
},
// --
@ -2341,29 +2346,41 @@ export default {
this.order.query.stockArticleId = this.orderChooseId;
this.order.query.reservationId = this.$route.query.id;
this.order.query.conditions = '1';
await getEditList(this.order.currentPage, this.order.pageSize, {
...params,
...this.order.query,
}).then(res => {
if(res.data.code !=200){
return
}
console.log('res :>> ', res);
const data = res.data.data;
this.order.total = data.total;
this.order.orderDetails = data.records;
this.order.total = data.total || 0;
this.order.orderDetails = data.records || [];
// id list
row.originalIdList = [];
console.log(row,'row=====');
if(row){
row.originalIdList = [];
console.log(this.order,'this.order.orderDetails');
//
this.order.selectList = this.order.orderDetails.filter(val => {
console.log('val :>> ', val);
if (val.choice) row.originalIdList.push(val.id);
if (val.choice){
row.originalIdList.push(val.id);
}
return val.choice;
});
//
//
console.log('this.order.selectList :>> ', this.order.selectList);
row.originalList = JSON.parse(JSON.stringify(this.order.selectList));
this.order.orderChooseLoading = false;
});
}
}).catch((error)=>{
console.log(error,'error');
this.order.orderChooseLoading = false;
});
return null;
},
/**

Loading…
Cancel
Save