Browse Source

Merge branch 'dev' into pre-production

pre-production
pref_mail@163.com 1 year ago
parent
commit
7dd288ca92
  1. 11
      src/api/distribution/truckLoadingDetails.js
  2. 44
      src/option/distribution/TripartiteTransfer.js
  3. 11
      src/views/distribution/artery/TripartiteTransfer.vue
  4. 4
      src/views/distribution/artery/VehicleArrivalManagement.vue
  5. 1
      src/views/distribution/artery/VehicleStowage.vue
  6. 451
      src/views/distribution/artery/truckLoadingDetails.vue
  7. 9
      src/views/distribution/inventory/distributionStockArticleDetails.vue
  8. 29
      src/views/distribution/inventory/distrilbutionBillLadingList.vue
  9. 324
      src/views/distribution/inventory/distrilbutionBillLadingView.vue

11
src/api/distribution/truckLoadingDetails.js

@ -10,3 +10,14 @@ export const postLoadingDetail = (data = {}) => {
data,
});
};
/**
* 批量卸车
*/
export const postBatchUnload = (data = {}) => {
return request({
url: '/api/logpm-trunkline/carsLoad/batchUnload',
method: 'post',
data,
});
};

44
src/option/distribution/TripartiteTransfer.js

@ -311,7 +311,7 @@ export const detailsColumnList = [
{
prop: 'scanStatusName',
label: '装卸状态',
type: 1,
type: 3,
values: '',
width: '130',
checkarr: [],
@ -401,6 +401,16 @@ export const detailsColumnList = [
{
prop: 'typeName',
label: '类型',
type: 3,
values: '',
width: '130',
checkarr: [],
fixed: false,
sortable: true,
},
{
prop: 'num',
label: '数量',
type: 1,
values: '',
width: '130',
@ -411,7 +421,7 @@ export const detailsColumnList = [
{
prop: 'isDataName',
label: '有无数据',
type: 1,
type: 3,
values: '',
width: '130',
checkarr: [],
@ -419,9 +429,9 @@ export const detailsColumnList = [
sortable: true,
},
{
prop: 'isAbnormalName',
label: '是否异常',
type: 1,
prop: 'loadingAbnormalName',
label: '是否装车异常',
type: 3,
values: '',
width: '130',
checkarr: [],
@ -429,9 +439,19 @@ export const detailsColumnList = [
sortable: true,
},
{
prop: 'chargeType',
prop: 'unloadAbnormalName',
label: '是否卸车异常',
type: 3,
values: '',
width: '130',
checkarr: [],
fixed: false,
sortable: true,
},
{
prop: 'isSuppleName',
label: '是否补录',
type: 1,
type: 3,
values: '',
width: '130',
checkarr: [],
@ -518,6 +538,16 @@ export const detailsColumnList = [
// fixed: false,
// sortable: true,
// },
{
prop: '',
label: '操作',
type: 6,
values: '',
width: '200',
checkarr: [],
fixed: true,
sortable: true,
},
];
/** 运单池列表 */

11
src/views/distribution/artery/TripartiteTransfer.vue

@ -679,7 +679,16 @@ const beforeClose = done => {
};
/** 显示装车详情 */
const handleShowTruckLoadingDetails = ({ row }) => {};
const handleShowTruckLoadingDetails = ({ row }) => {
$router.push({
path: '/distribution/artery/truckLoadingDetails',
query: {
loadId: row.id,
name: row.carsNo + '--' + '装车明细',
type: 'TripartiteTransfer'
},
});
};
/** 跳转零担补录 */
const handleShowzeroAdditionalRecording = ({ row }) => {

4
src/views/distribution/artery/VehicleArrivalManagement.vue

@ -124,7 +124,7 @@
</el-row>
<!-- 表格 -->
<el-row>
<!-- 列表模块 -->
<tablecmt
:columnList="details.columnList"
@ -209,7 +209,6 @@
</template>
</template>
</tablecmt>
</el-row>
<!-- 分页模块 -->
<el-row class="el-fy">
@ -652,6 +651,7 @@ const handleShowTruckLoadingDetails = ({ row }) => {
query: {
loadId: row.id,
name: row.carsNo + '--' + '装车明细',
type: 'VehicleStowage',
},
});

1
src/views/distribution/artery/VehicleStowage.vue

@ -755,6 +755,7 @@ const handleShowTruckLoadingDetails = ({ row }) => {
query: {
loadId: row.id,
name: row.carsNo + '--' + '装车明细',
type: 'VehicleStowage',
},
});

451
src/views/distribution/artery/truckLoadingDetails.vue

@ -1,6 +1,6 @@
<template>
<basic-container>
<div class="avue-crud">
<div class="avue-crud" v-loading="details.loadingObj.pageLoading">
<!-- 搜索模块 -->
<el-row v-if="!search">
<!-- 查询模块 -->
@ -44,10 +44,27 @@
<div class="avue-crud__header">
<!-- 头部左侧按钮模块 -->
<div class="avue-crud__left">
<!-- 车辆配载 -->
<template v-if="details.pageInfo.type === 'VehicleStowage'">
<el-button type="primary" icon="Edit" @click="handleShowTransfer('add')"
>计划仓更改
</el-button>
<el-button type="primary" icon="List" @click="searchReset()">批量卸车</el-button>
<el-button type="primary" icon="List" @click="handleBatchUnLoad">批量卸车</el-button>
</template>
<!-- 三方中转 -->
<template v-if="details.pageInfo.type === 'TripartiteTransfer'">
<el-button type="primary" icon="Edit" @click="handleShowTransfer('add')">
中转批量签收
</el-button>
<el-button type="primary" icon="List" @click="searchReset()">删除</el-button>
</template>
<!-- 到车管理 -->
<template v-if="details.pageInfo.type === 'VehicleArrivalManagement'">
<el-button type="primary" icon="List" @click="handleBatchUnLoad">批量卸车</el-button>
</template>
<el-button type="primary" icon="Delete" @click="searchReset()">删除</el-button>
<el-button type="primary" icon="Printer" @click="searchReset()">二维码</el-button>
</div>
@ -61,7 +78,7 @@
</el-row>
<!-- 表格 -->
<el-row>
<!-- 列表模块 -->
<tablecmt
:columnList="details.detailsColumnList"
@ -73,9 +90,25 @@
@selectCheck="selectsc"
@selection="selectionChange"
>
<template #default="slotProps"> </template>
<template #default="slotProps">
<el-text
@click="handleZeroUnLoad(slotProps.scope)"
v-if="
Number(slotProps.scope.row.scanStatus) === 1 && Number(slotProps.scope.row.type) === 2
"
>
零担卸车
</el-text>
<el-text
@click="handleOrderUnLoad(slotProps.scope)"
v-if="
Number(slotProps.scope.row.scanStatus) === 1 && Number(slotProps.scope.row.type) === 1
"
>
包件卸车
</el-text>
</template>
</tablecmt>
</el-row>
<!-- 分页模块 -->
<el-row class="el-fy">
@ -99,6 +132,32 @@
</div>
</basic-container>
<!-- 配置装车目的地 -->
<el-dialog
title="零担卸车"
v-model="details.popUpShow.transferVisited"
width="30%"
append-to-body
class="truckLoadingDetailPopUp"
>
<el-form-item label="零担卸车数量" label-width="100px">
<el-input-number
style="width: 100%"
:precision="0"
:max="details.zeroItem.num"
readonly
:controls="false"
v-model="details.zeroItem.enterNum"
/>
</el-form-item>
<!-- 表单按钮 -->
<div class="flex-c-c">
<el-button icon="Close" @click="details.popUpShow.transferVisited = false"> </el-button>
<el-button type="primary" icon="Position" @click="handleZeroUnLoadSubmit"> </el-button>
</div>
</el-dialog>
<!-- 列表配置显示 -->
<edittablehead
@setcolum="setnewcolum"
@ -113,7 +172,10 @@ import { ref, reactive, toRefs, computed, onMounted, nextTick, watch } from 'vue
import functions from '@/utils/functions';
import dayjs from 'dayjs';
import { mapGetters } from 'vuex';
import { postLoadingDetail } from '@/api/distribution/truckLoadingDetails';
import { ElMessage, ElMessageBox } from 'element-plus';
import type { Action } from 'element-plus';
import { getMyCurrentWarehouse } from '@/api/work/work';
import { postLoadingDetail, postBatchUnload } from '@/api/distribution/truckLoadingDetails';
/** 获取字典 */
import { getDictionaryBiz } from '@/api/system/dict';
import { downloadXls } from '@/utils/util';
@ -165,6 +227,8 @@ const details = reactive<any>({
loadingObj: {
/** 列表加载loading */
list: false,
/** 页面loading */
pageLoading: false,
},
/** 列表复选框选中的数据 */
selectionList: [],
@ -186,9 +250,50 @@ const details = reactive<any>({
/** 列表Dom节点 */
listNode: '',
form: {},
/** 页面数据 */
pageInfo: {
/** 配送ID */
loadId: '',
/**
* TripartiteTransfer -- 三方中转
* VehicleStowage -- 车辆配载
* */
type: '',
},
/** 被选中的零担数据 */
zeroItem: {},
//
/** 装卸状态 */
scanStatusOption: [
{ label: '装车', value: 1 },
{ label: '卸车', value: 2 },
{ label: '签收', value: 3 },
],
/** 有无数据 */
isDataOption: [
{ label: '是', value: 1 },
{ label: '否', value: 0 },
],
/** 类型 */
typeOption: [
{ label: '包件', value: 1 },
{ label: '零担', value: 2 },
],
/** 是否装车异常 */
loadingAbnormalOption: [
{ label: '是', value: 1 },
{ label: '否', value: 0 },
],
/** 是否卸车异常 */
unloadAbnormalOption: [
{ label: '是', value: 1 },
{ label: '否', value: 0 },
],
/** 是否补录 */
isSuppleOption: [
{ label: '是', value: 1 },
{ label: '否', value: 0 },
],
});
const {
@ -212,14 +317,17 @@ const $route = useRoute();
const permission = computed(() => mapGetters(['permission', 'tagWel', 'tagList']));
console.log('permission :>> ', permission);
onMounted(() => {
const timer = setTimeout(() => {
details.listNode = document.querySelector('.maboxhi');
details.listNode.style.transition = 'all .5s ease-out';
console.log('details.listNode :>> ', details.listNode);
clearTimeout(timer);
}, 100);
/** 初始化表格表头 */
const initTableSelect = () => {
for (const iterator of details.detailsColumnList) {
console.log('iterator :>> ', iterator);
iterator.checkarr = details[iterator.prop.replace('Name', '') + 'Option'] || [];
}
};
initTableSelect();
onMounted(() => {
/**
* 初始化获取本地缓存的编辑隐藏的列表
* 固定搭配不能更改
@ -293,6 +401,12 @@ onMounted(() => {
}
});
/** 转译数据 */
const initData = (data, row) => {
const _item = details[data + 'Option'].find(val => val.value == Number(row[data]));
row[data + 'Name'] = _item ? _item.label : '暂无数据';
};
/** 请求页面数据 */
const onLoad = async (params = {}) => {
try {
@ -306,6 +420,16 @@ const onLoad = async (params = {}) => {
const { code, data } = res.data;
if (code !== 200) return;
details.data = data.records;
for (const iterator of details.data) {
initData('scanStatus', iterator);
initData('type', iterator);
initData('isData', iterator);
initData('loadingAbnormal', iterator);
initData('unloadAbnormal', iterator);
initData('isSupple', iterator);
}
details.page.total = data.total;
} catch (error) {
console.log('error :>> ', error);
@ -314,9 +438,6 @@ const onLoad = async (params = {}) => {
}
};
details.pageInfo.loadId = $route.query.loadId;
onLoad();
/** 搜索 */
const searchChange = () => {
onLoad(details.page);
@ -405,44 +526,6 @@ const selectionChange = (list: any) => {
details.selectionList = list;
};
/** 表格表头输入框搜索 */
const newInputsc = (index, row) => {
details.newQuery[row.prop] = index;
onLoad(details.page);
};
/** 表格表头时间选择 */
const newTimesc = (index, row) => {
console.log(index, row);
if (!!index) {
index = dayjs(index).format('YYYY-MM-DD');
}
details.newQuery[row.prop] = index;
if (!index) {
delete details.newQuery[row.prop];
}
onLoad(details.page);
};
/** 表格表头输入框搜索 */
const newBtnsc = () => {};
/** 表格表头下拉框选择 */
const newSelectsc = (index, row) => {
details.newQuery[row.prop] = index;
if (!index) delete details.newQuery[row.prop];
if (row.prop === 'certificateTypeName') {
details.newQuery['certificateType'] = index;
if (!index) delete details.newQuery['certificateType'];
}
onLoad(details.page);
};
/** 表格表头复选框选择 */
const newSelectionChange = (list: any) => {
details.newSelectionList = list;
};
/** 每页数量改变执行的回调 */
const sizeChange = (pageSize: number) => {
details.page.pageSize = pageSize;
@ -477,24 +560,6 @@ const beforeClose = done => {
details.view = false;
};
/** 显示装车详情 */
const handleShowTruckLoadingDetails = ({ row }) => {
details.popUpShow.truckLoadingDetailVisited = true;
nextTick(() => {
// ,
const _node = document.querySelector('.truckLoadingDetailPopUp .maboxhi');
_node.style.height = '550px';
console.log('_node :>> ', _node);
});
};
/** 跳转零担补录 */
const handleShowzeroAdditionalRecording = ({ row }) => {
//
$router.push('/distribution/artery/zeroAdditionalRecording');
};
/** 新增中转 */
const addTransfer = async () => {
return null;
@ -530,13 +595,251 @@ const handleShowTransfer = async (_type: string) => {
});
};
watch($route, (newVal, oldVal) => {
/** 批量卸车 */
const handleBatchUnLoad = async () => {
try {
details.loadingObj.pageLoading = true;
if (details.selectionList.length === 0) return ElMessage.warning('请选择需要卸车的数据');
const myWarehouseData = await getMyCurrentWarehouse();
if (!myWarehouseData) return ElMessage.warning('请先选择一个仓库');
// Id
const myWarehouseId = myWarehouseData.warehouseId;
//
const _orderArr = [];
//
const _zeroArr = [];
//
let isHaveAbnormalData = false;
for (const iterator of details.selectionList) {
if (Number(iterator.scanStatus) === 1) {
//
if (Number(iterator.type) === 1) {
_orderArr.push({ orderPackageCode: iterator.scanCode });
} else {
_zeroArr.push({
waybillNo: iterator.waybillNo,
enterNum: iterator.num,
orderCode: iterator.orderCode,
});
}
//
if (!isHaveAbnormalData) {
isHaveAbnormalData = iterator.warehouseId === myWarehouseId;
}
}
}
if ([..._zeroArr, ..._orderArr].length === 0) return ElMessage.warning('没有符合要求的数据');
//
if (isHaveAbnormalData) {
const submitData = {
loadId: details.pageInfo.loadId,
unloadPackageList: _orderArr,
unloadZeroList: _zeroArr,
};
const res = await postBatchUnload(submitData);
const { code } = res.data;
if (code !== 200) return;
ElMessage.success('卸车成功');
onLoad();
return;
}
ElMessageBox.confirm('包含已卸车数据或计划不在本节点卸车的数据', '异常提交', {
confirmButtonText: '提交包含不在本节点数据',
cancelButtonText: '仅提交装车数据',
type: 'warning',
center: true,
distinguishCancelAndClose: true,
})
//
.then(async () => {
try {
details.loadingObj.pageLoading = true;
const submitData = {
loadId: details.pageInfo.loadId,
unloadPackageList: _orderArr,
unloadZeroList: _zeroArr,
};
const res = await postBatchUnload(submitData);
const { code } = res.data;
if (code !== 200) return;
ElMessage.success('卸车成功');
onLoad();
} catch (error) {
console.log('error :>> ', error);
} finally {
details.loadingObj.pageLoading = false;
}
})
//
.catch(async (action: Action) => {
if (action !== 'cancel') return;
try {
details.loadingObj.pageLoading = true;
const submitData = {
loadId: details.pageInfo.loadId,
unloadPackageList: _orderArr.filter(val => val.warehouseId === myWarehouseId),
unloadZeroList: _zeroArr.filter(val => val.warehouseId === myWarehouseId),
};
const res = await postBatchUnload(submitData);
const { code } = res.data;
if (code !== 200) return;
ElMessage.success('卸车成功');
onLoad();
} catch (error) {
console.log('error :>> ', error);
} finally {
details.loadingObj.pageLoading = false;
}
});
} catch (error) {
console.log('error :>> ', error);
} finally {
details.loadingObj.pageLoading = false;
}
};
/** 卸车 -- 订单 */
const handleOrderUnLoad = async ({ row }) => {
try {
details.loadingObj.pageLoading = true;
const myWarehouseData = await getMyCurrentWarehouse();
if (!myWarehouseData) return ElMessage.warning('请先选择一个仓库');
// Id
const myWarehouseId = myWarehouseData.warehouseId;
if (row.warehouseId !== myWarehouseId)
return (
ElMessageBox.confirm('包含已卸车数据或计划不在本节点卸车的数据', '异常提交', {
confirmButtonText: '提交包含不在本节点数据',
cancelButtonText: '取消',
type: 'warning',
center: true,
})
//
.then(async () => {
try {
details.loadingObj.pageLoading = true;
const submitData = {
loadId: details.pageInfo.loadId,
unloadPackageList: [{ orderPackageCode: row.scanCode }],
unloadZeroList: [],
};
const res = await postBatchUnload(submitData);
const { code } = res.data;
if (code !== 200) return;
ElMessage.success('卸车成功');
onLoad();
} catch (error) {
console.log('error :>> ', error);
} finally {
details.loadingObj.pageLoading = false;
}
})
);
const submitData = {
loadId: details.pageInfo.loadId,
unloadPackageList: [{ orderPackageCode: row.scanCode }],
unloadZeroList: [],
};
const res = await postBatchUnload(submitData);
const { code } = res.data;
if (code !== 200) return;
ElMessage.success('卸车成功');
onLoad();
} catch (error) {
console.log('error :>> ', error);
} finally {
details.loadingObj.pageLoading = false;
}
};
/** 卸车 -- 零担 */
const handleZeroUnLoad = async ({ row }) => {
const myWarehouseData = await getMyCurrentWarehouse();
if (!myWarehouseData) return ElMessage.warning('请先选择一个仓库');
if (myWarehouseData.warehouseId !== row.warehouseId)
return ElMessage.warning('未在目的仓, 无法卸车');
details.zeroItem = { ...row };
details.zeroItem.enterNum = row.num;
details.popUpShow.transferVisited = true;
};
/** 卸车 -- 零担 -- 提交 */
const handleZeroUnLoadSubmit = async () => {
try {
details.popUpShow.transferVisited = false;
details.loadingObj.pageLoading = true;
const submitData = {
loadId: details.pageInfo.loadId,
unloadPackageList: [],
unloadZeroList: [
{
waybillNo: details.zeroItem.waybillNo,
enterNum: details.zeroItem.num,
orderCode: details.zeroItem.orderCode,
},
],
};
const res = await postBatchUnload(submitData);
const { code } = res.data;
if (code !== 200) return;
ElMessage.success('卸车成功');
onLoad();
} catch (error) {
console.log('error :>> ', error);
} finally {
details.loadingObj.pageLoading = false;
}
};
watch(
$route,
(newVal, oldVal) => {
console.log('newVal :>> ', newVal);
console.log('oldVal :>> ', oldVal);
if (newVal.path !== '/distribution/artery/truckLoadingDetails') return;
details.pageInfo.loadId = $route.query.loadId;
details.pageInfo.type = $route.query.type;
console.log('details.pageInfo :>> ', details.pageInfo);
onLoad();
});
},
{
immediate: true,
}
);
</script>
<style scoped lang="scss">

9
src/views/distribution/inventory/distributionStockArticleDetails.vue

@ -310,17 +310,8 @@
<el-dialog title="二维码" :visible.sync="dialogVisible" width="780px" v-model="dialogVisible">
<div>
<div v-html="html"></div>
<!-- <div v-for="(item,index) in qrCodeObj">
<el-row>
<el-col :span="24" >
<el-image width="10" height="10" w-full :key="index" :src="item " alt="Preview Image"/>
</el-col>
</el-row>
</div> -->
</div>
<span slot="footer" class="dialog-footer">
<!-- <el-button type="primary" @click="ddd"> </el-button>-->
<el-button type="primary" @click="printTemplate"> </el-button>
<el-button @click="dialogVisible = false"> </el-button>
</span>

29
src/views/distribution/inventory/distrilbutionBillLadingList.vue

@ -53,13 +53,13 @@
@click="handleBillAdd"
>创建自提</el-button
>
<el-button
<!-- <el-button
type="primary"
icon="el-icon-plus"
v-if="permission.distrilbutionBillLadingList_sign"
@click="handleSign(null, 2)"
@click="handleLike(slotProps.scope.row, 'sign')"
>自提签收</el-button
>
> -->
<el-button
type="danger"
icon="el-icon-delete"
@ -69,7 +69,7 @@
>导出
</el-button>
<el-button type="primary" @click="printBatchOrder">批量打印</el-button>
<!-- <el-button type="primary" @click="printBatchOrder">批量打印</el-button> -->
</div>
<!-- 头部右侧按钮模块 -->
<div class="avue-crud__right">
@ -105,11 +105,13 @@
type="danger"
icon="el-icon-edit"
text
@click="handleSign(slotProps.scope, 1)"
@click="handleLike(slotProps.scope, 'sigin')"
v-if="
permission.distrilbutionBillLadingList_qs && slotProps.scope.row.conditions < 30
permission.distrilbutionBillLadingList_qs &&
Number(slotProps.scope.row.conditions) < 30 &&
slotProps.scope.row.printState
"
>签收</el-text
>确认提货</el-text
>
<el-text
type="primary"
@ -117,7 +119,8 @@
icon="el-icon-edit"
@click="handleEdits(slotProps.scope, '1')"
v-if="
permission.distrilbutionBillLadingList_edit && slotProps.scope.row.conditions < 20
permission.distrilbutionBillLadingList_edit &&
Number(slotProps.scope.row.conditions) < 20
"
>编辑提货信息</el-text
>
@ -127,13 +130,14 @@
icon="el-icon-edit"
@click="handleEdits(slotProps.scope, '2')"
v-if="
permission.distrilbutionBillLadingList_edit && slotProps.scope.row.conditions >= 20
permission.distrilbutionBillLadingList_edit &&
Number(slotProps.scope.row.conditions) === 20
"
>上传签收图片</el-text
>
<!-- <el-button size="small" type="danger" icon="el-icon-edit" text @click="handleDeleteOwn(slotProps.scope)">删除</el-button>-->
<el-text size="small" text @click="handlePreview(slotProps.scope.row)">打印</el-text>
<!-- <el-text size="small" text @click="handlePreview(slotProps.scope.row)">打印</el-text> -->
</template>
</tablecmt>
</el-row>
@ -914,11 +918,12 @@ export default {
console.log('删除!!', row);
},
//
handleLike(row) {
handleLike({ row }, type = 'view') {
this.$router.push({
path: '/distribution/inventory/distrilbutionBillLadingView',
query: {
id: row.row.id,
id: row.id,
type,
},
});
},

324
src/views/distribution/inventory/distrilbutionBillLadingView.vue

@ -1,6 +1,6 @@
<template>
<basic-container>
<div class="avue-crud">
<div class="avue-crud" v-loading="pageLoading">
<el-divider>基本信息</el-divider>
<!-- <avue-form :option="propertyoption" ref="myForm" v-model="dataForm" @row-update="rowUpdate" >-->
<!-- <template #input="{row}">-->
@ -32,6 +32,28 @@
<span>联系电话 {{ data.customerTelephone }} </span>
</el-col>
</el-row>
<el-divider>签收图片</el-divider>
<div class="siginImg_container">
<div v-for="item in siginImgList" :key="item.dictValue">
<div class="siginImg_title">{{ item.dictValue }}</div>
<el-image
v-for="(value, index) in item.imgList"
class="siginImg"
style="width: 100px; height: 100px"
:src="value.urlRoute"
:zoom-rate="1.2"
:max-scale="7"
:min-scale="0.2"
:preview-src-list="item.imgList.map(val => val.urlRoute)"
:initial-index="4"
fit="cover"
/>
</div>
</div>
<el-divider>订单列表</el-divider>
<el-tabs type="border-card" v-model="activeTab" @tab-click="handleTabClick">
<el-tab-pane label="订 单 列 表" name="tab2">
@ -126,7 +148,22 @@
</el-tab-pane>
</el-tabs>
</div>
<div class="footer_container" v-if="$route.query.type === 'sigin'">
<el-button type="primary" icon="Position" @click="handleSigin">确认提货</el-button>
</div>
</basic-container>
<!-- 二维码打印 -->
<el-dialog title="二维码" :visible.sync="dialogVisible" width="780px" v-model="dialogVisible">
<div>
<div v-html="html"></div>
</div>
<span slot="footer" class="dialog-footer">
<el-button type="primary" @click="printTemplate"> </el-button>
<el-button @click="dialogVisible = false"> </el-button>
</span>
</el-dialog>
</template>
<script>
@ -138,6 +175,7 @@ import {
getPackDetail,
getInventoryDetail,
getViewDetailOwn,
getBillLadingDetail,
getOrderDetail,
} from '@/api/distribution/distrilbutionBillLading';
import option from '@/option/basic/basicPdarecords';
@ -205,52 +243,52 @@ export default {
sortable: true,
head: false,
},
// {
// prop: 'orderCode',//
// label: '',
// type: 2,
// values: '',
// width: '150',
// checkarr: [],
// fixed: true,
// sortable: true,
// head: false,
// },
{
prop: 'totalNumber', //
label: '订单总数',
type: 2,
values: '',
width: '150',
checkarr: [],
fixed: false,
sortable: true,
head: false,
},
// {
// prop: 'orderCode',//
// label: '',
// type: 2,
// values: '',
// width: '150',
// checkarr: [],
// fixed: true,
// sortable: true,
// head: false,
// },
// {
// prop: 'orderCode',//
// label: '',
// type: 2,
// values: '',
// width: '150',
// checkarr: [],
// fixed: true,
// sortable: true,
// head: false,
// },
{
prop: 'handQuantity', //
label: '应提货件数',
type: 2,
values: '',
width: '150',
checkarr: [],
fixed: false,
sortable: true,
head: false,
},
{
prop: 'pickUpQuantity', //
label: '提货件数',
type: 2,
values: '',
width: '150',
checkarr: [],
fixed: false,
sortable: true,
head: false,
},
// {
// prop: 'orderCode',//
// label: '',
// type: 2,
// values: '',
// width: '150',
// checkarr: [],
// fixed: true,
// sortable: true,
// head: false,
// },
{
prop: 'conditions', //
label: '提货状态',
type: 2,
values: '',
width: '150',
checkarr: [],
fixed: false,
sortable: true,
head: false,
},
{
prop: 'descriptionGoods',
label: '货物名称',
@ -395,50 +433,50 @@ export default {
sortable: true,
head: false,
},
// {
// prop: 'cargoNumber',//
// label: '',
// type: 2,
// values: '',
// width: '150',
// checkarr: [],
// fixed: false,
// sortable: true,
// head: false,
// },
// {
// prop: 'cargoNumber',//
// label: '',
// type: 2,
// values: '',
// width: '150',
// checkarr: [],
// fixed: false,
// sortable: true,
// head: false,
// },
// {
// prop: 'cargoNumber',//
// label: '',
// type: 2,
// values: '',
// width: '150',
// checkarr: [],
// fixed: false,
// sortable: true,
// head: false,
// },
// {
// prop: 'cargoNumber',//
// label: '',
// type: 2,
// values: '',
// width: '150',
// checkarr: [],
// fixed: false,
// sortable: true,
// head: false,
// },
{
prop: 'quantity', //
label: '应提件数',
type: 2,
values: '',
width: '150',
checkarr: [],
fixed: false,
sortable: true,
head: false,
},
{
prop: 'stockStatus', //
label: '备货状态',
type: 2,
values: '',
width: '150',
checkarr: [],
fixed: false,
sortable: true,
head: false,
},
{
prop: 'pickUpQuantity', //
label: '提货件数',
type: 2,
values: '',
width: '150',
checkarr: [],
fixed: false,
sortable: true,
head: false,
},
{
prop: 'pickupStatus', //
label: '提货状态',
type: 2,
values: '',
width: '150',
checkarr: [],
fixed: false,
sortable: true,
head: false,
},
{
prop: 'cargoUnit',
@ -541,7 +579,6 @@ export default {
// head: false,
// },
// {
// prop: 'orderPackageCode',//
// label: '',
@ -730,6 +767,28 @@ export default {
sortable: true,
head: false,
},
{
prop: 'stockupCreateUser',
label: '扫描人',
type: 2,
values: '',
width: '150',
checkarr: [],
fixed: false,
sortable: true,
head: false,
},
{
prop: 'stockuppickUpTime',
label: '扫描时间',
type: 2,
values: '',
width: '150',
checkarr: [],
fixed: false,
sortable: true,
head: false,
},
],
},
height: 300,
@ -750,6 +809,7 @@ export default {
deliverydata: {
reservationList: [],
},
dialogVisible: false, //
//
loading: false,
//
@ -1208,6 +1268,25 @@ export default {
orddata: [],
//
inventorydata: [],
siginImgList: [
{
state: 1,
dictValue: '提货证件',
imgList: [],
},
{
state: 2,
dictValue: '文员确认',
imgList: [],
},
{
state: 3,
dictValue: '库管签收',
imgList: [],
},
],
/** 页面Loading */
pageLoading: false,
};
},
watch: {
@ -1429,6 +1508,28 @@ export default {
this.packpage.pageSize = pageSize;
this.handlePackage(this.packpage);
},
/** 确认提货 */
handleSigin() {
this.$confirm('确定签收吗?', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning',
}).then(async () => {
try {
this.pageLoading = true;
const res = await getBillLadingDetail(this.$route.query.id);
const { code } = res.data;
if (code !== 200) return;
this.$message.success('签收成功');
this.$store.commit('DEL_TAG_CURRENT');
this.$router.back('-1');
} catch (error) {
console.log('error :>> ', error);
} finally {
this.pageLoading = false;
}
});
},
onLoad() {
//
if (!!this.$route.query.id) {
@ -1439,6 +1540,12 @@ export default {
const data = res.data.data[0];
//this.deliverydata = data
this.data = data;
for (let item of data.printList) {
this.siginImgList
.find(val => val.state === Number(item.genre))
.imgList.push({ ...item, urlRoute: item.site });
}
console.log('this.siginImgList :>> ', this.siginImgList);
});
this.handleOrder(this.ordpage);
/*this.handlePackage(this.packpage);
@ -1449,3 +1556,40 @@ export default {
},
};
</script>
<style lang="scss" scoped>
//
:deep(.el-divider__text.is-center) {
font-size: 20px;
font-weight: bold;
color: var(--el-color-primary);
}
//
.siginImg_container {
display: flex;
> div {
flex: 1;
}
}
.siginImg_title {
color: var(--el-color-primary);
}
//
.siginImg {
margin: 5px;
border-radius: 5px;
margin-left: 0px;
}
.footer_container {
position: fixed;
bottom: 20px;
left: 0;
width: 100%;
text-align: center;
}
</style>

Loading…
Cancel
Save