wangfukang 1 month ago
parent
commit
1f17ef2824
  1. 8
      src/api/index.js
  2. 84
      src/views/app/business/logistics/logistics.vue
  3. 4
      vue.config.js

8
src/api/index.js

@ -749,6 +749,14 @@ export const getOrderList = (params) => {
export const orderScheduling = (params) => { export const orderScheduling = (params) => {
return postBodyRequest('/mall/delivery/pagebyworker', params) return postBodyRequest('/mall/delivery/pagebyworker', params)
} }
// 查询区域配送时长
export const getDeliveryTimeSetting = (params) => {
return getRequest('/mall/admin/seckillGroup/deliveryTime/get', params)
}
// 保存区域配送时长
export const saveDeliveryTimeSetting = (params) => {
return postBodyRequest('/mall/admin/seckillGroup/deliveryTime/save', params)
}
//取消订单 //取消订单
export const returnOrder = (params) => { export const returnOrder = (params) => {
return postRequest('/mall/order/cancel', params) return postRequest('/mall/order/cancel', params)

84
src/views/app/business/logistics/logistics.vue

@ -9,18 +9,32 @@
<TabPane label="饭团订单" name="1"></TabPane> <TabPane label="饭团订单" name="1"></TabPane>
<TabPane label="快递订单" name="2"></TabPane> <TabPane label="快递订单" name="2"></TabPane>
<TabPane label="跑腿订单" name="3"></TabPane> <TabPane label="跑腿订单" name="3"></TabPane>
<TabPane label="基础设置" name="4"></TabPane>
</Tabs> </Tabs>
<Tabs v-model="tabName1" :animated="false" @on-click="changeTab"> <div v-if="tabName !== '4'">
<TabPane label="指派单" name="7"></TabPane> <Tabs v-model="tabName1" :animated="false" @on-click="changeTab">
<TabPane label="待接单" name="0"></TabPane> <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>
<TabPane label="已退款" name="5"></TabPane> <TabPane label="已完成" name="3"></TabPane>
<TabPane label="已取消" name="4"></TabPane> <TabPane label="已退款" name="5"></TabPane>
<TabPane label="预订单" name="6"></TabPane> <TabPane label="已取消" name="4"></TabPane>
</Tabs> <TabPane label="预订单" name="6"></TabPane>
<Row v-show="openSearch" @keydown.enter.native="handleSearch"> </Tabs>
</div>
<div v-else style="padding: 20px 0;">
<Form ref="settingForm" :model="settingForm" :label-width="130" style="width: 420px;">
<FormItem label="设置配送时长">
<InputNumber v-model="settingForm.deliveryTime" :min="0" :precision="0" style="width: 220px" />
<span style="margin-left: 8px;">分钟</span>
</FormItem>
<FormItem>
<Button type="primary" :loading="settingLoading" @click="saveSetting">保存</Button>
</FormItem>
</Form>
</div>
<Row v-if="tabName !== '4'" v-show="openSearch" @keydown.enter.native="handleSearch">
<Form ref="searchForm" :model="searchForm" inline :label-width="90"> <Form ref="searchForm" :model="searchForm" inline :label-width="90">
<FormItem label="配送员名称" prop="workerName"> <FormItem label="配送员名称" prop="workerName">
<Input type="text" v-model="searchForm.workerName" clearable placeholder="请输入配送员名称" <Input type="text" v-model="searchForm.workerName" clearable placeholder="请输入配送员名称"
@ -36,7 +50,7 @@
</FormItem> </FormItem>
</Form> </Form>
</Row> </Row>
<Row align="middle" justify="space-between" class="operation"> <Row v-if="tabName !== '4'" 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="getLogisticsInfo" /> <Icon type="md-refresh" size="18" class="item" @click="getLogisticsInfo" />
@ -59,14 +73,14 @@
</Tooltip> </Tooltip>
</div> </div>
</Row> </Row>
<Alert show-icon v-show="openTip"> <Alert show-icon v-if="tabName !== '4'" v-show="openTip">
已选择 已选择
<span class="select-count">{{ selectList.length }}</span> <span class="select-count">{{ selectList.length }}</span>
<a class="select-clear" @click="clearSelectAll">清空</a> <a class="select-clear" @click="clearSelectAll">清空</a>
</Alert> </Alert>
<Table :loading="loading" border :columns="columns" :data="data" :size="tableSize" sortable="custom" <Table v-if="tabName !== '4'" :loading="loading" border :columns="columns" :data="data" :size="tableSize" sortable="custom"
@on-sort-change="changeSort" @on-selection-change="showSelect" ref="table"></Table> @on-sort-change="changeSort" @on-selection-change="showSelect" ref="table"></Table>
<Row type="flex" justify="end" class="page"> <Row v-if="tabName !== '4'" type="flex" justify="end" class="page">
<Page :current="searchForm.pageNum" :total="total" :page-size="searchForm.pageSize" <Page :current="searchForm.pageNum" :total="total" :page-size="searchForm.pageSize"
@on-change="changePage" @on-page-size-change="changePageSize" :page-size-opts="[10, 20, 50]" @on-change="changePage" @on-page-size-change="changePageSize" :page-size-opts="[10, 20, 50]"
size="small" show-total show-elevator show-sizer></Page> size="small" show-total show-elevator show-sizer></Page>
@ -102,6 +116,8 @@
enableUser, enableUser,
disableUser, disableUser,
deleteOrder, deleteOrder,
getDeliveryTimeSetting,
saveDeliveryTimeSetting,
} from "@/api/index"; } from "@/api/index";
import excel from "@/libs/excel"; import excel from "@/libs/excel";
import addEdit from "./addEdit.vue"; import addEdit from "./addEdit.vue";
@ -127,6 +143,7 @@
loading: true, loading: true,
reading: false, reading: false,
importLoading: false, importLoading: false,
settingLoading: false,
loadingExport: true, loadingExport: true,
exportModalVisible: false, exportModalVisible: false,
transferOrder: false, transferOrder: false,
@ -151,8 +168,14 @@
regionId: JSON.parse(this.getStore("user")).departmentId, regionId: JSON.parse(this.getStore("user")).departmentId,
status: 0 status: 0
}, },
settingForm: {
regionId: JSON.parse(this.getStore("user")).departmentId,
deliveryTime: 30
},
selectDate: null, selectDate: null,
form: {}, form: {},
tabName: "1",
tabName1: "0",
workerList: [{ workerList: [{
type: "index", type: "index",
width: 60, width: 60,
@ -405,6 +428,7 @@
methods: { methods: {
init() { init() {
this.getLogisticsInfo(); this.getLogisticsInfo();
this.getSetting();
}, },
//--> //-->
goTransferOrder(item) { goTransferOrder(item) {
@ -430,10 +454,40 @@
this.searchForm.departmentId = v; this.searchForm.departmentId = v;
}, },
changeOrderTab(v) { changeOrderTab(v) {
if (v === "4") {
this.getSetting();
return;
}
this.searchForm.pageNum = 1; this.searchForm.pageNum = 1;
this.searchForm.deliveryType = v; this.searchForm.deliveryType = v;
this.getLogisticsInfo(); this.getLogisticsInfo();
}, },
getSetting() {
getDeliveryTimeSetting({
regionId: this.settingForm.regionId
}).then((res) => {
if (res.success) {
this.settingForm.deliveryTime = res.result == null ? 30 : Number(res.result);
}
});
},
saveSetting() {
if (this.settingForm.deliveryTime === null || this.settingForm.deliveryTime === undefined || this.settingForm.deliveryTime === "") {
this.$Message.warning("请输入配送时长");
return;
}
this.settingLoading = true;
saveDeliveryTimeSetting({
regionId: this.settingForm.regionId,
deliveryTime: Number(this.settingForm.deliveryTime)
}).then((res) => {
if (res.success) {
this.$Message.success("保存成功");
}
}).finally(() => {
this.settingLoading = false;
});
},
changeTab(v) { changeTab(v) {
this.searchForm.pageNum = 1; this.searchForm.pageNum = 1;
this.searchForm.status = v; this.searchForm.status = v;

4
vue.config.js

@ -7,8 +7,8 @@ module.exports = {
port: 8889, port: 8889,
proxy: { proxy: {
'/hiver': { '/hiver': {
target: 'https://hbkuaishi.com', // 正式1 //target: 'https://hbkuaishi.com', // 正式1
// target: 'http://192.168.100.30:8888', // 本地 target: 'http://192.168.100.30:8888', // 本地
ws: false ws: false
}, },
'/foo': { '/foo': {

Loading…
Cancel
Save