You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 

1122 lines
33 KiB

<template>
<basic-container>
<div class="avue-crud">
<el-row v-if="!search" style="padding: 6px 18px">
<!-- 查询模块 -->
<el-form :inline="true" :model="query">
<el-form-item label="配送车次:">
<el-input v-model="query.trainNumber" placeholder="请输入配送车次"></el-input>
</el-form-item>
<el-form-item label="配送日期:">
<el-date-picker v-model="query.taskTime" type="date" placeholder="选择日期">
</el-date-picker>
</el-form-item>
<!-- <el-form-item label="配送类型:">-->
<!-- <el-select v-model="query.businessType" placeholder="请选择业务类型">-->
<!-- <el-option-->
<!-- :key="'1'"-->
<!-- :value="'商配'">商配-->
<!-- </el-option>-->
<!-- <el-option-->
<!-- :key="'2'"-->
<!-- :value="'市配'">市配-->
<!-- </el-option>-->
<!-- </el-select>-->
<!-- </el-form-item>-->
<el-form-item label="配送种类:">
<el-select v-model="query.deliveryKind" placeholder="请选择业务类型">
<el-option :key="'1'" :value="'自主配送'">自主配送 </el-option>
<el-option :key="'2'" :value="'外协配送'">外协配送 </el-option>
</el-select>
</el-form-item>
<el-form-item label="配送司机:">
<el-select
v-model="query.driverName"
filterable
placeholder="请输入司机名称"
:loading="loading"
>
<el-option
v-for="item in driverData"
:key="item.dictKey"
:label="item.dictValue"
:value="item.dictValue"
>
</el-option>
</el-select>
</el-form-item>
<el-form-item label="配送车辆:">
<el-select
v-model="query.vehicleName"
filterable
placeholder="请输入司机名称"
:loading="loading"
>
<el-option
v-for="item in vehicleData"
:key="item.dictKey"
:label="item.dictValue"
:value="item.dictValue"
>
</el-option>
</el-select>
</el-form-item>
<!-- 查询按钮 -->
<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 :gutter="24" class="rows">
<!-- <el-col :xl="14" :lg="7" :md="8" :sm="24" >-->
<!-- <span style="padding-left: 10%" >配送总车次:{{statistics.vehiclesNub}}/总包件数:{{statistics.deliveriesTotal}}/总库存品数:{{statistics.dinventoryTotal}} </span>-->
<!-- </el-col>-->
<el-col :xl="10" :lg="7" :md="8" :sm="24">
<span
>市配总车次:{{ statistics.marketNub }}/总包件数:{{
statistics.marketTotal
}}/总库存品数:{{ statistics.minventoryTotal }}</span
>
</el-col>
</el-row>
<el-row style="margin-top: 30px">
<div class="avue-crud__header">
<!-- 头部左侧按钮模块 -->
<div class="avue-crud__left" style="margin-top: 20px">
<el-button type="primary" icon="el-icon-plus" @click="printBatchOrder"
>批量打印</el-button
>
<!-- <el-button type="danger" icon="el-icon-delete" @click="handleDelete" plain>删 除</el-button>-->
</div>
<!-- 头部右侧按钮模块 -->
<div class="avue-crud__right">
<el-button icon="el-icon-refresh" @click="searchChange" circle></el-button>
<el-button icon="Operation" @click="showdrawer(true)" circle></el-button>
<el-button icon="el-icon-search" @click="searchHide" circle></el-button>
</div>
</div>
</el-row>
<el-row>
<!-- 列表模块 -->
<tablecmt
:columnList="columnList"
:tableData="data"
:loading="loading"
@inputTxt="inputsc"
@timeCheck="timesc"
@btnCheck="btnsc"
@selectCheck="selectsc"
@selection="selectionsc"
>
<template #default="slotProps">
<el-text size="small" @click="editsolt(slotProps.scope)">查 看</el-text>
<el-text size="small" @click="editmap(slotProps.scope)">地 图</el-text>
<el-text
size="small"
v-if="
slotProps.scope.row.deliveryStatusName !== '已完成' ||
slotProps.scope.row.deliveryStatus !== '3'
"
@click="handleEdit(slotProps.scope)"
>编 辑</el-text
>
<!-- <el-button size="small" @click="costadd(slotProps.scope)">费 用 增 项</el-button>-->
</template>
</tablecmt>
<!-- <el-table ref="table" v-loading="loading"-->
<!-- @selection-change="selectionChange"-->
<!-- :data="data"-->
<!-- :height="height"-->
<!-- style="width: 100%"-->
<!-- :border="option.border">-->
<!--&lt;!&ndash; <el-table-column type="selection" v-if="option.selection" width="55" align="center"></el-table-column>&ndash;&gt;-->
<!-- <el-table-column type="expand" v-if="option.expand" align="center"></el-table-column>-->
<!--&lt;!&ndash; <el-table-column v-if="option.index" label="#" type="index" width="50" align="center">&ndash;&gt;-->
<!--&lt;!&ndash; </el-table-column>&ndash;&gt;-->
<!-- <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}">-->
<!--&lt;!&ndash; <el-button type="primary" text icon="el-icon-view" @click="handleView(row)">查看</el-button>&ndash;&gt;-->
<!-- <el-button type="primary" text icon="el-icon-view" @click="handleViewBlank(row)">查看</el-button>-->
<!-- <el-button type="primary" text icon="el-icon-view" @click="handleViewBlank(row)">查看地图</el-button>-->
<!-- </template>-->
<!-- </el-table-column>-->
<!-- </el-table>-->
</el-row>
<el-row>
<div class="avue-crud__pagination" style="width: 100%">
<!-- 分页模块 -->
<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>
<!-- 表单模块 -->
</div>
<el-dialog
v-model="dialogVisible"
title="增值服务"
width="30%"
:model="addvalue"
:before-close="handleClose"
>
<el-form-item label="增值服务" prop="freightMark">
<el-checkbox-group v-model="form.addvalueType" @change="handleCheckedCitiesChange">
<el-checkbox
style="width: 100%; margin-bottom: 3%"
v-for="(item, index) in addvalueServeTypeData"
:key="item.dictKey"
:label="item.dictKey"
>{{ item.dictValue }}
<span v-if="index === 0 || index === 6 || index === 2 || index === 4"
>&nbsp;件数:
<el-input
type="number"
v-model="item.f"
:disabled="this.form?.freightMark?.indexOf(item.dictKey) == -1"
@change="textbox($event, index, 1)"
style="width: 20%; border: none; border-bottom: 2px solid #eee"
/>
</span>
<span v-if="index === 1"
>公里:
<el-input
type="primary"
v-model="item.a"
:disabled="this.form?.freightMark?.indexOf(item.dictKey) == -1"
@change="textbox($event, index, 2)"
style="width: 20%; border: none; border-bottom: 2px solid #eee"
/>
</span>
<span v-if="index === 3"
>距离:
<el-input
type="number"
v-model="item.b"
:disabled="this.form?.freightMark?.indexOf(item.dictKey) == -1"
@change="textbox($event, index, 3)"
style="width: 20%; border: none; border-bottom: 2px solid #eee"
/>
</span>
<span v-if="index === 5"
>人数:
<el-input
type="number"
v-model="item.c"
:disabled="this.form?.freightMark?.indexOf(item.dictKey) == -1"
@change="textbox($event, index, 4)"
style="width: 20%; border: none; border-bottom: 2px solid #eee"
/>
</span>
<span v-if="index === 0"
>楼层:
<el-input
type="number"
v-model="item.d"
:disabled="this.form?.freightMark?.indexOf(item.dictKey) == -1"
@change="textbox($event, index, 5)"
style="width: 20%; border: none; border-bottom: 2px solid #eee"
/>
</span>
<span v-if="item"
>预计费用:
<el-input
type="number"
v-model="item.e"
:disabled="this.form?.freightMark?.indexOf(item.dictKey) == -1"
@change="textbox($event, index, 6)"
style="width: 20%; border: none; border-bottom: 2px solid #eee"
/>
</span>
</el-checkbox>
</el-checkbox-group>
</el-form-item>
<template #footer>
<span class="dialog-footer">
<el-button @click="dialogVisible = false">取消</el-button>
<el-button type="primary" @click="aaa"> 确定(增值服务) </el-button>
</span>
</template>
</el-dialog>
</basic-container>
<edittablehead
@setcolum="setnewcolum"
@closce="showdrawer"
:drawerShow="drawerShow"
:columnList="columnList"
></edittablehead>
<el-dialog title="二维码" :visible.sync="isShow" width="780px" v-model="isShow">
<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 type="primary" @click="isShow = false">确 定</el-button>
<el-button @click="isShow = false"> </el-button>
</span>
</el-dialog>
</template>
<script>
import {
getList,
getDetail,
add,
update,
remove,
getPage,
getstatistics,
printBatch,
} from '@/api/distribution/distributionDeliveryList';
import option from '@/option/distribution/distributionDeliveryList';
import { mapGetters } from 'vuex';
import { getDictionaryBiz } from '@/api/system/dict';
import { addIncrement } from '@/api/distribution/distributionStockArticle';
import { getVehicleList } from '@/api/basicdata/basicdataVehicle';
import { getDriverList } from '@/api/basicdata/basicdataDriverArtery';
export default {
data() {
return {
height: 0,
// 弹框标题
title: '',
// 是否展示弹框
box: false,
// 是否显示查询
search: true,
// 加载中
loading: true,
// 是否为查看模式
view: false,
// 打印模版
html: '',
// 是否显示打印模版
isShow: false,
// 查询信息
query: {},
//数据统计
statistics: {},
drawerShow: false,
// 分页信息
page: {
currentPage: 1,
pageSize: 30,
total: 40,
},
//配送类型
deliverytypeData: [],
//配送种类
deliverykindData: [],
//配送状态
deliveryliststateData: [],
// 表单数据
form: {},
// 选择行
selectionList: [],
columnList: [
{
prop: '',
label: '序号',
type: 0,
values: '',
width: 55,
checkarr: [],
fixed: true,
},
{
prop: 'trainNumber',
label: '车次',
type: 2,
values: '',
width: '150',
checkarr: [],
fixed: true,
sortable: true,
// head: true,
},
{
prop: 'taskTime',
label: '配送日期',
type: 2,
values: '',
width: '150',
checkarr: [],
fixed: true,
sortable: true,
// head: true,
},
{
prop: 'warehouseName',
label: '仓库',
type: 2,
values: '',
width: '150',
checkarr: [],
fixed: false,
sortable: true,
},
{
prop: 'kindName',
label: '配送种类',
type: 3,
values: '',
width: '180',
checkarr: [],
fixed: false,
sortable: true,
},
{
prop: 'typeName',
label: '配送类型',
type: 1,
values: '',
width: '180',
checkarr: [],
fixed: false,
sortable: true,
},
{
prop: 'vehicleName',
label: '配送车辆',
type: 2,
values: '',
width: '180',
checkarr: [],
fixed: false,
sortable: true,
},
{
prop: 'driverName',
label: '配送司机',
type: 2,
values: '',
width: '150',
checkarr: [],
fixed: false,
sortable: true,
},
{
prop: 'distributionCompany',
label: '配送公司',
type: 2,
values: '',
width: '150',
checkarr: [],
fixed: false,
sortable: true,
},
{
prop: 'deliveryStatusName',
label: '配送状态',
type: 3,
values: '',
width: '150',
checkarr: [],
fixed: false,
sortable: true,
},
// {
// prop: 'deliveryListLoadingStatusName',
// label: '装车状态',
// type: 3,
// values: '',
// width: '150',
// checkarr: [],
// fixed: false,
// sortable: true
// },
{
prop: 'customersNumber',
label: '配送客户数',
type: 1,
values: '',
width: '150',
checkarr: [],
fixed: false,
sortable: true,
},
{
prop: 'price',
label: '配送价格',
type: 1,
values: '',
width: '150',
checkarr: [],
fixed: false,
sortable: true,
},
{
prop: 'fee',
label: '增值服务',
type: 1,
values: '',
width: '150',
checkarr: [],
fixed: false,
sortable: true,
},
{
prop: 'orderNumber',
label: '订单总数',
type: 1,
values: '',
width: '150',
checkarr: [],
fixed: false,
sortable: true,
},
{
prop: 'deliveryNumber',
label: '配送件数',
type: 1,
values: '',
width: '150',
checkarr: [],
fixed: false,
sortable: true,
},
{
prop: 'inventoryNub',
label: '配送库存品件数',
type: 1,
values: '',
width: '150',
checkarr: [],
fixed: false,
sortable: true,
},
{
prop: 'scannedNumber',
label: '扫描件数',
type: 1,
values: '',
width: '150',
checkarr: [],
fixed: false,
sortable: true,
},
{
prop: 'loadingTeamName',
label: '装车班组',
type: 2,
values: '',
width: '150',
checkarr: [],
fixed: false,
sortable: true,
},
{
prop: 'loadingTeamName',
label: '装车班组',
type: 2,
values: '',
width: '150',
checkarr: [],
fixed: false,
sortable: true,
},
{
prop: '',
label: '操作',
type: 6,
values: '',
width: '150',
checkarr: [],
fixed: 'right',
sortable: false,
},
// 更多列的配置...
],
// 表单配置
option: option,
//增值服务弹窗
dialogVisible: false,
//增值服务字典列表
addvalueServeTypeData: [],
//增值服务列表
addvalueServeType: [],
//配送方式字典列表
deliveryWayData: [],
//增值服务对象
addvalueObj: {},
//订单行数据
orderInfo: {},
deliverId: null,
//费用列表
feeList: [],
//楼层
floorList: [],
// 表单列表
data: [],
driverData: [],
vehicleData: [],
};
},
mounted() {
this.getvehicleData();
this.getDriverData();
this.queryDictionary();
this.init();
/**
* 初始化获取本地缓存的编辑隐藏的列表
* 固定搭配,不能更改
*/
let checkListnewarr = this.$functions.getStorage(window.location.pathname + 'checkList');
let flexListnewarr = this.$functions.getStorage(window.location.pathname + 'flexList');
let sortlistnewarr = this.$functions.getStorage(window.location.pathname + 'sortlist');
if (checkListnewarr) {
this.columnList.map(item => {
item.head = false;
});
checkListnewarr.map(ite => {
this.columnList.map(item => {
if (ite == item.label) {
item.head = true;
}
});
});
} else {
let arr = [];
this.columnList.map(item => {
if (item.head) {
arr.push(item.label);
}
});
this.$functions.setStorage(window.location.pathname + 'checkList', arr);
}
if (flexListnewarr) {
this.columnList.map(item => {
item.fixed = false;
});
flexListnewarr.map(ite => {
this.columnList.map(item => {
if (ite == item.label) {
if (item.type == 6) {
item.fixed = 'right';
} else {
item.fixed = true;
}
}
});
});
} else {
let arr = [];
this.columnList.map(item => {
if (item.fixed) {
arr.push(item.label);
}
});
this.$functions.setStorage(window.location.pathname + 'flexList', arr);
}
if (sortlistnewarr) {
this.columnList.map(item => {
item.sortable = false;
});
sortlistnewarr.map(ite => {
this.columnList.map(item => {
if (ite == item.label) {
item.sortable = true;
}
});
});
} else {
let arr = [];
this.columnList.map(item => {
if (item.sortable) {
arr.push(item.label);
}
});
this.$functions.setStorage(window.location.pathname + 'sortlist', arr);
}
},
computed: {
...mapGetters(['permission']),
ids() {
let ids = [];
this.selectionList.forEach(ele => {
ids.push(ele.id);
});
return ids.join(',');
},
},
methods: {
getvehicleData() {
return new Promise((rv, rev) => {
getVehicleList(1, 10, '').then(res => {
const data = res.data.data;
let po = [];
data.records.forEach(item => {
let a = {
dictKey: item.id,
dictValue: item.vehicleNub,
};
po.push(a);
});
this.vehicleData = po;
console.log('^^^^^^^^^^^^^^^^', res.data.data);
rv(res.data.data.records);
});
});
},
getDriverData() {
return new Promise((rv, rev) => {
getDriverList(1, 10, '').then(res => {
const data = res.data.data;
let po = [];
data.records.forEach(item => {
let a = {
dictKey: item.id,
dictValue: item.name,
};
po.push(a);
});
this.driverData = po;
console.log('===============>', res.data.data);
rv(res.data.data.records);
});
});
},
showdrawer(value) {
this.drawerShow = value;
},
/**
* 弹窗的勾选回调,用于更改头部数组
* 固定搭配,只需要更换 columnList
*/
setnewcolum(newarr, headarr, type) {
// console.log(newarr,'+++++++++++')
if (type == 1) {
this.columnList = newarr;
this.$functions.setStorage(window.location.pathname + 'checkList', headarr);
} else if (type == 2) {
this.columnList = newarr;
this.$functions.setStorage(window.location.pathname + 'flexList', headarr);
} else if (type == 3) {
this.columnList = newarr;
this.$functions.setStorage(window.location.pathname + 'sortlist', headarr);
}
},
handleCheckedCitiesChange(value) {
if (value) {
this.form.addvalueType = value;
}
console.log('>>>>>', this.form);
if (value.length < 1) {
this.costList = [];
this.costListName = [];
}
this.deliveryWayData.forEach(i => {
if (value.includes(i.dictKey)) {
console.log(i);
i.pitch = true;
this.costListName = value;
}
});
},
editmap(scope) {
const { row } = scope;
console.log('row>>>>>>xxxx', row);
this.$router.push({
path: '/distribution/reservation/atlas1',
query: {
item: JSON.stringify(row),
type: '2',
},
});
},
textbox(e, index, a) {
if (a === 6) {
this.feeList[index + 1] = e;
return;
}
if (a === 5)
if (index === 0 && a === 5) {
this.floorList[index + 1] = e;
return;
}
this.costList[index + 1] = e;
//费用列表
},
aaa() {
let addvalueInfos = [];
this.form.addvalueType.forEach((item, index) => {
let addvalueInfo = {};
addvalueInfo.addvalueId = item;
if (item == 1 || item == 3 || item == 5 || item == 7) {
addvalueInfo.number = this.costList[item];
}
if (item == 2) {
addvalueInfo.kilometer = this.costList[item];
}
if (item == 4) {
addvalueInfo.distance = this.costList[item];
}
if (item == 6) {
addvalueInfo.peopleNum = this.costList[item];
}
if (this.floorList.length > 1) {
addvalueInfo.floor = this.floorList[1];
this.floorList = [];
}
addvalueInfo.fee = this.feeList[item];
addvalueInfos.push(addvalueInfo);
});
let params = {};
params.id = this.deliverId;
params.addvalue = addvalueInfos;
params.relatedId = 2;
console.log('params>>>>>>>>>>>>>>>>>>', params);
addIncrement(params).then(res => {
this.dialogVisible = false;
this.$message({
type: 'success',
message: '操作成功!',
});
});
this.onLoad(this.page);
},
selectionsc(value) {
// 筛选出所有被选中项的id
this.selectionList = value.map(item => item.id);
},
delectsolt(scope) {
const { row } = scope;
console.log(row);
},
handleClose(done) {
this.$confirm('确认关闭?')
.then(_ => {
done();
})
.catch(_ => {});
},
editsolt(scope) {
const { row } = scope;
console.log(row);
this.$router.push({
path: '/distribution/deliverylist/distributionDeliveryListedt',
query: {
data: encodeURIComponent(JSON.stringify(row)),
name: row.trainNumber + '-查看配送',
},
});
},
costadd(scope) {
const { row } = scope;
console.log('row>>>>>>>>>>', row);
this.deliverId = row.id;
//查询订单的增值服务,
this.addvalueServeType = [];
this.addvalue = {};
this.dialogVisible = true;
this.costList = [];
this.feeList = [];
this.floorList = [];
// this.orderInfo = row;
},
btnsc(index, row) {
console.log(index, row);
},
selectsc(index, row) {
this.query[row.prop] = index;
if (!index) {
delete this.query[row.prop];
}
if (row.prop === 'deliveryStatusName') {
this.query['deliveryStatus'] = index;
} else if (row.prop === 'kindName') {
this.query['kind'] = index;
}
this.onLoad(this.page);
},
timesc(index, row) {
console.log(index, row);
},
inputsc(index, row) {
this.query[row.prop] = index;
if (!index) {
delete this.query[row.prop];
}
this.onLoad(this.page);
},
queryDictionary() {
// getDictionaryBiz('delivery_type').then(res => {
// this.deliverytypeData = res.data.data;
// });
getDictionaryBiz('addvalue_serve_type').then(res => {
this.addvalueServeTypeData = res.data.data;
});
getDictionaryBiz('delivery_way').then(res => {
this.deliveryWayData = res.data.data;
});
//配送状态
getDictionaryBiz('distribution_delivery_status').then(res => {
this.$functions.checkcColumnList('deliveryStatusName', this.columnList).checkarr =
res.data.data.map(item => {
item.value = item.dictKey;
item.label = item.dictValue;
return item;
});
});
//配送种类
getDictionaryBiz('distribution_deliverylist_kind').then(res => {
this.$functions.checkcColumnList('kindName', this.columnList).checkarr = res.data.data.map(
item => {
item.value = item.dictKey;
item.label = item.dictValue;
return item;
}
);
});
this.onLoad(this.page);
},
init() {
this.height = this.setPx(document.body.clientHeight - 340);
},
searchHide() {
this.search = !this.search;
},
searchChange() {
if (this.query.deliveryKind) {
let deliveryKind = this.query.deliveryKind;
switch (deliveryKind) {
case '自主配送':
this.query.kind = '1';
break;
case '外协配送':
this.query.kind = '2';
break;
}
}
this.onLoad(this.page);
},
searchReset() {
this.query = {};
this.page.currentPage = 1;
this.onLoad(this.page);
},
handleSubmit() {
if (!this.form.id) {
add(this.form).then(() => {
this.box = false;
this.onLoad(this.page);
this.$message({
type: 'success',
message: '操作成功!',
});
});
} else {
update(this.form).then(() => {
this.box = false;
this.onLoad(this.page);
this.$message({
type: 'success',
message: '操作成功!',
});
});
}
},
handleAdd() {
this.title = '新增';
this.form = {};
this.box = true;
},
handleEdit(scope) {
const { row } = scope;
this.$router.push({
path: '/distribution/turndelivery/deliveryMarket',
query: {
deliveryId: row.id,
name: row.trainNumber + '-编辑配送',
},
});
},
handleView(row) {
this.title = '查看';
this.view = true;
this.box = true;
getDetail(row.id).then(res => {
this.form = res.data.data;
});
},
// handleViewBlank (row) {
// this.$router.push({
// path: '/distribution/deliverylist/distributionDeliveryListedt',
// query: {
// id: row.id,
// name: row.trainNumber +'-查看配送'
// }
// });
// },
handleDelete() {
if (this.selectionList.length === 0) {
this.$message.warning('请选择至少一条数据');
return;
}
this.$confirm('确定将选择数据删除?', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning',
})
.then(() => {
return remove(this.ids);
})
.then(() => {
this.selectionClear();
this.onLoad(this.page);
this.$message({
type: 'success',
message: '操作成功!',
});
});
},
rowDel(row) {
this.$confirm('确定将选择数据删除?', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning',
})
.then(() => {
return remove(row.id);
})
.then(() => {
this.onLoad(this.page);
this.$message({
type: 'success',
message: '操作成功!',
});
});
},
beforeClose(done) {
done();
this.form = {};
this.view = false;
},
selectionChange(list) {
this.selectionList = list;
},
selectionClear() {
this.selectionList = [];
// this.$refs.table.clearSelection();
},
currentChange(currentPage) {
this.page.currentPage = currentPage;
this.onLoad(this.page);
},
sizeChange(pageSize) {
this.page.pageSize = pageSize;
this.onLoad(this.page);
},
onLoad(page, params = {}) {
this.loading = true;
this.query.type = '2';
getPage(page.currentPage, page.pageSize, Object.assign(params, this.query)).then(res => {
const data = res.data.data;
// eslint-disable-next-line no-empty
// for (let i = 0; i < data.records.length; i++) {
// eslint-disable-next-line no-empty
// for (let j = 0; j < this.deliverytypeData.length; j++) {
// // eslint-disable-next-line no-empty
// if (data.records[i].type == this.deliverytypeData[j].dictKey) {
// data.records[i].type = this.deliverytypeData[j].dictValue;
// }
// }
// for (let j = 0; j < this.deliverykindData.length; j++) {
// // eslint-disable-next-line no-empty
// if (data.records[i].kind == this.deliverykindData[j].dictKey) {
// data.records[i].kind = this.deliverykindData[j].dictValue;
// }
// }
// for (let j = 0; j < this.deliveryliststateData.length; j++) {
// // eslint-disable-next-line no-empty
// if (data.records[i].state == this.deliveryliststateData[j].dictKey) {
// data.records[i].state = this.deliveryliststateData[j].dictValue;
// }
// }
// }
this.page.total = data.total;
this.data = data.records;
this.loading = false;
this.selectionClear();
});
getstatistics(page.currentPage, page.pageSize, Object.assign(params, this.query)).then(
res => {
this.statistics = res.data.data;
}
);
// getDetail(row.id).then(res => {
// this.form = res.data.data;
// });
},
/**
* 批量打印
*/
async printBatchOrder() {
console.log(11);
if (this.selectionList.length === 0) {
this.$message.warning('请选择至少一条数据');
return;
}
this.isShow = true;
const res = await printBatch({ ids: Array.from(this.selectionList).join(','), type: 2 });
console.log('res :>> ', res);
const {
data: { code, data },
} = res;
if (code === 200) {
// 初始化打印页面
this.html = '';
data.forEach(item => {
this.html += item.templateHtml;
});
}
},
/**
* 打印
*/
printTemplate() {
print();
},
},
};
</script>