Browse Source

预约弹窗图片上传,预约详情页面

fix_bug_pro20231227
13208366016 1 year ago
parent
commit
50817f8eac
  1. 12
      src/api/distribution/distributionDeliveryList.js
  2. 16
      src/api/distribution/distributionReservation.js
  3. 16
      src/api/distribution/distributionSignfor.js
  4. 10
      src/api/distribution/distrilbutionBillLading.js
  5. 28
      src/views/distribution/deliverylist/distributionDeliveryList.vue
  6. 46
      src/views/distribution/deliverylist/distributionDeliveryListdis.vue
  7. 70
      src/views/distribution/deliverylist/distributionDeliveryListmar.vue
  8. 124
      src/views/distribution/inventory/distrilbutionBillLading.vue
  9. 27
      src/views/distribution/inventory/distrilbutionBillLadingList.vue
  10. 40
      src/views/distribution/reservation/reservation.vue
  11. 27
      src/views/distribution/signdetail/distributionSigndetail.vue
  12. 32
      src/views/distribution/signfor/distributionSignfor.vue
  13. 34
      src/views/distribution/signfor/distributionSignfortreat.vue

12
src/api/distribution/distributionDeliveryList.js

@ -22,6 +22,18 @@ export const getPage = (current, size, params) => {
},
});
};
export const getDeliveryListExport = row => {
return request({
url: '/api/logpm-distribution/deliveryList/export-distributionDeliveryList',
method: 'get',
params: {
...row
},
responseType: 'blob',
})
};
export const getstatistics = (current, size, params) => {
return request({
url: '/api/logpm-distribution/deliveryList/statistics',

16
src/api/distribution/distributionReservation.js

@ -23,6 +23,22 @@ export const getDetail = (id) => {
})
}
/**
* 预约数据导出
* @param row
* @returns {AxiosPromise}
*/
export const reservationExport = (row) => {
return request({
url: '/api/logpm-distribution/reservation/export-distrbutionReservation',
method: 'get',
params: {
...row
},
responseType: 'blob',
})
}
export const remove = (ids) => {
return request({
url: '/api/logpm-distribution/reservation/remove',

16
src/api/distribution/distributionSignfor.js

@ -22,6 +22,22 @@ export const getPage = (current, size, params) => {
}
})
}
/**
* 导出
* @param row
* @returns {AxiosPromise}
*/
export const getSignforExport = row => {
return request({
url: '/api/logpm-distribution/signfor/export-export-distributionSignfor',
method: 'get',
params: {
...row
},
responseType: 'blob',
})
};
export const getListOrder = (current, size, params) => {
return request({
url: '/api/logpm-distribution/reservationStockarticle/orderpage',

10
src/api/distribution/distrilbutionBillLading.js

@ -69,6 +69,16 @@ export const getListOwnNUm = params => {
},
});
};
//导出
export const getBillLadingExport = params => {
return request({
url: '/api/logpm-distribution/distrilbutionBillLading/listNum',
method: 'get',
params: {
...params,
},
});
};
export const getDetail = id => {
return request({

28
src/views/distribution/deliverylist/distributionDeliveryList.vue

@ -164,6 +164,13 @@
>批量打印</el-button
> -->
<!-- <el-button type="danger" icon="el-icon-delete" @click="handleDelete" plain> </el-button>-->
<el-button
type="danger"
icon="el-icon-download"
@click="handleExportInfo"
plain
>导出
</el-button>
</div>
<!-- 头部右侧按钮模块 -->
<div class="avue-crud__right">
@ -328,7 +335,7 @@ import {
remove,
getPage,
getstatistics,
printBatch,
printBatch, getDeliveryListExport
} from '@/api/distribution/distributionDeliveryList';
import option from '@/option/distribution/distributionDeliveryList';
import { mapGetters } from 'vuex';
@ -337,6 +344,8 @@ import { addIncrement } from '@/api/distribution/distributionStockArticle';
import { getDriverList } from '@/api/basicdata/basicdataDriverArtery';
import { getVehicleList } from '@/api/basicdata/basicdataVehicle';
import print from '@/utils/print';
import { getBillLadingExport } from '@/api/distribution/distrilbutionBillLading';
import { downloadXls } from '@/utils/util';
export default {
data() {
@ -702,6 +711,23 @@ export default {
},
},
methods: {
/**
* 导出
* */
handleExportInfo(){
let row = {};
// if (!!this.ids) {
// row.ids = this.ids;
// }
const ids = this.selectionList.join(',');
row.ids = ids;
// console.log("<><><>>",ids);
getDeliveryListExport(row).then(res => {
// console.log(res.data);
downloadXls(res.data, '全部配送计划数据.xlsx');
});
},
getvehicleData() {
return new Promise((rv, rev) => {
getVehicleList(1, 10, '').then(res => {

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

@ -107,6 +107,13 @@
<el-button type="primary" @click="toDeliveryPlan">新增商配</el-button>
<el-button type="primary" @click="printBatchOrder">批量打印</el-button>
<el-button
type="danger"
icon="el-icon-download"
@click="handleExportInfo"
plain
>导出
</el-button>
</div>
<!-- 头部右侧按钮模块 -->
<div class="avue-crud__right">
@ -129,6 +136,7 @@
@selection="selectionsc"
>
<template #default="slotProps">
<el-text size="small" @click="printOrder(slotProps.scope.row)"> </el-text>
<el-text size="small" @click="editsolt(slotProps.scope)"> </el-text>
<el-text size="small" @click="editmap(slotProps.scope)"> </el-text>
<el-text
@ -317,7 +325,7 @@ import {
remove,
getPage,
getstatistics,
printBatch,
printBatch, getDeliveryListExport
} from '@/api/distribution/distributionDeliveryList';
import option from '@/option/distribution/distributionDeliveryList';
import { mapGetters } from 'vuex';
@ -326,6 +334,8 @@ import { addIncrement } from '@/api/distribution/distributionStockArticle';
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 } from '@/utils/util';
export default {
data() {
@ -717,6 +727,20 @@ export default {
},
},
methods: {
/**
* 导出
* */
handleExportInfo(){
let row = {};
const ids = this.selectionList.join(',');
row.ids = ids;
row.type = '1';
getDeliveryListExport(row).then(res => {
console.log(res.data);
downloadXls(res.data, '商配配送计划数据.xlsx');
});
},
getvehicleData() {
return new Promise((rv, rev) => {
getVehicleList(1, 10, '').then(res => {
@ -1132,6 +1156,26 @@ export default {
}
},
/**
* 获取单个打印页面
*/
async printOrder(row) {
console.log('row :>> ', row);
const res = await printBatch({ ids: row.id, type: 1 });
console.log('res :>> ', res);
const {
data: { code, data },
} = res;
if (code === 200) {
//
this.html = '';
data.forEach(item => {
this.html += item.templateHtml;
});
this.isShow = true;
}
},
onLoad(page, params = {}) {
this.loading = true;
this.query.type = '1';

70
src/views/distribution/deliverylist/distributionDeliveryListmar.vue

@ -3,11 +3,11 @@
<div class="avue-crud">
<el-row v-if="!search">
<!-- 查询模块 -->
<el-form :inline="true" :model="query" class='fr-fo'>
<el-form :inline="true" :model="query" class="fr-fo">
<el-form-item label="配送车次:">
<el-input v-model="query.trainNumber" placeholder="请输入配送车次"></el-input>
</el-form-item>
<el-form-item label="配送日期:" class='el-times'>
<el-form-item label="配送日期:" class="el-times">
<el-date-picker v-model="query.taskTime" type="date" placeholder="选择日期">
</el-date-picker>
</el-form-item>
@ -62,7 +62,7 @@
</el-select>
</el-form-item>
<!-- 查询按钮 -->
<el-form-item class='el-btn'>
<el-form-item class="el-btn">
<el-button type="primary" icon="el-icon-search" @click="searchChange"> </el-button>
<el-button icon="el-icon-delete" @click="searchReset()"> </el-button>
</el-form-item>
@ -105,6 +105,13 @@
>批量打印</el-button
>
<!-- <el-button type="danger" icon="el-icon-delete" @click="handleDelete" plain> </el-button>-->
<el-button
type="danger"
icon="el-icon-download"
@click="handleExportInfo"
plain
>导出
</el-button>
</div>
<!-- 头部右侧按钮模块 -->
<div class="avue-crud__right">
@ -127,6 +134,7 @@
@selection="selectionsc"
>
<template #default="slotProps">
<el-text size="small" @click="printOrder(slotProps.scope.row)"> </el-text>
<el-text size="small" @click="editsolt(slotProps.scope)"> </el-text>
<el-text size="small" @click="editmap(slotProps.scope)"> </el-text>
<el-text
@ -315,7 +323,7 @@ import {
remove,
getPage,
getstatistics,
printBatch,
printBatch, getDeliveryListExport
} from '@/api/distribution/distributionDeliveryList';
import option from '@/option/distribution/distributionDeliveryList';
import { mapGetters } from 'vuex';
@ -324,6 +332,8 @@ import { addIncrement } from '@/api/distribution/distributionStockArticle';
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 } from '@/utils/util';
export default {
data() {
@ -693,6 +703,20 @@ export default {
},
},
methods: {
/**
* 导出
* */
handleExportInfo(){
let row = {};
const ids = this.selectionList.join(',');
row.ids = ids;
row.type = '2';
getDeliveryListExport(row).then(res => {
console.log(res.data);
downloadXls(res.data, '市配配送计划数据.xlsx');
});
},
getvehicleData() {
return new Promise((rv, rev) => {
getVehicleList(1, 10, '').then(res => {
@ -1132,6 +1156,26 @@ export default {
}
},
/**
* 获取单个打印页面
*/
async printOrder(row) {
console.log('row :>> ', row);
const res = await printBatch({ ids: row.id, type: 1 });
console.log('res :>> ', res);
const {
data: { code, data },
} = res;
if (code === 200) {
//
this.html = '';
data.forEach(item => {
this.html += item.templateHtml;
});
this.isShow = true;
}
},
/**
* 打印
*/
@ -1184,7 +1228,7 @@ export default {
}
}
.avue-crud__header {
// align-items: flex-end !important;
// align-items: flex-end !important;
}
//
.el-times {
@ -1197,19 +1241,19 @@ export default {
margin-right: 0 !important;
:deep(.el-form-item__content) {
width: 180px;
justify-content: flex-end
justify-content: flex-end;
}
}
.avue-crud__right{
.avue-crud__right {
display: flex;
align-items: center;
align-items: center;
}
.fr-fo{
display:flex;
.fr-fo {
display: flex;
}
:deep(.avue-crud__header){
.avue-crud__left{
margin-top:0 !important;
:deep(.avue-crud__header) {
.avue-crud__left {
margin-top: 0 !important;
}
}
</style>

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

@ -1,125 +1,5 @@
<template>
<basic-container>
<!-- <div class="avue-crud">
<el-row v-if="!search" style="padding:6px 18px">
&lt;!&ndash; 查询模块 &ndash;&gt;
<el-form :inline="true" :model="query">
<el-form-item label="提货证件:">
<el-input v-model="query.deliveryDocument" placeholder="请输入提货证件"></el-input>
</el-form-item>
<el-form-item label="证件类型:">
<el-input v-model="query.certificateType" placeholder="请输入证件类型"></el-input>
</el-form-item>
&lt;!&ndash; 查询按钮 &ndash;&gt;
<el-form-item>
<el-button type="primary" icon="el-icon-search" @click="searchChange"> </el-button>
<el-button icon="el-icon-delete" @click="searchReset()"> </el-button>
</el-form-item>
</el-form>
</el-row>
<el-row>
<div class="avue-crud__header">
&lt;!&ndash; 头部左侧按钮模块 &ndash;&gt;
<div class="avue-crud__left">
<el-button type="primary" icon="el-icon-plus" @click="handleAdd"> </el-button>
<el-button type="danger" icon="el-icon-delete" @click="handleDelete" plain> </el-button>
</div>
&lt;!&ndash; 头部右侧按钮模块 &ndash;&gt;
<div class="avue-crud__right">
<el-button icon="el-icon-refresh" @click="searchChange" circle></el-button>
<el-button icon="el-icon-search" @click="searchHide" circle></el-button>
</div>
</div>
</el-row>
<el-row>
&lt;!&ndash; 列表模块 &ndash;&gt;
<el-table ref="table" v-loading="loading"
@selection-change="selectionChange"
:data="data"
:height="height"
style="width: 100%"
:border="option.border">
<el-table-column type="selection" v-if="option.selection" width="55" align="center"></el-table-column>
<el-table-column type="expand" v-if="option.expand" align="center"></el-table-column>
<el-table-column v-if="option.index" label="#" type="index" width="50" align="center">
</el-table-column>
<template v-for="(item,index) in option.column">
&lt;!&ndash; table字段 &ndash;&gt;
<el-table-column v-if="item.hide!==true"
:prop="item.prop"
:label="item.label"
:width="item.width"
:key="index">
</el-table-column>
</template>
&lt;!&ndash; 操作栏模块 &ndash;&gt;
<el-table-column prop="menu" label="操作" :width="220" align="center">
<template #="{row}">
<el-button type="primary" text icon="el-icon-view" @click="handleView(row)">查看</el-button>
<el-button type="primary" text icon="el-icon-edit" @click="handleEdit(row)">编辑</el-button>
<el-button type="primary" text icon="el-icon-delete" @click="rowDel(row)">删除</el-button>
</template>
</el-table-column>
</el-table>
</el-row>
<el-row>
<div class="avue-crud__pagination" style="width:100%">
&lt;!&ndash; 分页模块 &ndash;&gt;
<el-pagination align="right"
background
@size-change="sizeChange"
@current-change="currentChange"
:current-page="page.currentPage"
:page-sizes="[30, 50,80, 120]"
:page-size="page.pageSize"
layout="total, sizes, prev, pager, next, jumper"
:total="page.total">
</el-pagination>
</div>
</el-row>
&lt;!&ndash; 表单模块 &ndash;&gt;
<el-dialog :title="title"
v-model="box"
width="50%"
:before-close="beforeClose"
append-to-body>
<el-form :disabled="view" ref="form" :model="form" label-width="80px">
&lt;!&ndash; 表单字段 &ndash;&gt;
<el-form-item label="提货时间" prop="pickUpTime">
<el-input v-model="form.pickUpTime" placeholder="请输入提货时间"/>
</el-form-item>
<el-form-item label="提货人" prop="consignee">
<el-input v-model="form.consignee" placeholder="请输入提货人"/>
</el-form-item>
<el-form-item label="提货车牌" prop="pickUpPlate">
<el-input v-model="form.pickUpPlate" placeholder="请输入提货车牌"/>
</el-form-item>
<el-form-item label="提货证件" prop="deliveryDocument">
<el-input v-model="form.deliveryDocument" placeholder="请输入提货证件"/>
</el-form-item>
<el-form-item label="证件类型" prop="certificateType">
<el-select v-model="form.certificateType" clearable placeholder="请选择证件类型">
<el-option
v-for="item in certificateTypeData"
:key="item.dictKey"
:label="item.dictValue"
:value="item.dictKey">
</el-option>
</el-select>
</el-form-item>
<el-form-item label="费用合计" prop="totalCost">
<el-input v-model="form.totalCost" placeholder="请输入费用合计"/>
</el-form-item>
</el-form>
&lt;!&ndash; 表单按钮 &ndash;&gt;
<template #footer>
<span v-if="!view" class="dialog-footer">
<el-button type="primary" icon="el-icon-circle-check" @click="handleSubmit"> </el-button>
<el-button icon="el-icon-circle-close" @click="box = false"> </el-button>
</span>
</template>
</el-dialog>
</div>-->
<div class="avue-crud" :style="`height:` + height + ';overflow:auto;'">
<el-form :disabled="view" ref="form" :model="form" label-width="120px" :rules="rules">
<!-- 表单字段 -->
@ -3053,8 +2933,8 @@ export default {
const zeroOrder = val;
// id
zeroOrder.stockArticleId = val.stockArticleId;
//
zeroOrder.maxNum = val.quantity;
// ()
zeroOrder.maxNum = val.quantity - val.deliveryQuantity;
// ,
zeroOrder.tiQuantity = val.libraryQuantity;
return zeroOrder;

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

@ -50,8 +50,14 @@
>创建自提</el-button
>
<el-button type="primary" icon="el-icon-plus" @click="handleSign(null, 2)"
>自提签收</el-button
>
>自提签收</el-button>
<el-button
type="danger"
icon="el-icon-delete"
@click="handleExportInfo"
plain
>导出
</el-button>
</div>
<!-- 头部右侧按钮模块 -->
<div class="avue-crud__right">
@ -332,13 +338,14 @@ import {
remove,
getListOwn,
getBillLadingDetail,
getListOwnNUm,
getListOwnNUm, getBillLadingExport
} from '@/api/distribution/distrilbutionBillLading';
import option from '@/option/distribution/distrilbutionBillLading';
import { mapGetters } from 'vuex';
import { getDictionaryBiz } from '@/api/system/dict';
import { getToken } from '@/utils/auth';
import dayjs from 'dayjs';
import { downloadXls } from '@/utils/util';
export default {
data() {
@ -727,6 +734,20 @@ export default {
},
},
methods: {
/**
* 导出
* */
handleExportInfo(){
let row = {};
if (!!this.ids) {
row.ids = this.ids;
}
getBillLadingExport(row).then(res => {
console.log(res.data);
downloadXls(res.data, '已确定预约单数据.xlsx');
});
},
showdrawer(value) {
this.drawerShow = value;
},

40
src/views/distribution/reservation/reservation.vue

@ -68,6 +68,13 @@
plain
>批量转配送
</el-button>
<el-button
type="danger"
icon="el-icon-delete"
@click="handleExportInfo"
plain
>导出
</el-button>
</div>
<!-- 头部右侧按钮模块 -->
<div class="avue-crud__right">
@ -210,6 +217,14 @@
plain
>批量打印
</el-button>
<el-button
type="danger"
icon="el-icon-delete"
@click="handleExportInfo"
plain
>导出
</el-button>
</div>
<!-- 头部右侧按钮模块 -->
<div class="avue-crud__right">
@ -416,7 +431,7 @@ import {
confirms,
addReservations,
cancelReservation,
patchPrintList,
patchPrintList, reservationExport
} from '@/api/distribution/distributionReservation';
import option from '@/option/distribution/distributionReservation';
import { mapGetters } from 'vuex';
@ -428,6 +443,7 @@ import { getListTeam } from '@/api/basicdata/basicdataTeamGroup';
import { getStockUpArea, stockUp } from '@/api/basicdata/basicdataGoodsArea';
import dayjs from 'dayjs';
import print from '@/utils/print';
import { downloadXls } from '@/utils/util';
export default {
data() {
@ -1025,6 +1041,28 @@ export default {
},
},
methods: {
/**
* 导出
* */
handleExportInfo(type){
let row = {};
if (!!this.ids) {
row.ids = this.ids;
}
let nulName ;
if(type === 1){
//
nulName = '待确定预约单数据.xlsx';
}else{
//
nulName = '已确定预约单数据.xlsx';
}
reservationExport(row).then(res => {
console.log(res.data);
downloadXls(res.data, nulName);
});
},
showdrawer(value) {
this.drawerShow = value;
},

27
src/views/distribution/signdetail/distributionSigndetail.vue

@ -7,6 +7,13 @@
<div class="avue-crud__left">
<!-- <el-button type="primary" icon="el-icon-plus" @click="handleAdd"> </el-button>-->
<!-- <el-button type="danger" icon="el-icon-delete" @click="handleDelete" plain> </el-button>-->
<el-button
type="danger"
icon="el-icon-download"
@click="handleExportInfo"
plain
>导出
</el-button>
</div>
<!-- 头部右侧按钮模块 -->
<div class="avue-crud__right">
@ -104,6 +111,9 @@ import option from '@/option/distribution/distributionSigndetail';
import { mapGetters } from 'vuex';
import dayjs from 'dayjs';
import { getDictionaryBiz } from '@/api/system/dict';
import { getDeliveryListExport } from '@/api/distribution/distributionDeliveryList';
import { downloadXls } from '@/utils/util';
import { getSignforExport } from '@/api/distribution/distributionSignfor';
export default {
data() {
@ -461,6 +471,23 @@ export default {
},
},
methods: {
/**
* 导出
* */
handleExportInfo(){
let row = {};
// if (!!this.ids) {
// row.ids = this.ids;
// }
const ids = this.selectionList.join(',');
row.ids = ids;
// console.log("<><><>>",ids);
getSignforExport(row).then(res => {
// console.log(res.data);
downloadXls(res.data, '签收明细数据.xlsx');
});
},
showdrawer(value) {
this.drawerShow = value;
},

32
src/views/distribution/signfor/distributionSignfor.vue

@ -75,7 +75,15 @@
<el-row>
<div class="avue-crud__header">
<!-- 头部左侧按钮模块 -->
<div class="avue-crud__left"></div>
<div class="avue-crud__left">
<el-button
type="danger"
icon="el-icon-download"
@click="handleExportInfo"
plain
>导出
</el-button>
</div>
<!-- 头部右侧按钮模块 -->
<div class="avue-crud__right">
<el-button icon="el-icon-refresh" @click="searchChange" circle></el-button>
@ -191,7 +199,7 @@ import {
update,
remove,
getPage,
getstatistics,
getstatistics, getSignforExport
} from '@/api/distribution/distributionSignfor';
import option from '@/option/distribution/distributionSignfor';
import { mapGetters } from 'vuex';
@ -200,6 +208,8 @@ import dayjs from 'dayjs';
import { getVehicleList } from '@/api/basicdata/basicdataVehicle';
import { getDriverList } from '@/api/basicdata/basicdataDriverArtery';
import { getDeliveryListExport } from '@/api/distribution/distributionDeliveryList';
import { downloadXls } from '@/utils/util';
export default {
data() {
return {
@ -562,6 +572,24 @@ export default {
},
},
methods: {
/**
* 导出
* */
handleExportInfo(){
let row = {};
// if (!!this.ids) {
// row.ids = this.ids;
// }
const ids = this.selectionList.join(',');
row.ids = ids;
row.signingStatus = '2';
// console.log("<><><>>",ids);
getSignforExport(row).then(res => {
// console.log(res.data);
downloadXls(res.data, '签收数据.xlsx');
});
},
showdrawer(value) {
this.drawerShow = value;
},

34
src/views/distribution/signfor/distributionSignfortreat.vue

@ -103,6 +103,16 @@
<!-- <el-button type="danger" icon="el-icon-delete" @click="handleDelete" plain-->
<!-- > </el-button-->
<!-- >-->
<el-button
type="danger"
icon="el-icon-download"
@click="handleExportInfo"
plain
>导出
</el-button>
</div>
<!-- 头部右侧按钮模块 -->
<div class="avue-crud__right">
@ -466,14 +476,16 @@ import {
getPage,
getstatistics,
loadingAbnormalPackageListDetail,
loadingAbnormalPackageListAuditing,
loadingAbnormalPackageListAuditing, getSignforExport
} from '@/api/distribution/distributionSignfor';
import { update as updatesign } from '@/api/distribution/distributionSignfor';
import option from '@/option/distribution/distributionSignfor';
import { mapGetters } from 'vuex';
import { getDictionaryBiz } from '@/api/system/dict';
import dayjs from 'dayjs';
import { getToken } from '@/utils/auth';
import { getDeliveryListExport } from '@/api/distribution/distributionDeliveryList';
import { downloadXls } from '@/utils/util';
export default {
data() {
return {
@ -1373,6 +1385,24 @@ export default {
},
},
methods: {
/**
* 导出
* */
handleExportInfo(){
let row = {};
// if (!!this.ids) {
// row.ids = this.ids;
// }
const ids = this.selectionList.join(',');
row.ids = ids;
row.signingStatus = '1';
// console.log("<><><>>",ids);
getSignforExport(row).then(res => {
// console.log(res.data);
downloadXls(res.data, '待签收数据.xlsx');
});
},
showdrawer(value) {
this.drawerShow = value;
},

Loading…
Cancel
Save