|
|
@ -6,49 +6,35 @@ |
|
|
<div class="search"> |
|
|
<div class="search"> |
|
|
<Card> |
|
|
<Card> |
|
|
<Tabs v-model="tabName" :animated="false" @on-click="changeOrderTab"> |
|
|
<Tabs v-model="tabName" :animated="false" @on-click="changeOrderTab"> |
|
|
<TabPane label="指派单" name="7"></TabPane> |
|
|
<TabPane label="饭团订单" name="1"></TabPane> |
|
|
<TabPane label="待接单" name="0"></TabPane> |
|
|
<TabPane label="快递订单" name="2"></TabPane> |
|
|
<TabPane label="待取货" name="1"></TabPane> |
|
|
<TabPane label="跑腿订单" name="3"></TabPane> |
|
|
<TabPane label="待送达" name="2"></TabPane> |
|
|
</Tabs> |
|
|
<TabPane label="已完成" name="3"></TabPane> |
|
|
<Tabs v-model="tabName1" :animated="false" @on-click="changeTab"> |
|
|
<TabPane label="已取消" name="4"></TabPane> |
|
|
<TabPane label="全部" name="10"></TabPane> |
|
|
<TabPane label="已退款" name="5"></TabPane> |
|
|
<TabPane label="待支付" name="0"></TabPane> |
|
|
<TabPane label="预订单" name="6"></TabPane> |
|
|
<TabPane label="待成团" name="1"></TabPane> |
|
|
|
|
|
<TabPane label="待消费" name="2"></TabPane> |
|
|
|
|
|
<TabPane label="待接单" name="3"></TabPane> |
|
|
|
|
|
<TabPane label="待取货" name="4"></TabPane> |
|
|
|
|
|
<TabPane label="待送达" name="5"></TabPane> |
|
|
|
|
|
<TabPane label="已完成" name="6"></TabPane> |
|
|
|
|
|
<TabPane label="待退款" name="7"></TabPane> |
|
|
|
|
|
<TabPane label="已退款" name="8"></TabPane> |
|
|
|
|
|
<TabPane label="已取消" name="9"></TabPane> |
|
|
|
|
|
<TabPane label="售后中" name="11"></TabPane> |
|
|
|
|
|
<TabPane label="已售后" name="12"></TabPane> |
|
|
</Tabs> |
|
|
</Tabs> |
|
|
<Row v-show="openSearch" @keydown.enter.native="handleSearch"> |
|
|
<Row v-show="openSearch" @keydown.enter.native="handleSearch"> |
|
|
<Form ref="searchForm" :model="searchForm" inline :label-width="70"> |
|
|
<Form ref="searchForm" :model="searchForm" inline :label-width="100"> |
|
|
<FormItem label="状态" prop="orderId"> |
|
|
|
|
|
<Select ref="dep" @on-change="checkStatus" clearable="true"> |
|
|
|
|
|
<Option v-for="(item, i) in dictData" :key="i" :value="item.value">{{ |
|
|
|
|
|
item.title |
|
|
|
|
|
}}</Option> |
|
|
|
|
|
</Select> |
|
|
|
|
|
|
|
|
|
|
|
</FormItem> |
|
|
<FormItem label="店铺名称" prop="orderLogistics"> |
|
|
<FormItem label="名称" prop="orderLogistics"> |
|
|
<Input type="text" v-model="searchForm.shopName" clearable placeholder="请输入店铺名称" |
|
|
<Input type="text" v-model="searchForm.searchStr" clearable placeholder="请输入收发货人名称" |
|
|
|
|
|
style="width: 200px" /> |
|
|
style="width: 200px" /> |
|
|
</FormItem> |
|
|
</FormItem> |
|
|
<FormItem label="收货人id" prop="kdOrderId1"> |
|
|
<FormItem label="收货人手机号" prop="kdOrderId1"> |
|
|
|
|
|
<Input type="text" v-model="searchForm.receiverPhone" clearable placeholder="请输入店铺名称" |
|
|
<Select v-model="shou" clearable='false' @on-clear="clearShou=true" filterable |
|
|
style="width: 200px" /> |
|
|
:remote-method="getShouValue" :loading="loading1" placeholder="请选择或输入添加"> |
|
|
|
|
|
<Option v-for="item in shouList" :value="item.id" :key="item.username" |
|
|
|
|
|
:label="item.shipperOrReceiverName" @on-change="checkShouValue(item)"> |
|
|
|
|
|
<span style="margin-right: 10px">{{ item.shipperOrReceiverName }}</span> |
|
|
|
|
|
<span style="color: #ccc">{{ item.mobile }}</span> |
|
|
|
|
|
</Option> |
|
|
|
|
|
</Select> |
|
|
|
|
|
</FormItem> |
|
|
|
|
|
<FormItem label="发货人id" prop="kdOrderId"> |
|
|
|
|
|
<Select v-model="fa" clearable='false' filterable @on-clear="searchForm.shipperId =''" |
|
|
|
|
|
:remote-method="getFaValue" :loading="loading2" placeholder="请选择或输入添加"> |
|
|
|
|
|
<Option v-for="item in faList" @on-change="checkFaValue(item)" :value="item.id" |
|
|
|
|
|
:key="item.mobile" :label="item.shipperOrReceiverName"> |
|
|
|
|
|
<span style="margin-right: 10px">{{ item.shipperOrReceiverName }}</span> |
|
|
|
|
|
<span style="color: #ccc">{{ item.mobile }}</span> |
|
|
|
|
|
</Option> |
|
|
|
|
|
</Select> |
|
|
|
|
|
</FormItem> |
|
|
</FormItem> |
|
|
<FormItem style="margin-left: -35px" class="br"> |
|
|
<FormItem style="margin-left: -35px" class="br"> |
|
|
<Button @click="handleSearch" type="primary" icon="ios-search">搜索</Button> |
|
|
<Button @click="handleSearch" type="primary" icon="ios-search">搜索</Button> |
|
|
@ -59,7 +45,7 @@ |
|
|
<Row align="middle" justify="space-between" class="operation"> |
|
|
<Row align="middle" justify="space-between" class="operation"> |
|
|
<div class="icons"> |
|
|
<div class="icons"> |
|
|
<Tooltip content="刷新" placement="top" transfer> |
|
|
<Tooltip content="刷新" placement="top" transfer> |
|
|
<Icon type="md-refresh" size="18" class="item" @click="getDataList" /> |
|
|
<Icon type="md-refresh" size="18" class="item" @click="getLogisticsInfo" /> |
|
|
</Tooltip> |
|
|
</Tooltip> |
|
|
<Tooltip :content="openSearch ? '关闭搜索' : '开启搜索'" placement="top" transfer> |
|
|
<Tooltip :content="openSearch ? '关闭搜索' : '开启搜索'" placement="top" transfer> |
|
|
<Icon type="ios-search" size="18" class="item tip" @click="openSearch = !openSearch" /> |
|
|
<Icon type="ios-search" size="18" class="item tip" @click="openSearch = !openSearch" /> |
|
|
@ -99,119 +85,32 @@ |
|
|
<Button type="text" @click="Visiable = false">关闭</Button> |
|
|
<Button type="text" @click="Visiable = false">关闭</Button> |
|
|
</div> |
|
|
</div> |
|
|
</Modal> |
|
|
</Modal> |
|
|
<!-- 自定义导出数据 --> |
|
|
|
|
|
<Modal v-model="exportModalVisible" :title="exportTitle" :loading="loadingExport" @on-ok="exportCustomData"> |
|
|
|
|
|
<Form ref="exportForm" :label-width="100"> |
|
|
|
|
|
<FormItem label="导出文件名"> |
|
|
|
|
|
<Input v-model="filename" /> |
|
|
|
|
|
</FormItem> |
|
|
|
|
|
<FormItem label="自定义导出列"> |
|
|
|
|
|
<CheckboxGroup v-model="chooseColumns"> |
|
|
|
|
|
<Checkbox v-for="(item, i) in exportColumns" :label="item.title" :key="i" :value="item.checked" |
|
|
|
|
|
:disabled="item.disabled"></Checkbox> |
|
|
|
|
|
</CheckboxGroup> |
|
|
|
|
|
</FormItem> |
|
|
|
|
|
</Form> |
|
|
|
|
|
</Modal> |
|
|
|
|
|
<!-- 导入数据 --> |
|
|
|
|
|
<Drawer title="导入数据" closable v-model="importModalVisible" width="800" draggable> |
|
|
|
|
|
<div style=" |
|
|
|
|
|
display: flex; |
|
|
|
|
|
justify-content: space-between; |
|
|
|
|
|
align-items: center; |
|
|
|
|
|
"> |
|
|
|
|
|
<Upload action :before-upload="beforeUploadImport" accept=".xls, .xlsx"> |
|
|
|
|
|
<Button :loading="reading" icon="ios-cloud-upload-outline" |
|
|
|
|
|
style="margin-right: 10px">上传Excel文件</Button> |
|
|
|
|
|
<span v-if="uploadfile.name">当前选择文件:{{ uploadfile.name }}</span> |
|
|
|
|
|
</Upload> |
|
|
|
|
|
<Button @click="clearImportData" icon="md-trash">清空数据</Button> |
|
|
|
|
|
</div> |
|
|
|
|
|
<Alert type="warning" show-icon>导入前请下载查看导入模版数据文件查看所需字段及说明,确保数据格式正确,不得修改列英文名称</Alert> |
|
|
|
|
|
<Table :columns="importColumns" border :height="height" :data="importTableData" ref="importTable"></Table> |
|
|
|
|
|
<div class="drawer-footer"> |
|
|
|
|
|
<Button @click="downloadTemple" type="info">下载导入模板</Button> |
|
|
|
|
|
<div style="position: absolute; right: 15px; display: inline-block"> |
|
|
|
|
|
<Button @click="importModalVisible = false">关闭</Button> |
|
|
|
|
|
<Button :loading="importLoading" :disabled="importTableData.length <= 0" @click="importData" |
|
|
|
|
|
style="margin-left: 8px" type="primary"> |
|
|
|
|
|
确认导入 |
|
|
|
|
|
<span v-if="importTableData.length > 0">{{ importTableData.length }} 条数据</span> |
|
|
|
|
|
</Button> |
|
|
|
|
|
</div> |
|
|
|
|
|
</div> |
|
|
|
|
|
</Drawer> |
|
|
|
|
|
|
|
|
|
|
|
<addEdit :data="form" :type="showType" v-model="showOrder" @on-submit="getDataList" /> |
|
|
<addEdit :data="form" :type="showType" v-model="showOrder" @on-submit="getLogisticsInfo" /> |
|
|
</div> |
|
|
</div> |
|
|
</template> |
|
|
</template> |
|
|
|
|
|
|
|
|
<script> |
|
|
<script> |
|
|
import { |
|
|
import { |
|
|
getLogisticsOrderPageList, |
|
|
getOrderList |
|
|
getLogisticsOrderStatistics, |
|
|
|
|
|
batchUpdateOrderStatus, |
|
|
|
|
|
getOrderList, |
|
|
|
|
|
enableUser, |
|
|
|
|
|
getLogisticsAddressBookPageList, |
|
|
|
|
|
disableUser, |
|
|
|
|
|
deleteOrder, |
|
|
|
|
|
getAllUserData, |
|
|
|
|
|
importUserData, |
|
|
|
|
|
resetUserPass, |
|
|
|
|
|
getDictDataByType, |
|
|
|
|
|
} from "@/api/index"; |
|
|
} from "@/api/index"; |
|
|
import { |
|
|
|
|
|
getAllLogiticsCompanyData, |
|
|
|
|
|
getLogiticsCompanyData, |
|
|
|
|
|
} from "@/api/app"; |
|
|
|
|
|
import { |
|
|
|
|
|
shortcuts |
|
|
|
|
|
} from "@/libs/shortcuts"; |
|
|
|
|
|
// 模版导入文件表数据 |
|
|
|
|
|
import { |
|
|
|
|
|
userColumns, |
|
|
|
|
|
userData |
|
|
|
|
|
} from "./importTemplate"; |
|
|
|
|
|
// 指定导出列数据 |
|
|
|
|
|
import { |
|
|
|
|
|
exportColumn |
|
|
|
|
|
} from "./exportColumn"; |
|
|
|
|
|
import excel from "@/libs/excel"; |
|
|
|
|
|
import addEdit from "./addEdit.vue"; |
|
|
import addEdit from "./addEdit.vue"; |
|
|
import dict from "@/views/my-components/hiver/dict"; |
|
|
|
|
|
import logisticsAddress from "@/views/sys/order-manage/logisticsAddress"; |
|
|
import logisticsAddress from "@/views/sys/order-manage/logisticsAddress"; |
|
|
export default { |
|
|
export default { |
|
|
name: "order-manage", |
|
|
name: "order-manage", |
|
|
components: { |
|
|
components: { |
|
|
addEdit, |
|
|
addEdit, |
|
|
dict, |
|
|
|
|
|
logisticsAddress, |
|
|
logisticsAddress, |
|
|
}, |
|
|
}, |
|
|
data() { |
|
|
data() { |
|
|
return { |
|
|
return { |
|
|
tableSize: "default", |
|
|
tableSize: "default", |
|
|
Visiable: false, |
|
|
Visiable: false, |
|
|
height: 510, |
|
|
|
|
|
loading1: false, |
|
|
|
|
|
loading2: false, |
|
|
|
|
|
showOrder: false, |
|
|
showOrder: false, |
|
|
clearShou: false, |
|
|
|
|
|
clearFa: false, |
|
|
|
|
|
shouList: [], |
|
|
|
|
|
shou: '', |
|
|
|
|
|
fa: '', |
|
|
|
|
|
faList: [], |
|
|
|
|
|
orderStatistics: {}, |
|
|
|
|
|
showType: "0", |
|
|
showType: "0", |
|
|
openSearch: true, |
|
|
openSearch: true, |
|
|
openTip: true, |
|
|
openTip: true, |
|
|
loading: true, |
|
|
loading: true, |
|
|
reading: false, |
|
|
|
|
|
importLoading: false, |
|
|
|
|
|
loadingExport: true, |
|
|
|
|
|
exportModalVisible: false, |
|
|
|
|
|
importModalVisible: false, |
|
|
|
|
|
drop: false, |
|
|
drop: false, |
|
|
dropDownContent: "展开", |
|
|
dropDownContent: "展开", |
|
|
dropDownIcon: "ios-arrow-down", |
|
|
dropDownIcon: "ios-arrow-down", |
|
|
@ -219,15 +118,13 @@ |
|
|
searchForm: { |
|
|
searchForm: { |
|
|
pageNum: 1, |
|
|
pageNum: 1, |
|
|
pageSize: 10, |
|
|
pageSize: 10, |
|
|
regionId: "", |
|
|
regionId: JSON.parse(this.getStore("user")).departmentId, |
|
|
searchType: 0, |
|
|
searchType: 0, |
|
|
|
|
|
searchStatus:0, |
|
|
shopName: "", |
|
|
shopName: "", |
|
|
|
|
|
mobile:'', |
|
|
userId: "" |
|
|
userId: "" |
|
|
}, |
|
|
}, |
|
|
selectDate: null, |
|
|
|
|
|
options: { |
|
|
|
|
|
shortcuts: shortcuts, |
|
|
|
|
|
}, |
|
|
|
|
|
form: {}, |
|
|
form: {}, |
|
|
columns: [{ |
|
|
columns: [{ |
|
|
type: "index", |
|
|
type: "index", |
|
|
@ -238,13 +135,13 @@ |
|
|
{ |
|
|
{ |
|
|
title: "订单编号", |
|
|
title: "订单编号", |
|
|
key: "id", |
|
|
key: "id", |
|
|
width: 150, |
|
|
width: 200, |
|
|
align: "center", |
|
|
align: "center", |
|
|
}, |
|
|
}, |
|
|
{ |
|
|
{ |
|
|
title: "用户账号", |
|
|
title: "用户账号", |
|
|
key: "receiverPhone", |
|
|
key: "receiverPhone", |
|
|
width: 150, |
|
|
width: 130, |
|
|
align: "center", |
|
|
align: "center", |
|
|
}, |
|
|
}, |
|
|
{ |
|
|
{ |
|
|
@ -262,7 +159,7 @@ |
|
|
{ |
|
|
{ |
|
|
title: "订单总金额", |
|
|
title: "订单总金额", |
|
|
key: "totalAmount", |
|
|
key: "totalAmount", |
|
|
width: 160, |
|
|
width: 130, |
|
|
align: "center", |
|
|
align: "center", |
|
|
}, |
|
|
}, |
|
|
{ |
|
|
{ |
|
|
@ -280,14 +177,52 @@ |
|
|
{ |
|
|
{ |
|
|
title: "完成支付时间", |
|
|
title: "完成支付时间", |
|
|
key: "createTime", |
|
|
key: "createTime", |
|
|
width: 150, |
|
|
width: 170, |
|
|
align: "center", |
|
|
align: "center", |
|
|
|
|
|
render: (h, params) => { |
|
|
|
|
|
return h( |
|
|
|
|
|
"div", |
|
|
|
|
|
this.formatDateTime(params.row.createTime) |
|
|
|
|
|
); |
|
|
|
|
|
} |
|
|
}, |
|
|
}, |
|
|
{ |
|
|
{ |
|
|
title: "订单状态", |
|
|
title: "订单状态", |
|
|
key: "status", |
|
|
key: "status", |
|
|
width: 200, |
|
|
width: 130, |
|
|
align: "center", |
|
|
align: "center", |
|
|
|
|
|
render: (h, params) => { |
|
|
|
|
|
let re = "" |
|
|
|
|
|
if (params.row.status == 0) { |
|
|
|
|
|
re = "待支付"; |
|
|
|
|
|
} else if (params.row.status == 1) { |
|
|
|
|
|
re = "待成团"; |
|
|
|
|
|
} else if (params.row.status == 2) { |
|
|
|
|
|
re = "待消费"; |
|
|
|
|
|
} else if (params.row.status == 3) { |
|
|
|
|
|
re = "待接单"; |
|
|
|
|
|
} else if (params.row.status == 4) { |
|
|
|
|
|
re = "待取货"; |
|
|
|
|
|
} else if (params.row.status == 5) { |
|
|
|
|
|
re = "待送达"; |
|
|
|
|
|
} else if (params.row.status == 6) { |
|
|
|
|
|
re = "已完成"; |
|
|
|
|
|
} else if (params.row.status == 7) { |
|
|
|
|
|
re = "待退款"; |
|
|
|
|
|
} else if (params.row.status == 8) { |
|
|
|
|
|
re = "已退款"; |
|
|
|
|
|
} else if (params.row.status == 9) { |
|
|
|
|
|
re = "已取消"; |
|
|
|
|
|
} else if (params.row.status == 11) { |
|
|
|
|
|
re = "售后中"; |
|
|
|
|
|
} else if (params.row.status == 12) { |
|
|
|
|
|
re = "已售后"; |
|
|
|
|
|
} |
|
|
|
|
|
return h( |
|
|
|
|
|
"div", |
|
|
|
|
|
re |
|
|
|
|
|
); |
|
|
|
|
|
} |
|
|
}, |
|
|
}, |
|
|
{ |
|
|
{ |
|
|
title: "操作", |
|
|
title: "操作", |
|
|
@ -311,34 +246,8 @@ |
|
|
}, |
|
|
}, |
|
|
}, |
|
|
}, |
|
|
], |
|
|
], |
|
|
exportColumns: exportColumn, |
|
|
|
|
|
chooseColumns: [], |
|
|
|
|
|
filename: "订单数据", |
|
|
|
|
|
exportTitle: "确认导出", |
|
|
|
|
|
exportType: "", |
|
|
|
|
|
importTableData: [], |
|
|
|
|
|
importColumns: [], |
|
|
|
|
|
uploadfile: { |
|
|
|
|
|
name: "", |
|
|
|
|
|
}, |
|
|
|
|
|
tempColumns: userColumns, |
|
|
|
|
|
tempData: userData, |
|
|
|
|
|
data: [], |
|
|
data: [], |
|
|
exportData: [], |
|
|
|
|
|
total: 0, |
|
|
total: 0, |
|
|
dictData: [{ |
|
|
|
|
|
title: "全部", |
|
|
|
|
|
value: "" |
|
|
|
|
|
}, { |
|
|
|
|
|
title: "已付", |
|
|
|
|
|
value: 0 |
|
|
|
|
|
}, { |
|
|
|
|
|
title: "未付", |
|
|
|
|
|
value: 1 |
|
|
|
|
|
}, { |
|
|
|
|
|
title: "挂单", |
|
|
|
|
|
value: 2 |
|
|
|
|
|
}], |
|
|
|
|
|
}; |
|
|
}; |
|
|
}, |
|
|
}, |
|
|
computed: { |
|
|
computed: { |
|
|
@ -349,55 +258,22 @@ |
|
|
} |
|
|
} |
|
|
}, |
|
|
}, |
|
|
mounted() { |
|
|
mounted() { |
|
|
// 计算高度 |
|
|
|
|
|
this.height = Number(document.documentElement.clientHeight - 230); |
|
|
|
|
|
|
|
|
|
|
|
this.init(); |
|
|
this.init(); |
|
|
}, |
|
|
}, |
|
|
methods: { |
|
|
methods: { |
|
|
init() { |
|
|
init() { |
|
|
this.getLogisticsInfo() |
|
|
this.getLogisticsInfo() |
|
|
// 初始化导出列数据 |
|
|
|
|
|
let array = []; |
|
|
|
|
|
this.exportColumns.forEach((e) => { |
|
|
|
|
|
// 指定列限制权限 |
|
|
|
|
|
//e.disabled = false; |
|
|
|
|
|
array.push(e.title); |
|
|
|
|
|
}); |
|
|
|
|
|
this.chooseColumns = array; |
|
|
|
|
|
|
|
|
|
|
|
}, |
|
|
|
|
|
checkOrderStatus(v, status) { |
|
|
|
|
|
let listStr = '' |
|
|
|
|
|
if (v == '') { |
|
|
|
|
|
|
|
|
|
|
|
console.log('selectList', this.selectList) |
|
|
|
|
|
for (let i = 0; i < this.selectList.length; i++) { |
|
|
|
|
|
if (this.selectList.length != (i + 1)) { |
|
|
|
|
|
listStr += this.selectList[i].id + ',' |
|
|
|
|
|
} else { |
|
|
|
|
|
listStr += this.selectList[i].id |
|
|
|
|
|
} |
|
|
|
|
|
} |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
this.$Modal.confirm({ |
|
|
|
|
|
title: "确认更改", |
|
|
|
|
|
content: "您确认要更改此条数据吗?", |
|
|
|
|
|
loading: true, |
|
|
|
|
|
onOk: () => { |
|
|
|
|
|
batchUpdateOrderStatus({ |
|
|
|
|
|
orderIds: v == '' ? listStr : v.id, |
|
|
|
|
|
status: status |
|
|
|
|
|
}).then((res) => { |
|
|
|
|
|
this.$Modal.remove(); |
|
|
|
|
|
if (res.success) { |
|
|
|
|
|
this.$Message.success("修改成功"); |
|
|
|
|
|
this.getDataList(); |
|
|
|
|
|
} |
|
|
|
|
|
}); |
|
|
|
|
|
}, |
|
|
}, |
|
|
}); |
|
|
formatDateTime(isoString) { |
|
|
|
|
|
if (!isoString) return '' |
|
|
|
|
|
const date = new Date(isoString) |
|
|
|
|
|
const year = date.getFullYear() |
|
|
|
|
|
const month = String(date.getMonth() + 1).padStart(2, '0') |
|
|
|
|
|
const day = String(date.getDate()).padStart(2, '0') |
|
|
|
|
|
const hours = String(date.getHours()).padStart(2, '0') |
|
|
|
|
|
const minutes = String(date.getMinutes()).padStart(2, '0') |
|
|
|
|
|
const seconds = String(date.getSeconds()).padStart(2, '0') |
|
|
|
|
|
return `${year}-${month}-${day} ${hours}:${minutes}:${seconds}` |
|
|
}, |
|
|
}, |
|
|
getMonth() { |
|
|
getMonth() { |
|
|
let date = new Date() |
|
|
let date = new Date() |
|
|
@ -408,96 +284,31 @@ |
|
|
let single = year + '-' + month + '-' + da //当天 |
|
|
let single = year + '-' + month + '-' + da //当天 |
|
|
return single |
|
|
return single |
|
|
}, |
|
|
}, |
|
|
|
|
|
//订单状态切换2 |
|
|
|
|
|
changeTab(v) { |
|
|
|
|
|
this.searchForm.pageNum = 1; |
|
|
|
|
|
this.searchForm.searchStatus = v; |
|
|
|
|
|
this.getLogisticsInfo(); |
|
|
|
|
|
}, |
|
|
|
|
|
//订单状态切换1 |
|
|
|
|
|
changeOrderTab(v){ |
|
|
|
|
|
console.log(v) |
|
|
|
|
|
this.searchForm.pageNum = 1; |
|
|
|
|
|
this.searchForm.searchType = v |
|
|
|
|
|
this.getLogisticsInfo() |
|
|
|
|
|
}, |
|
|
checkStatus(v) { |
|
|
checkStatus(v) { |
|
|
console.log('下拉框选择', v) |
|
|
console.log('下拉框选择', v) |
|
|
this.searchForm.orderStatus = v |
|
|
this.searchForm.orderStatus = v |
|
|
}, |
|
|
}, |
|
|
handleDropdown(name) { |
|
|
|
|
|
if (name == "exportData") { |
|
|
|
|
|
if (this.selectList.length <= 0) { |
|
|
|
|
|
this.$Message.warning("您还未选择要导出的数据"); |
|
|
|
|
|
return; |
|
|
|
|
|
} |
|
|
|
|
|
this.exportType = "part"; |
|
|
|
|
|
this.exportModalVisible = true; |
|
|
|
|
|
for (let i = 0; i < this.selectList.length; i++) { |
|
|
|
|
|
// this.selectList[i].orderStatus = this.selectList[i].orderStatus == 0 ? '已付' : this.selectList[i] |
|
|
|
|
|
// .orderStatus == 1 ? '未付' : this.selectList[i].orderStatus == 2 ? '挂单' : "" |
|
|
|
|
|
if (this.selectList[i].methodOfSettlement == 0) { //现金 |
|
|
|
|
|
this.selectList[i].xianjin = this.selectList[i].allCost |
|
|
|
|
|
this.selectList[i].yuefu = "" |
|
|
|
|
|
} else if (this.selectList[i].methodOfSettlement == 1) { |
|
|
|
|
|
this.selectList[i].xianjin = "" |
|
|
|
|
|
this.selectList[i].yuefu = this.selectList[i].allCost |
|
|
|
|
|
} |
|
|
|
|
|
// this.selectList[i].methodOfSettlement = this.selectList[i].methodOfSettlement == 0 ? '现金' : this |
|
|
|
|
|
// .selectList[i].methodOfSettlement == 1 ? '月付' : this.selectList[i].methodOfSettlement == 2 ? |
|
|
|
|
|
// '提付' : "" |
|
|
|
|
|
|
|
|
|
|
|
} |
|
|
|
|
|
this.exportTitle = "确认导出 " + this.selectList.length + " 条数据"; |
|
|
|
|
|
} else if (name == "exportAll") { |
|
|
|
|
|
this.exportType = "all"; |
|
|
|
|
|
this.exportModalVisible = true; |
|
|
|
|
|
this.exportTitle = "确认导出全部 " + this.total + " 条数据"; |
|
|
|
|
|
this.searchForm.pageSize = 10000 |
|
|
|
|
|
getLogisticsOrderPageList(this.searchForm).then((res) => { |
|
|
|
|
|
this.loading = false; |
|
|
|
|
|
if (res.success) { |
|
|
|
|
|
for (let i = 0; i < res.result.records.length; i++) { |
|
|
|
|
|
// res.result.records[i].orderStatus = res.result.records[i].orderStatus == 0 ? '已付' : |
|
|
|
|
|
// res.result.records[i].orderStatus == 1 ? '未付' : res.result.records[i] |
|
|
|
|
|
// .orderStatus == 2 ? '挂单' : "" |
|
|
|
|
|
if (res.result.records[i].methodOfSettlement == 0) { //现金 |
|
|
|
|
|
res.result.records[i].xianjin = res.result.records[i].allCost |
|
|
|
|
|
res.result.records[i].yuefu = "" |
|
|
|
|
|
} else if (res.result.records[i].methodOfSettlement == 1) { |
|
|
|
|
|
res.result.records[i].xianjin = "" |
|
|
|
|
|
res.result.records[i].yuefu = res.result.records[i].allCost |
|
|
|
|
|
} |
|
|
|
|
|
// res.result.records[i].methodOfSettlement = res.result.records[i] |
|
|
|
|
|
// .methodOfSettlement == 0 ? '现金' : res.result.records[i].methodOfSettlement == |
|
|
|
|
|
// 1 ? '月付' : res.result.records[i].methodOfSettlement == 2 ? '提付' : "" |
|
|
|
|
|
|
|
|
|
|
|
} |
|
|
|
|
|
console.log(res.result.records) |
|
|
|
|
|
this.exportData = res.result.records; |
|
|
|
|
|
} |
|
|
|
|
|
}); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
} |
|
|
|
|
|
}, |
|
|
|
|
|
changePage(v) { |
|
|
changePage(v) { |
|
|
this.searchForm.pageNum = v; |
|
|
this.searchForm.pageNum = v; |
|
|
this.getDataList(); |
|
|
this.getLogisticsInfo(); |
|
|
this.clearSelectAll(); |
|
|
this.clearSelectAll(); |
|
|
}, |
|
|
}, |
|
|
changePageSize(v) { |
|
|
changePageSize(v) { |
|
|
this.searchForm.pageSize = v; |
|
|
this.searchForm.pageSize = v; |
|
|
this.getDataList(); |
|
|
this.getLogisticsInfo(); |
|
|
}, |
|
|
|
|
|
checkShouValue(v) { |
|
|
|
|
|
if (this.clearShou == true) { |
|
|
|
|
|
this.searchForm.receiverId = "" |
|
|
|
|
|
this.searchForm.receiverName = "" |
|
|
|
|
|
this.searchForm.receiverMobile = "" |
|
|
|
|
|
} else { |
|
|
|
|
|
console.log('shou', v) |
|
|
|
|
|
this.searchForm.receiverId = v.id |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
}, |
|
|
|
|
|
checkFaValue(v) { |
|
|
|
|
|
if (this.clearFa == true) { |
|
|
|
|
|
this.searchForm.shipperId = "" |
|
|
|
|
|
this.searchForm.shipperName = "" |
|
|
|
|
|
this.searchForm.shipperMobile = "" |
|
|
|
|
|
} else { |
|
|
|
|
|
console.log('发', v) |
|
|
|
|
|
this.searchForm.shipperId = v.id |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
}, |
|
|
}, |
|
|
changeTableSize(v) { |
|
|
changeTableSize(v) { |
|
|
this.tableSize = v; |
|
|
this.tableSize = v; |
|
|
@ -516,25 +327,14 @@ |
|
|
handleSearch() { |
|
|
handleSearch() { |
|
|
this.searchForm.pageNum = 1; |
|
|
this.searchForm.pageNum = 1; |
|
|
this.searchForm.pageSize = 10; |
|
|
this.searchForm.pageSize = 10; |
|
|
this.getDataList(); |
|
|
this.getLogisticsInfo(); |
|
|
}, |
|
|
}, |
|
|
handleReset() { |
|
|
handleReset() { |
|
|
this.$refs.searchForm.resetFields(); |
|
|
this.$refs.searchForm.resetFields(); |
|
|
this.searchForm.pageNum = 1; |
|
|
this.searchForm.pageNum = 1; |
|
|
this.searchForm.pageSize = 10; |
|
|
this.searchForm.pageSize = 10; |
|
|
this.selectDate = null; |
|
|
|
|
|
let dayTime = this.getMonth() |
|
|
|
|
|
this.selectDate = [dayTime, dayTime] |
|
|
|
|
|
this.searchForm.startDate = dayTime |
|
|
|
|
|
this.searchForm.endDate = dayTime |
|
|
|
|
|
this.searchForm.searchStr = ""; |
|
|
|
|
|
|
|
|
|
|
|
this.searchForm.companyId = ""; |
|
|
|
|
|
this.searchForm.companyName = ""; |
|
|
|
|
|
this.$refs.dep.clearSelect(); |
|
|
|
|
|
this.searchForm.departmentId = ""; |
|
|
|
|
|
// 重新加载数据 |
|
|
// 重新加载数据 |
|
|
this.getDataList(); |
|
|
this.getLogisticsInfo(); |
|
|
}, |
|
|
}, |
|
|
changeSort(e) { |
|
|
changeSort(e) { |
|
|
this.searchForm.sort = e.key; |
|
|
this.searchForm.sort = e.key; |
|
|
@ -542,117 +342,9 @@ |
|
|
if (e.order == "normal") { |
|
|
if (e.order == "normal") { |
|
|
this.searchForm.order = ""; |
|
|
this.searchForm.order = ""; |
|
|
} |
|
|
} |
|
|
this.getDataList(); |
|
|
this.getLogisticsInfo(); |
|
|
}, |
|
|
|
|
|
exportCustomData() { |
|
|
|
|
|
if (this.filename == "") { |
|
|
|
|
|
this.filename = "用户数据"; |
|
|
|
|
|
} |
|
|
|
|
|
// 判断勾选导出列 |
|
|
|
|
|
let exportColumns = []; |
|
|
|
|
|
this.exportColumns.forEach((e) => { |
|
|
|
|
|
this.chooseColumns.forEach((c) => { |
|
|
|
|
|
if (e.title == c && !e.disabled) { |
|
|
|
|
|
exportColumns.push(e); |
|
|
|
|
|
} |
|
|
|
|
|
}); |
|
|
|
|
|
}); |
|
|
|
|
|
this.exportModalVisible = false; |
|
|
|
|
|
let title = []; |
|
|
|
|
|
let key = []; |
|
|
|
|
|
exportColumns.forEach((e) => { |
|
|
|
|
|
title.push(e.title); |
|
|
|
|
|
key.push(e.key); |
|
|
|
|
|
}); |
|
|
|
|
|
const params = { |
|
|
|
|
|
title: title, |
|
|
|
|
|
key: key, |
|
|
|
|
|
data: this.exportData, |
|
|
|
|
|
autoWidth: true, |
|
|
|
|
|
filename: this.filename, |
|
|
|
|
|
}; |
|
|
|
|
|
excel.export_array_to_excel(params); |
|
|
|
|
|
}, |
|
|
|
|
|
beforeUploadImport(file) { |
|
|
|
|
|
this.uploadfile = file; |
|
|
|
|
|
const fileExt = file.name.split(".").pop().toLocaleLowerCase(); |
|
|
|
|
|
if (fileExt == "xlsx" || fileExt == "xls") { |
|
|
|
|
|
this.readFile(file); |
|
|
|
|
|
this.file = file; |
|
|
|
|
|
} else { |
|
|
|
|
|
this.$Notice.warning({ |
|
|
|
|
|
title: "文件类型错误", |
|
|
|
|
|
desc: "所选文件‘ " + |
|
|
|
|
|
file.name + |
|
|
|
|
|
" ’不是EXCEL文件,请选择后缀为.xlsx或者.xls的EXCEL文件。", |
|
|
|
|
|
}); |
|
|
|
|
|
} |
|
|
|
|
|
return false; |
|
|
|
|
|
}, |
|
|
|
|
|
// 读取文件 |
|
|
|
|
|
readFile(file) { |
|
|
|
|
|
this.reading = true; |
|
|
|
|
|
const reader = new FileReader(); |
|
|
|
|
|
reader.readAsArrayBuffer(file); |
|
|
|
|
|
reader.onerror = (e) => { |
|
|
|
|
|
this.reading = false; |
|
|
|
|
|
this.$Message.error("文件读取出错"); |
|
|
|
|
|
}; |
|
|
|
|
|
reader.onload = (e) => { |
|
|
|
|
|
const data = e.target.result; |
|
|
|
|
|
const { |
|
|
|
|
|
header, |
|
|
|
|
|
results |
|
|
|
|
|
} = excel.read(data, "array"); |
|
|
|
|
|
const tableTitle = header.map((item) => { |
|
|
|
|
|
return { |
|
|
|
|
|
title: item, |
|
|
|
|
|
key: item, |
|
|
|
|
|
minWidth: 130, |
|
|
|
|
|
align: "center" |
|
|
|
|
|
}; |
|
|
|
|
|
}); |
|
|
|
|
|
this.importTableData = results; |
|
|
|
|
|
this.importColumns = tableTitle; |
|
|
|
|
|
this.reading = false; |
|
|
|
|
|
this.$Message.success("读取数据成功"); |
|
|
|
|
|
}; |
|
|
|
|
|
}, |
|
|
|
|
|
clearImportData() { |
|
|
|
|
|
this.importTableData = []; |
|
|
|
|
|
this.importColumns = []; |
|
|
|
|
|
this.uploadfile = {}; |
|
|
|
|
|
}, |
|
|
|
|
|
downloadTemple() { |
|
|
|
|
|
let title = []; |
|
|
|
|
|
let key = []; |
|
|
|
|
|
userColumns.forEach((e) => { |
|
|
|
|
|
title.push(e.title); |
|
|
|
|
|
key.push(e.key); |
|
|
|
|
|
}); |
|
|
|
|
|
const params = { |
|
|
|
|
|
title: title, |
|
|
|
|
|
key: key, |
|
|
|
|
|
data: userData, |
|
|
|
|
|
autoWidth: true, |
|
|
|
|
|
filename: "导入用户数据模版", |
|
|
|
|
|
}; |
|
|
|
|
|
excel.export_array_to_excel(params); |
|
|
|
|
|
}, |
|
|
|
|
|
importData() { |
|
|
|
|
|
this.importLoading = true; |
|
|
|
|
|
importUserData(this.importTableData).then((res) => { |
|
|
|
|
|
this.importLoading = false; |
|
|
|
|
|
if (res.success) { |
|
|
|
|
|
this.importModalVisible = false; |
|
|
|
|
|
this.getDataList(); |
|
|
|
|
|
this.$Modal.info({ |
|
|
|
|
|
title: "导入结果", |
|
|
|
|
|
content: res.message, |
|
|
|
|
|
}); |
|
|
|
|
|
} |
|
|
|
|
|
}); |
|
|
|
|
|
}, |
|
|
}, |
|
|
|
|
|
|
|
|
showDetail(v) { |
|
|
showDetail(v) { |
|
|
// 转换null为"" |
|
|
// 转换null为"" |
|
|
for (let attr in v) { |
|
|
for (let attr in v) { |
|
|
@ -678,7 +370,6 @@ |
|
|
this.drop = !this.drop; |
|
|
this.drop = !this.drop; |
|
|
}, |
|
|
}, |
|
|
showSelect(e) { |
|
|
showSelect(e) { |
|
|
this.exportData = e; |
|
|
|
|
|
this.selectList = e; |
|
|
this.selectList = e; |
|
|
}, |
|
|
}, |
|
|
clearSelectAll() { |
|
|
clearSelectAll() { |
|
|
|