Browse Source

Merge branch 'dev' into pre-production

fix_bug_pro20231227
pref_mail@163.com 1 year ago
parent
commit
e2f1019b6e
  1. 8
      src/api/aftersales/aftersalesWorkOrder.js
  2. 13
      src/api/distribution/zeroAdditionalRecording.js
  3. 2
      src/components/tablecmt/tablecmt.vue
  4. 288
      src/option/distribution/zeroAdditionalRecording.js
  5. 186
      src/views/aftersales/aftersalesWorkOrderAdd.vue
  6. 75
      src/views/distribution/artery/zeroAdditionalRecording.vue

8
src/api/aftersales/aftersalesWorkOrder.js

@ -334,11 +334,11 @@ export const $_modifyData = (data) => {
}
// 查询配送信息
export const $_shippingInformation = (data) => {
export const $_shippingInformation = (params) => {
return request({
url: '/api/logpm-aftersales/aftersalesWorkOrder/deliveryList/shippingInformation',
method: 'post',
data
url: '/api/logpm-distribution/deliveryList/shippingInformation',
method: 'get',
params
})
}

13
src/api/distribution/zeroAdditionalRecording.js

@ -0,0 +1,13 @@
import request from '@/axios';
/**
* 初始化获取配载信息
*/
export const postloadZeroSuppleList = (data = {}) => {
return request({
url: '/api/logpm-trunkline/carsLoad/zeroSuppleList',
method: 'post',
data,
});
};

2
src/components/tablecmt/tablecmt.vue

@ -486,7 +486,7 @@ const handleSelectionChange = (param: TableDataType[]) => {
selectarr.value = param;
selectarr.value.forEach(val => {
selectCount.value.forEach(
item => (item.value += computeNumber(item.value, '+', val[item.prop]).result)
item => (item.value = computeNumber(item.value, '+', Number(val[item.prop] || 0)).result)
);
});
emit('selection', param);

288
src/option/distribution/zeroAdditionalRecording.js

@ -15,9 +15,19 @@ export const oldColumnList = [
fixed: true,
},
{
prop: 'orderCode',
prop: 'createTime',
label: '开单日期',
type: 2,
values: '',
width: '200',
checkarr: [],
fixed: false,
sortable: true,
},
{
prop: 'waybillNo',
label: '运单号',
type: 6,
type: 2,
values: '',
width: '150',
checkarr: [],
@ -28,7 +38,7 @@ export const oldColumnList = [
{
prop: 'orderCode',
label: '合同号',
type: 6,
type: 2,
values: '',
width: '150',
checkarr: [],
@ -37,28 +47,8 @@ export const oldColumnList = [
head: false,
},
{
prop: 'orderPackageCode',
label: '包条码',
type: 6,
values: '',
width: '200',
checkarr: [],
fixed: false,
sortable: true,
},
{
prop: 'driverName',
label: '计划目的地',
type: 1,
values: '',
width: '130',
checkarr: [],
fixed: false,
sortable: true,
},
{
prop: 'driverPhone',
label: '目的地',
prop: 'destination',
label: '到站',
type: 1,
values: '',
width: '130',
@ -67,8 +57,8 @@ export const oldColumnList = [
sortable: true,
},
{
prop: 'warehouseName',
label: '装卸状态',
prop: 'destinationWarehouseName',
label: '目的网点',
type: 1,
values: '',
width: '130',
@ -77,8 +67,8 @@ export const oldColumnList = [
sortable: true,
},
{
prop: 'lineNameTitle',
label: '订单来源',
prop: 'shipperName',
label: '发货单位',
type: 1,
values: '',
width: '130',
@ -87,8 +77,8 @@ export const oldColumnList = [
sortable: true,
},
{
prop: 'nodeNub',
label: '装车仓库',
prop: 'consignee',
label: '收货单位',
type: 1,
values: '',
width: '130',
@ -97,8 +87,8 @@ export const oldColumnList = [
sortable: true,
},
{
prop: 'startTime',
label: '扫码时间',
prop: 'goodsName',
label: '品类名称',
type: 1,
values: '',
width: '130',
@ -107,68 +97,8 @@ export const oldColumnList = [
sortable: true,
},
{
prop: 'endTime',
label: '装卸仓库',
type: 1,
values: '',
width: '130',
checkarr: [],
fixed: false,
sortable: true,
},
{
prop: 'planVolume',
label: '卸车时间',
type: 1,
values: '',
width: '130',
checkarr: [],
fixed: false,
sortable: true,
},
{
prop: 'billladingStatus',
label: '装车类型',
type: 1,
values: '',
width: '130',
checkarr: [],
fixed: false,
sortable: true,
},
{
prop: 'chargeType',
label: '是否补录',
type: 1,
values: '',
width: '130',
checkarr: [],
fixed: false,
sortable: true,
},
{
prop: 'totalFee',
label: '是否齐套',
type: 1,
values: '',
width: '150',
checkarr: [],
fixed: false,
sortable: true,
},
{
prop: 'remark',
label: '托盘码',
type: 1,
values: '',
width: '150',
checkarr: [],
fixed: false,
sortable: true,
},
{
prop: 'carrierName',
label: '一级品类',
prop: 'totalNum',
label: '件数',
type: 1,
values: '',
width: '130',
@ -177,8 +107,8 @@ export const oldColumnList = [
sortable: true,
},
{
prop: 'waybillCount',
label: '二级品类',
prop: 'stockNum',
label: '在库件数',
type: 1,
values: '',
width: '130',
@ -187,8 +117,8 @@ export const oldColumnList = [
sortable: true,
},
{
prop: 'totalNum',
label: '三级品类',
prop: 'price',
label: '单价',
type: 1,
values: '',
width: '130',
@ -197,8 +127,8 @@ export const oldColumnList = [
sortable: true,
},
{
prop: 'totalWeight',
label: '物料名称',
prop: 'weight',
label: '重量(KG)',
type: 1,
values: '',
width: '130',
@ -207,8 +137,8 @@ export const oldColumnList = [
sortable: true,
},
{
prop: 'totalVolume',
label: '装车扫描人',
prop: 'volume',
label: '体积',
type: 1,
values: '',
width: '130',
@ -217,8 +147,8 @@ export const oldColumnList = [
sortable: true,
},
{
prop: 'createUserName',
label: '卸车人',
prop: 'totalFreight',
label: '运费',
type: 1,
values: '',
width: '130',
@ -227,8 +157,8 @@ export const oldColumnList = [
sortable: true,
},
{
prop: 'totalWeight',
label: '同步状态',
prop: 'remark',
label: '运单备注',
type: 1,
values: '',
width: '130',
@ -256,9 +186,19 @@ export const newColumnList = [
fixed: true,
},
{
prop: 'orderCode',
prop: 'createTime',
label: '开单日期',
type: 2,
values: '',
width: '200',
checkarr: [],
fixed: false,
sortable: true,
},
{
prop: 'waybillNo',
label: '运单号',
type: 6,
type: 2,
values: '',
width: '150',
checkarr: [],
@ -269,7 +209,7 @@ export const newColumnList = [
{
prop: 'orderCode',
label: '合同号',
type: 6,
type: 2,
values: '',
width: '150',
checkarr: [],
@ -278,28 +218,8 @@ export const newColumnList = [
head: false,
},
{
prop: 'orderPackageCode',
label: '包条码',
type: 6,
values: '',
width: '200',
checkarr: [],
fixed: false,
sortable: true,
},
{
prop: 'driverName',
label: '计划目的地',
type: 1,
values: '',
width: '130',
checkarr: [],
fixed: false,
sortable: true,
},
{
prop: 'driverPhone',
label: '目的地',
prop: 'destination',
label: '到站',
type: 1,
values: '',
width: '130',
@ -308,8 +228,8 @@ export const newColumnList = [
sortable: true,
},
{
prop: 'warehouseName',
label: '装卸状态',
prop: 'destinationWarehouseName',
label: '目的网点',
type: 1,
values: '',
width: '130',
@ -318,8 +238,8 @@ export const newColumnList = [
sortable: true,
},
{
prop: 'lineNameTitle',
label: '订单来源',
prop: 'shipperName',
label: '发货单位',
type: 1,
values: '',
width: '130',
@ -328,8 +248,8 @@ export const newColumnList = [
sortable: true,
},
{
prop: 'nodeNub',
label: '装车仓库',
prop: 'consignee',
label: '收货单位',
type: 1,
values: '',
width: '130',
@ -338,8 +258,8 @@ export const newColumnList = [
sortable: true,
},
{
prop: 'startTime',
label: '扫码时间',
prop: 'goodsName',
label: '品类名称',
type: 1,
values: '',
width: '130',
@ -348,68 +268,8 @@ export const newColumnList = [
sortable: true,
},
{
prop: 'endTime',
label: '装卸仓库',
type: 1,
values: '',
width: '130',
checkarr: [],
fixed: false,
sortable: true,
},
{
prop: 'planVolume',
label: '卸车时间',
type: 1,
values: '',
width: '130',
checkarr: [],
fixed: false,
sortable: true,
},
{
prop: 'billladingStatus',
label: '装车类型',
type: 1,
values: '',
width: '130',
checkarr: [],
fixed: false,
sortable: true,
},
{
prop: 'chargeType',
label: '是否补录',
type: 1,
values: '',
width: '130',
checkarr: [],
fixed: false,
sortable: true,
},
{
prop: 'totalFee',
label: '是否齐套',
type: 1,
values: '',
width: '150',
checkarr: [],
fixed: false,
sortable: true,
},
{
prop: 'remark',
label: '托盘码',
type: 1,
values: '',
width: '150',
checkarr: [],
fixed: false,
sortable: true,
},
{
prop: 'carrierName',
label: '一级品类',
prop: 'totalNum',
label: '件数',
type: 1,
values: '',
width: '130',
@ -418,8 +278,8 @@ export const newColumnList = [
sortable: true,
},
{
prop: 'waybillCount',
label: '二级品类',
prop: 'stockNum',
label: '在库件数',
type: 1,
values: '',
width: '130',
@ -428,8 +288,8 @@ export const newColumnList = [
sortable: true,
},
{
prop: 'totalNum',
label: '三级品类',
prop: 'price',
label: '单价',
type: 1,
values: '',
width: '130',
@ -438,8 +298,8 @@ export const newColumnList = [
sortable: true,
},
{
prop: 'totalWeight',
label: '物料名称',
prop: 'weight',
label: '重量(KG)',
type: 1,
values: '',
width: '130',
@ -448,8 +308,8 @@ export const newColumnList = [
sortable: true,
},
{
prop: 'totalVolume',
label: '装车扫描人',
prop: 'volume',
label: '体积',
type: 1,
values: '',
width: '130',
@ -458,8 +318,8 @@ export const newColumnList = [
sortable: true,
},
{
prop: 'createUserName',
label: '卸车人',
prop: 'totalFreight',
label: '运费',
type: 1,
values: '',
width: '130',
@ -468,8 +328,8 @@ export const newColumnList = [
sortable: true,
},
{
prop: 'totalWeight',
label: '同步状态',
prop: 'remark',
label: '运单备注',
type: 1,
values: '',
width: '130',

186
src/views/aftersales/aftersalesWorkOrderAdd.vue

@ -152,24 +152,63 @@
v-model="Indexform.trainNumber"
placeholder="请输入车次号(干线卸车环节)"
clearable
@change="DeliveryTrainnumber"
/>
</el-form-item>
<!-- 必填 -->
<el-form-item label="一级品">
<el-input v-model="Indexform.first" placeholder="请输入一级品类" clearable />
<el-form-item
label="配送司机"
v-if="
groundlineSet ||
groundlineType == 3 ||
groundlineType == 4 ||
groundlineType == 8 ||
groundlineType == 5 ||
groundlineType == 7 ||
groundlineType == 8
"
>
<el-select
v-model="Indexform.deliveryDriver"
filterable
default-first-option
:reserve-keyword="false"
placeholder="请输入配送司机"
>
<el-option
v-for="item in DeliveryDriver"
:key="item.value"
:label="item.driverName"
:value="item.id"
/>
</el-select>
</el-form-item>
<!-- 必填 -->
<el-form-item label="二级品">
<el-input v-model="Indexform.secondary" placeholder="请输入二级品类" clearable />
</el-form-item>
<el-form-item label="车辆路线" v-if="groundlineSet || groundlineType == 3">
<el-input
v-model="Indexform.vehicleRoute"
placeholder="请输入车辆路线车次号(通过车次号自动带出车辆路线)"
clearable
<el-form-item
label="配送时间"
v-if="
groundlineSet ||
groundlineType == 3 ||
groundlineType == 4 ||
groundlineType == 8 ||
groundlineType == 5 ||
groundlineType == 7 ||
groundlineType == 8
"
>
<el-date-picker
v-model="Indexform.deliveryTime"
type="datetime"
format="YYYY-MM-DD HH:mm:ss"
value-format="YYYY-MM-DD HH:mm:ss"
placeholder="请选择配送时间"
/>
</el-form-item>
<el-form-item label="车辆路线" v-if="groundlineSet || groundlineType == 3">
<el-input v-model="Indexform.vehicleRoute" placeholder="请输入车辆路线车次号" clearable />
</el-form-item>
<el-form-item label="发货时间">
<el-date-picker
@ -203,25 +242,8 @@
/>
</el-form-item>
<el-form-item
label="配送时间"
v-if="
groundlineSet ||
groundlineType == 3 ||
groundlineType == 4 ||
groundlineType == 8 ||
groundlineType == 5 ||
groundlineType == 7 ||
groundlineType == 8
"
>
<el-date-picker
v-model="Indexform.deliveryTime"
type="datetime"
format="YYYY-MM-DD HH:mm:ss"
value-format="YYYY-MM-DD HH:mm:ss"
placeholder="请选择配送时间"
/>
<el-form-item label="二级品">
<el-input v-model="Indexform.secondary" placeholder="请输入二级品类" clearable />
</el-form-item>
<el-form-item
@ -243,33 +265,11 @@
<!-- <el-form-item label="钉钉流程号">
<el-input v-model="Indexform.processNumber" placeholder="请输入钉钉流程号" />
</el-form-item> -->
<el-form-item
label="配送司机"
v-if="
groundlineSet ||
groundlineType == 3 ||
groundlineType == 4 ||
groundlineType == 8 ||
groundlineType == 5 ||
groundlineType == 7 ||
groundlineType == 8
"
>
<el-select
v-model="Indexform.deliveryDriver"
filterable
default-first-option
:reserve-keyword="false"
placeholder="请输入配送司机"
>
<el-option
v-for="item in DeliveryDriver"
:key="item.value"
:label="item.label"
:value="item.value"
/>
</el-select>
<el-form-item label="一级品">
<el-input v-model="Indexform.first" placeholder="请输入一级品类" clearable />
</el-form-item>
<!-- 必填 -->
<el-form-item label="异常问题描述">
<el-input v-model="Indexform.problemDescription" placeholder="请输入异常问题" clearable />
@ -591,34 +591,21 @@ const FangAddList = ref([
]);
//
const responsible = ref([
// {
// value: '1',
// label: '',
// },
// {
// value: '2',
// label: '',
// },
// {
// value: '3',
// label: '',
// },
]);
const DeliveryDriver = ref([
{
value: '0',
label: '兰溪',
},
{
value: '1',
label: '李华',
label: '工厂',
},
{
value: '2',
label: '唐飞',
label: '外包搬运',
},
{
value: '3',
label: '物流',
},
]);
const DeliveryDriver = ref([]);
//
const fileList = ref([]);
//
@ -697,6 +684,7 @@ const ResponsiblePartychange = (val, index) => {
});
};
const onLoad = () => {
DeliveryTrainnumber();//
console.log($route.query.id, '页面初始化');
routerState.value = $route.query.routerState;
updateDictionary(IndexException.value, 'pc_work_order'); //
@ -731,16 +719,28 @@ const DiscoveringNodesChange = val => {
} else {
groundlineSet.value = true; //
}
};
//
function DeliveryTrainnumber () {
let data = {
trainNumber: Indexform.value.trainNumber,
};
$_shippingInformation(data).then(res => {
// DeliveryDriver;
// Indexform.deliveryDriver;
console.log(res, '查询返回值');
DeliveryDriver.value = res.data.data.records;//
//
if(res.data.data.records.length ==1){
Indexform.value.deliveryTime = res.data.data.records[0].taskTime; //
Indexform.value.deliveryDriver = res.data.data.records[0].id; //
}
});
// if(val==1){
// let data={
// }
// $_shippingInformation(data).then(res=>{
// console.log(res,'');
// })
// }
};
//
@ -802,6 +802,7 @@ const CompanyProportionInput = () => {
const ConfirmForm = () => {
//
console.log(Indexform.value.businessMame, '提货责任方');
let DataSubmit = {
personResponsibleDTO: [],
@ -830,15 +831,14 @@ const ConfirmForm = () => {
}
console.log(DataSubmit['decreaseImageEntityList'], '处理好的图片');
//
//
if (Indexform.value.deliveryDriver) {
Indexform.value.deliveryDriver = DeliveryDriver.value.find(
item => item.value == Indexform.value.deliveryDriver
);
console.log(DeliveryDriver.value,'当前全部司机');
console.log(Indexform.value.deliveryDriver,'选择的司机信息');
Indexform.value.deliveryDriver = DeliveryDriver.value.find( item => item.id == Indexform.value.deliveryDriver).driverName;
}
Indexform.value.deliveryDriver = Indexform.value.deliveryDriver.label;
console.log(Indexform.value.deliveryDriver); //
console.log(Indexform.value.deliveryDriver,'筛选出来的司机');
let processorEntityList = [];
//
@ -1100,7 +1100,7 @@ const Statistics = () => {
});
};
//
//
const ChangePackageInfo = (val, index) => {
PackageInfo.value[index].orderCode = ''; //
PackageInfo.value[index].waybillNumber = ''; //

75
src/views/distribution/artery/zeroAdditionalRecording.vue

@ -5,7 +5,7 @@
<!-- <div class="add_row">发车批次: LQGX</div> -->
<div class="add_row">
<!-- 列表模块 -->
<div style="width: 47%">
<div style="width: 49%">
<div class="add_row_title">运单池</div>
<div v-if="!search">
<el-form :inline="true" label-width="80px" :model="details.oldQuery" class="el-fr-d">
@ -91,7 +91,7 @@
background
@size-change="sizeChange"
@current-change="currentChange"
:current-page="zeroAdditionalRecordingInfo.oldPage.currentPage"
:current-page="zeroAdditionalRecordingInfo.oldPage.pageNum"
:page-sizes="[30, 50, 80, 120]"
:page-size="zeroAdditionalRecordingInfo.oldPage.pageSize"
layout="total, sizes, prev, pager, next, jumper"
@ -102,7 +102,7 @@
</div>
<!-- 列表模块 -->
<div style="width: 47%">
<div style="width: 49%">
<div class="add_row_title">调度池</div>
<div v-if="!search">
<el-form :inline="true" label-width="80px" :model="details.newQuery" class="el-fr-d">
@ -208,8 +208,10 @@ import dayjs from 'dayjs';
import { mapGetters } from 'vuex';
/** 获取字典 */
import { getDictionaryBiz } from '@/api/system/dict';
import { postloadZeroSuppleList } from '@/api/distribution/zeroAdditionalRecording';
import { downloadXls } from '@/utils/util';
import { oldColumnList, newColumnList } from '@/option/distribution/zeroAdditionalRecording';
import { ElMessage } from 'element-plus';
const details = reactive<any>({
/** 是否开启搜索 */
@ -272,13 +274,13 @@ const details = reactive<any>({
drawerShow: false,
/** 分页参数 */
page: {
currentPage: 1,
pageNum: 1,
pageSize: 30,
total: 0,
},
/** 装车明细分页参数 */
trickleLoadingPage: {
currentPage: 1,
pageNum: 1,
pageSize: 30,
total: 0,
},
@ -296,10 +298,12 @@ const details = reactive<any>({
zeroAdditionalRecordingInfo: {
oldPage: {
pageSize: 30,
currentPage: 1,
pageNum: 1,
total: 0,
},
},
/** 被选中的零担订单 */
orderCodeList: [],
});
const {
@ -331,7 +335,33 @@ onMounted(() => {
});
/** 请求页面数据 */
const onLoad = (page: any) => {};
const onLoad = async (page: any, params = {}) => {
try {
details.loadingObj.oldListLoading = true;
const submitData = {
...details.page,
...details.query,
...params,
};
const res = await postloadZeroSuppleList(submitData);
console.log('res :>> ', res);
const { code, data } = res.data;
if (code !== 200) return;
details.oldData = data.records;
details.page.total = data.total;
} catch (error) {
console.log('error :>> ', error);
} finally {
//
await nextTick();
details.loadingObj.oldListLoading = false;
}
// postloadZeroSuppleList
};
onLoad();
/** 搜索 */
const searchChange = () => {
@ -342,7 +372,7 @@ const searchChange = () => {
const searchReset = () => {
details.query = {};
details.stockupDate = [];
details.page.currentPage = 1;
details.page.pageNum = 1;
onLoad(details.page);
};
@ -418,7 +448,7 @@ const selectsc = (index, row) => {
/** 表格表头复选框选择 */
const selectionChange = (list: any) => {
details.selectionList = list;
details.oldSelectionList = list;
};
/** 表格表头输入框搜索 */
@ -488,10 +518,31 @@ const setnewcolum = (newarr, headarr, type) => {
/** 添加运单 */
const handleAddWaybill = () => {
// if (this.addInfo.oldSelectionList.length === 0) return this.$message.warning('');
// this.addInfo.newData = [...this.addInfo.newData, ...this.addInfo.oldSelectionList];
// this.addInfo.haveIds = this.addInfo.map(val => val.id);
if (details.oldSelectionList.length === 0) return ElMessage.error('最少选择一条数据');
//
// if (Number(details.pageType) === 1) {
for (let item of details.oldSelectionList) {
item.planNum = item.stockNum;
item.loadingNum = 0;
details.newData.push(item);
}
details.orderCodeList = [
...new Set([
...details.orderCodeList,
...details.oldSelectionList.map(val => val.orderCode + ',' + val.waybillNo),
]),
];
console.log('details.orderCodeList :>> ', details.orderCodeList);
const orderCodes = details.selectionList.map(val => val.orderCode);
// clearSelectionList();
details.page.pageNum = 1;
// initOriginWarehouseOrder();
// }
};
/** 移除运单 */
const handleRemoveWaybill = () => {
// if (this.addInfo.newSelectionList.length === 0) return this.$message.warning('');

Loading…
Cancel
Save