订单列表相关接口对接
This commit is contained in:
parent
b1e3cd79c0
commit
a0c0652ca5
|
|
@ -4,7 +4,6 @@ export default {
|
||||||
VERTICAL_NAV_GET_ITEM: 'verticalNavGetItem',
|
VERTICAL_NAV_GET_ITEM: 'verticalNavGetItem',
|
||||||
VERTICAL_NAV_SEARCH: 'verticalNavSearch',
|
VERTICAL_NAV_SEARCH: 'verticalNavSearch',
|
||||||
CHOOSE_ADDRESS: 'chooseAddress',
|
CHOOSE_ADDRESS: 'chooseAddress',
|
||||||
SHOW_ARRANGE_FAIL_TIME: 'showArrangeFailTime',
|
|
||||||
HIDE_MODAL: 'hideModal',
|
HIDE_MODAL: 'hideModal',
|
||||||
SUBMIT_FAIL_REASON: 'submitFailReason',
|
SUBMIT_FAIL_REASON: 'submitFailReason',
|
||||||
NEW_SERV_PRICE: 'newServPrice',
|
NEW_SERV_PRICE: 'newServPrice',
|
||||||
|
|
|
||||||
|
|
@ -13,8 +13,8 @@ export default {
|
||||||
})
|
})
|
||||||
let userInfo = _this.getCurUserInfo();
|
let userInfo = _this.getCurUserInfo();
|
||||||
// request 触发前拼接 url
|
// request 触发前拼接 url
|
||||||
args.url = 'https://www.opsoul.com' + args.url;
|
// args.url = 'https://www.opsoul.com' + args.url;
|
||||||
// args.url = 'http://127.0.0.1:80' + args.url;
|
args.url = 'http://127.0.0.1:80' + args.url;
|
||||||
// args.url = 'http://10.45.110.174:80' + args.url;
|
// args.url = 'http://10.45.110.174:80' + args.url;
|
||||||
if (!args.data) {
|
if (!args.data) {
|
||||||
args.data = {}
|
args.data = {}
|
||||||
|
|
@ -365,5 +365,29 @@ export default {
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
return res[1].data;
|
return res[1].data;
|
||||||
|
},
|
||||||
|
async updateOrder(params = {}) {
|
||||||
|
let res = await uni.request({
|
||||||
|
url: '/order/master/editOrderMaster',
|
||||||
|
method: 'POST',
|
||||||
|
data: params
|
||||||
|
})
|
||||||
|
return res[1].data;
|
||||||
|
},
|
||||||
|
async getCanAssignList(params = {}) {
|
||||||
|
let res = await uni.request({
|
||||||
|
url: '/order/can/assign',
|
||||||
|
method: 'POST',
|
||||||
|
data: params
|
||||||
|
})
|
||||||
|
return res[1].data;
|
||||||
|
},
|
||||||
|
async assign(params = {}) {
|
||||||
|
let res = await uni.request({
|
||||||
|
url: '/order/assign',
|
||||||
|
method: 'POST',
|
||||||
|
data: params
|
||||||
|
})
|
||||||
|
return res[1].data;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
<template>
|
<template>
|
||||||
<view>
|
<view>
|
||||||
<view class="margin-bottom-lg">
|
<view class="margin-bottom-lg margin-top-sm">
|
||||||
<view v-if="hasMoreData" class="text-center bg-main-color light padding-tb-sm">
|
<view v-if="hasMoreData" class="text-center bg-main-color light padding-tb-sm">
|
||||||
<text class="margin-right-xs">查看更多</text>
|
<text class="margin-right-xs">查看更多</text>
|
||||||
<text class="text-bold cuIcon-unfold"></text>
|
<text class="text-bold cuIcon-unfold"></text>
|
||||||
|
|
|
||||||
|
|
@ -1,10 +1,27 @@
|
||||||
<template>
|
<template>
|
||||||
<view>
|
<view>
|
||||||
<view v-if="!singleServ">
|
<view>
|
||||||
<view class="solid-bottom"><product-picked :product="product" :pickedList="pickedList" :columnTitleArr="columnTitleArr"></product-picked></view>
|
<view class="solid-bottom padding-bottom-sm">
|
||||||
|
<view v-if="columnTitleArr.length" class="flex justify-between margin-tb-sm">
|
||||||
|
<view class="basis-df">{{columnTitleArr[0]}}</view>
|
||||||
|
<view class="flex justify-end text-center basis-df">
|
||||||
|
<view v-for="(title, index) in columnTitleArr" v-if="index >= 1" class="basis-df">{{title}}</view>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
<view class="flex justify-between margin-tb-xs align-center" v-for="(item,index) in pickedList" :key="index">
|
||||||
|
<view class='cu-tag padding basis-lg'>{{item.goodsName}}</view>
|
||||||
|
<view class="flex justify-end basis-df text-center align-center">
|
||||||
|
<view class="basis-df">{{item.goodsNum}}</view>
|
||||||
|
<view class="basis-df">
|
||||||
|
<uni-number-box :min="0" :max="item.goodsNum" v-model="item.toAssignNum" @change="changePiecesNum($event, item)">
|
||||||
|
</uni-number-box>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
<view class="padding-tb-sm solid-bottom flex justify-between align-center">
|
<view class="padding-tb-sm solid-bottom flex justify-between align-center">
|
||||||
<text class="margin-right-sm" style="width: 150rpx;">派单价格</text>
|
<text class="margin-right-sm" style="width: 150rpx;">派单价格</text>
|
||||||
<input class="line-input radius-input" v-model="dispatchTotalPrice" placeholder="请输入派出总额"></input>
|
<input type="digit" class="line-input radius-input" v-model="dispatchTotalPrice" placeholder="请输入派出总额"></input>
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
<!-- 可指派成员 -->
|
<!-- 可指派成员 -->
|
||||||
|
|
@ -12,11 +29,11 @@
|
||||||
<view class="flex justify-between align-center">
|
<view class="flex justify-between align-center">
|
||||||
<view class="flex justify-start align-center">
|
<view class="flex justify-start align-center">
|
||||||
<view class="cu-avatar round"
|
<view class="cu-avatar round"
|
||||||
:style="'background-image:url(' + member.avatarUrl + ');min-width: 80rpx;min-height: 80rpx'"></view>
|
:style="'background-image:url(' + member.workerLogoUrl + ');min-width: 80rpx;min-height: 80rpx'"></view>
|
||||||
<view class="text-lg margin-left-sm">{{member.name}}</view>
|
<view class="text-lg margin-left-sm">{{member.workerName}}</view>
|
||||||
</view>
|
</view>
|
||||||
<view>
|
<view>
|
||||||
<button class="cu-btn bg-main-color shadow-blur">指派</button>
|
<button class="cu-btn bg-main-color shadow-blur" @click="assignWork(member)">指派</button>
|
||||||
<text v-if="singleServ" class="padding-left text-lg text-gray text-bold" data-modal="showDispatchPriceModal" @click="showModal"><text class="cuIcon-right"></text></text>
|
<text v-if="singleServ" class="padding-left text-lg text-gray text-bold" data-modal="showDispatchPriceModal" @click="showModal"><text class="cuIcon-right"></text></text>
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
|
|
@ -58,20 +75,12 @@
|
||||||
props: {
|
props: {
|
||||||
singleServ: {
|
singleServ: {
|
||||||
type: Boolean,
|
type: Boolean,
|
||||||
default: true
|
default: false
|
||||||
},
|
},
|
||||||
product: {
|
product: {
|
||||||
type: Object,
|
type: Object,
|
||||||
default: {}
|
default: {}
|
||||||
},
|
},
|
||||||
pickedList: {
|
|
||||||
type: Array,
|
|
||||||
default: []
|
|
||||||
},
|
|
||||||
columnTitleArr: {
|
|
||||||
type: Array,
|
|
||||||
default: {}
|
|
||||||
},
|
|
||||||
members: {
|
members: {
|
||||||
type: Array,
|
type: Array,
|
||||||
default: {}
|
default: {}
|
||||||
|
|
@ -84,7 +93,10 @@
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
dispatchTotalPrice: null,
|
dispatchTotalPrice: null,
|
||||||
showDispatchPriceModal: false
|
showDispatchPriceModal: false,
|
||||||
|
columnTitleArr: ['购买机型', '待派单', '派单量'],
|
||||||
|
curOrder: {},
|
||||||
|
pickedList: []
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
|
|
@ -93,6 +105,49 @@
|
||||||
},
|
},
|
||||||
hideModal(e) {
|
hideModal(e) {
|
||||||
this[e.currentTarget.dataset.modal] = false;
|
this[e.currentTarget.dataset.modal] = false;
|
||||||
|
},
|
||||||
|
changePiecesNum(curNum, curItem) {
|
||||||
|
curItem.toAssignNum = curNum;
|
||||||
|
},
|
||||||
|
resetData() {
|
||||||
|
this.dispatchTotalPrice = null;
|
||||||
|
},
|
||||||
|
loadData(order) {
|
||||||
|
this.resetData();
|
||||||
|
this.getCanAssignList(order);
|
||||||
|
},
|
||||||
|
async getCanAssignList(order) {
|
||||||
|
let res = await this.$request.getCanAssignList({
|
||||||
|
orderMasterId: order.orderMasterId
|
||||||
|
});
|
||||||
|
let pickedList = res.data;
|
||||||
|
this.curOrder = order;
|
||||||
|
this.pickedList = pickedList;
|
||||||
|
},
|
||||||
|
assignWork(member) {
|
||||||
|
let goodsToAssign = [];
|
||||||
|
this.pickedList.forEach((item) => {
|
||||||
|
if (item.toAssignNum) {
|
||||||
|
goodsToAssign.push({
|
||||||
|
goodsStandardId: item.goodsStandardId,
|
||||||
|
num: item.toAssignNum
|
||||||
|
})
|
||||||
|
}
|
||||||
|
});
|
||||||
|
if (goodsToAssign.length > 0) {
|
||||||
|
let params = {
|
||||||
|
goodsList: goodsToAssign,
|
||||||
|
workerId: member.workerId,
|
||||||
|
totalPay: this.dispatchTotalPrice,
|
||||||
|
orderMasterId: this.curOrder.orderMasterId
|
||||||
|
}
|
||||||
|
this.$emit('assignWork', params);
|
||||||
|
} else {
|
||||||
|
uni.showToast({
|
||||||
|
title: '请至少选择一种规格',
|
||||||
|
icon: 'none'
|
||||||
|
})
|
||||||
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -10,7 +10,7 @@
|
||||||
<view class="flex justify-between align-center margin-bottom-xs padding-top">
|
<view class="flex justify-between align-center margin-bottom-xs padding-top">
|
||||||
<view>
|
<view>
|
||||||
<text class="text-xxl text-main-color"><text class="cuIcon-phone"></text></text>
|
<text class="text-xxl text-main-color"><text class="cuIcon-phone"></text></text>
|
||||||
<text class="text-bold text-lg margin-lr-xs">{{data.phoneNum}}</text>
|
<text class="text-bold text-lg margin-lr-xs">{{data.customerPhone}}</text>
|
||||||
</view>
|
</view>
|
||||||
<button class="cu-btn line-main-color">拨打</button>
|
<button class="cu-btn line-main-color">拨打</button>
|
||||||
</view>
|
</view>
|
||||||
|
|
|
||||||
|
|
@ -10,7 +10,7 @@
|
||||||
<view class="flex justify-between align-center margin-bottom-xs padding-top">
|
<view class="flex justify-between align-center margin-bottom-xs padding-top">
|
||||||
<view>
|
<view>
|
||||||
<text class="text-xxl text-main-color"><text class="cuIcon-phone"></text></text>
|
<text class="text-xxl text-main-color"><text class="cuIcon-phone"></text></text>
|
||||||
<text class="text-bold text-lg margin-lr-xs">{{data.phoneNum}}</text>
|
<text class="text-bold text-lg margin-lr-xs">{{data.customerPhone}}</text>
|
||||||
</view>
|
</view>
|
||||||
<button class="cu-btn line-main-color">拨打</button>
|
<button class="cu-btn line-main-color">拨打</button>
|
||||||
</view>
|
</view>
|
||||||
|
|
@ -22,27 +22,27 @@
|
||||||
<view class="margin-bottom-xs">
|
<view class="margin-bottom-xs">
|
||||||
<view class="margin-bottom-xs">选择日期:</view>
|
<view class="margin-bottom-xs">选择日期:</view>
|
||||||
<picker mode="date" :value="date" :start="curDate" @change="dateChange">
|
<picker mode="date" :value="date" :start="curDate" @change="dateChange">
|
||||||
<input class="radius-input" v-model="date"></input>
|
<input class="radius-input" v-model="date" disabled></input>
|
||||||
</picker>
|
</picker>
|
||||||
</view>
|
</view>
|
||||||
<view>
|
<view>
|
||||||
<view class="margin-bottom-xs">选择时间:</view>
|
<view class="margin-bottom-xs">选择时间:</view>
|
||||||
<picker class="inline-input" mode="time" :value="'08:00'" :start="'08:00'" :end="'20:00'"
|
<picker mode="time" :value="'08:00'" :start="'08:00'" :end="'20:00'"
|
||||||
@change="timeChange">
|
@change="timeChange">
|
||||||
<input class="radius-input" v-model="time"></input>
|
<input class="radius-input" v-model="time" disabled></input>
|
||||||
</picker>
|
</picker>
|
||||||
<text class="margin-lr-xs">或</text>
|
<!-- <text class="margin-lr-xs">或</text>
|
||||||
<picker class="inline-input" mode="selector" :value="timeRangeIndex" :range="timeRangeList"
|
<picker class="inline-input" mode="selector" :value="timeRangeIndex" :range="timeRangeList"
|
||||||
@change="timeRangeChange">
|
@change="timeRangeChange">
|
||||||
<input class="radius-input" v-model="timeRange"></input>
|
<input class="radius-input" v-model="timeRange" disabled></input>
|
||||||
</picker>
|
</picker> -->
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
<view class="cu-bar bg-white solid-top">
|
<view class="cu-bar bg-white solid-top">
|
||||||
<view class="action margin-0 flex-sub text-black" @click="cannotArrangeTime">无法排单</view>
|
<view class="action margin-0 flex-sub text-black" @click="cannotArrangeTime">无法排单</view>
|
||||||
<view class="action margin-0 flex-sub text-black solid-left" data-modal="showTimeArrangeModal"
|
<view class="action margin-0 flex-sub text-black solid-left" data-modal="showTimeArrangeModal"
|
||||||
@click="arrangeTime">按原时间上门</view>
|
@click="hideModal">按原时间上门</view>
|
||||||
<view class="action margin-0 flex-sub text-main-color solid-left" data-modal="showTimeArrangeModal"
|
<view class="action margin-0 flex-sub text-main-color solid-left" data-modal="showTimeArrangeModal"
|
||||||
@click="arrangeTime">确认</view>
|
@click="arrangeTime">确认</view>
|
||||||
</view>
|
</view>
|
||||||
|
|
@ -53,6 +53,7 @@
|
||||||
<script>
|
<script>
|
||||||
export default {
|
export default {
|
||||||
name: 'time-arrange',
|
name: 'time-arrange',
|
||||||
|
emits: ['showArrangeFailTime'],
|
||||||
props: {
|
props: {
|
||||||
show: {
|
show: {
|
||||||
type: Boolean,
|
type: Boolean,
|
||||||
|
|
@ -61,15 +62,18 @@
|
||||||
data: {
|
data: {
|
||||||
type: Object,
|
type: Object,
|
||||||
default: {}
|
default: {}
|
||||||
|
},
|
||||||
|
curDate: {
|
||||||
|
type: String,
|
||||||
|
default: ''
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
date: '',
|
date: null,
|
||||||
curDate: '',
|
time: null,
|
||||||
time: '',
|
|
||||||
timeRangeList: [],
|
timeRangeList: [],
|
||||||
timeRange: '',
|
timeRange: null,
|
||||||
timeRangeIndex: 0
|
timeRangeIndex: 0
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
@ -78,12 +82,13 @@
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
async loadData() {
|
async loadData() {
|
||||||
this.getCurDateAndTime();
|
|
||||||
this.timeRangeList = await this.$api.data('timeRangeList');
|
this.timeRangeList = await this.$api.data('timeRangeList');
|
||||||
},
|
},
|
||||||
getCurDateAndTime() {
|
resetData() {
|
||||||
let date = new Date();
|
this.date = null;
|
||||||
this.curDate = date.getFullYear() + '-' + (date.getMonth() + 1) + '-' + date.getDate() + " 00:00:00";
|
this.time = null;
|
||||||
|
this.timeRange = null;
|
||||||
|
this.timeRangeIndex = 0;
|
||||||
},
|
},
|
||||||
dateChange(e) {
|
dateChange(e) {
|
||||||
this.date = e.detail.value
|
this.date = e.detail.value
|
||||||
|
|
@ -99,9 +104,19 @@
|
||||||
uni.$emit(this.$globalFun.HIDE_MODAL, e);
|
uni.$emit(this.$globalFun.HIDE_MODAL, e);
|
||||||
},
|
},
|
||||||
cannotArrangeTime(e) {
|
cannotArrangeTime(e) {
|
||||||
uni.$emit(this.$globalFun.SHOW_ARRANGE_FAIL_TIME, e)
|
this.$emit('showArrangeFailTime', e)
|
||||||
},
|
},
|
||||||
arrangeTime(e) {
|
arrangeTime(e) {
|
||||||
|
if (!(this.time || this.timeRange)) {
|
||||||
|
uni.showToast({
|
||||||
|
title: '请选择时间'
|
||||||
|
})
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
let datetime = this.date + ' ' + (this.time || this.timeRange) + ':00';
|
||||||
|
console.log(this.data)
|
||||||
|
this.$emit('editServTime', this.data.orderMasterId, datetime);
|
||||||
|
this.resetData();
|
||||||
this.hideModal(e);
|
this.hideModal(e);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -16,13 +16,13 @@
|
||||||
<my-uni-combox class="inline-combox" :candidates="subStateList" placeholder="请选择"
|
<my-uni-combox class="inline-combox" :candidates="subStateList" placeholder="请选择"
|
||||||
v-model="formData.subState"></my-uni-combox> -->
|
v-model="formData.subState"></my-uni-combox> -->
|
||||||
<!-- 区域筛选picker -->
|
<!-- 区域筛选picker -->
|
||||||
<picker class="inline-combox margin-right-xs" :mode="'multiSelector'" @change="regionChange" :value="areaMultiIndex" :range-key="'name'" :range="areaList">
|
<picker class="inline-combox margin-right-xs" :mode="'multiSelector'" @change="regionChange" @columnchange="regionColChange" :value="areaMultiIndex" :range-key="'areaName'" :range="areaList">
|
||||||
<input class="radius-input" :value="formData.area ? formData.area[0].name + '-' + formData.area[1].name + '-' + formData.area[2].name : ''"
|
<input class="radius-input" disabled :value="formData.area ? formData.area[0].areaName + '-' + formData.area[1].areaName + '-' + formData.area[2].areaName : ''"
|
||||||
placeholder="请选择区域"></input>
|
placeholder="请选择区域"></input>
|
||||||
</picker>
|
</picker>
|
||||||
<!-- 品类筛选picker -->
|
<!-- 品类筛选picker -->
|
||||||
<picker class="inline-combox" :mode="'multiSelector'" @change="categoryChange" :value="categoryMultiIndex" :range-key="'name'" :range="categoryList">
|
<picker class="inline-combox" :mode="'multiSelector'" @change="categoryChange" @columnchange="categoryColChange" :value="categoryMultiIndex" :range-key="'goodsCategoryName'" :range="categoryList">
|
||||||
<input class="line-input radius-input" :value="formData.category ? formData.category[0].name + '-' + formData.category[1].name + '-' + formData.category[2].name : ''"
|
<input class="line-input radius-input" disabled :value="formData.category ? formData.category[0].goodsCategoryName + '-' + formData.category[1].goodsCategoryName + '-' + formData.category[2].goodsCategoryName : ''"
|
||||||
placeholder="请选择品类"></input>
|
placeholder="请选择品类"></input>
|
||||||
</picker>
|
</picker>
|
||||||
</view>
|
</view>
|
||||||
|
|
@ -30,8 +30,8 @@
|
||||||
<input class="line-input radius-input margin-right-sm" v-model="formData.orderKeywords"
|
<input class="line-input radius-input margin-right-sm" v-model="formData.orderKeywords"
|
||||||
placeholder="请输入订单关键字"></input>
|
placeholder="请输入订单关键字"></input>
|
||||||
<view class="text-xl text-bold">
|
<view class="text-xl text-bold">
|
||||||
<text class="cuIcon-search margin-right-sm"></text>
|
<text class="cuIcon-search margin-right-sm" @click="searchOrder"></text>
|
||||||
<text class="cuIcon-refresh"></text>
|
<text class="cuIcon-refresh" @click="resetConditions"></text>
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
|
|
@ -69,7 +69,7 @@
|
||||||
<!-- tab content -->
|
<!-- tab content -->
|
||||||
<view class="padding bg-white margin-top-sm margin-lr-sm" v-for="(order, index) in orderList">
|
<view class="padding bg-white margin-top-sm margin-lr-sm" v-for="(order, index) in orderList">
|
||||||
<view class="flex justify-between">
|
<view class="flex justify-between">
|
||||||
<view class="text-lg text-bold text-cut">{{order.orderGoods.goodsName}}</view>
|
<view class="text-lg text-bold text-cut">{{order.goodsName}}</view>
|
||||||
<!-- 不同状态订单使用不同角标 -->
|
<!-- 不同状态订单使用不同角标 -->
|
||||||
<view v-if="order.orderStatus === 0" class="right-tag padding-lr-sm padding-tb-xs bg-cyan">新</view>
|
<view v-if="order.orderStatus === 0" class="right-tag padding-lr-sm padding-tb-xs bg-cyan">新</view>
|
||||||
<view v-else-if="order.orderStatus === 1" class="right-tag padding-lr-sm padding-tb-xs bg-main-color">未</view>
|
<view v-else-if="order.orderStatus === 1" class="right-tag padding-lr-sm padding-tb-xs bg-main-color">未</view>
|
||||||
|
|
@ -83,21 +83,21 @@
|
||||||
</view>
|
</view>
|
||||||
<view class="margin-top-sm">
|
<view class="margin-top-sm">
|
||||||
<text class="text-main-color text-lg margin-right-xs"><text class="cuIcon-people"></text></text>
|
<text class="text-main-color text-lg margin-right-xs"><text class="cuIcon-people"></text></text>
|
||||||
<text>姓名:{{order.name}}</text>
|
<text>姓名:{{order.customerName}}</text>
|
||||||
</view>
|
</view>
|
||||||
<view class="margin-top-sm">
|
<view class="margin-top-sm">
|
||||||
<text class="text-main-color text-lg margin-right-xs"><text class="cuIcon-location"></text></text>
|
<text class="text-main-color text-lg margin-right-xs"><text class="cuIcon-location"></text></text>
|
||||||
<text class="margin-right-xs">{{order.address}}</text>
|
<text class="margin-right-xs">{{order.address}}</text>
|
||||||
<text class="text-lg" @tap="copyData(order.address)"><text class="cuIcon-copy"></text></text>
|
<text class="text-lg" @tap="copyData(order.address)"><text class="cuIcon-copy"></text></text>
|
||||||
</view>
|
</view>
|
||||||
|
<view class="margin-top-sm">
|
||||||
|
<text class="text-main-color text-lg margin-right-xs"><text class="cuIcon-time"></text></text>
|
||||||
|
<text>服务时间:{{order.serverTime}}</text>
|
||||||
|
</view>
|
||||||
<view class="margin-top-sm" v-if="Boolean(order.doorTime)">
|
<view class="margin-top-sm" v-if="Boolean(order.doorTime)">
|
||||||
<text class="text-main-color text-lg margin-right-xs"><text class="cuIcon-time"></text></text>
|
<text class="text-main-color text-lg margin-right-xs"><text class="cuIcon-time"></text></text>
|
||||||
<text>上门时间:{{order.doorTime}}</text>
|
<text>上门时间:{{order.doorTime}}</text>
|
||||||
</view>
|
</view>
|
||||||
<view class="margin-top-sm" v-else-if="Boolean(order.servTime)">
|
|
||||||
<text class="text-main-color text-lg margin-right-xs"><text class="cuIcon-time"></text></text>
|
|
||||||
<text>服务时间:{{order.servTime}}</text>
|
|
||||||
</view>
|
|
||||||
<view class="margin-top-sm flex justify-start align-center" v-if="order.orderStatus === 2">
|
<view class="margin-top-sm flex justify-start align-center" v-if="order.orderStatus === 2">
|
||||||
<text class="text-main-color text-lg margin-right-xs"><text class="cuIcon-repair"></text></text>
|
<text class="text-main-color text-lg margin-right-xs"><text class="cuIcon-repair"></text></text>
|
||||||
<text>距上门:</text>
|
<text>距上门:</text>
|
||||||
|
|
@ -120,35 +120,35 @@
|
||||||
</view>
|
</view>
|
||||||
<!-- 不同状态订单支持不同操作按钮 -->
|
<!-- 不同状态订单支持不同操作按钮 -->
|
||||||
<view v-if="order.orderStatus === 0">
|
<view v-if="order.orderStatus === 0">
|
||||||
<button class="cu-btn bg-main-color margin-right-xs shadow-blur margin-top-sm" data-popup="dispatchOrder" @tap="togglePopup($event, index)">派单</button>
|
<button class="cu-btn bg-main-color margin-right-xs shadow-blur margin-top-sm" data-popup="dispatchOrder" @click="getCanAssignList(order)" @tap="togglePopup($event, order)">派单</button>
|
||||||
<button class="cu-btn bg-main-color margin-right-xs shadow-blur margin-top-sm">改价</button>
|
<button class="cu-btn bg-main-color margin-right-xs shadow-blur margin-top-sm">改价</button>
|
||||||
<button class="cu-btn bg-main-color margin-right-xs shadow-blur margin-top-sm">转发</button>
|
<button class="cu-btn bg-main-color margin-right-xs shadow-blur margin-top-sm">转发</button>
|
||||||
<button class="cu-btn bg-main-color margin-right-xs shadow-blur margin-top-sm">确认接单</button>
|
<button class="cu-btn bg-main-color margin-right-xs shadow-blur margin-top-sm">确认接单</button>
|
||||||
</view>
|
</view>
|
||||||
<view v-if="order.orderStatus === 1">
|
<view v-if="order.orderStatus === 1">
|
||||||
<button class="cu-btn bg-main-color margin-right-xs shadow-blur margin-top-sm" data-popup="dispatchOrder" @tap="togglePopup($event, index)">派单</button>
|
<button class="cu-btn bg-main-color margin-right-xs shadow-blur margin-top-sm" data-popup="dispatchOrder" @click="getCanAssignList(order)" @tap="togglePopup($event, order)">派单</button>
|
||||||
<button class="cu-btn bg-main-color margin-right-xs shadow-blur margin-top-sm" data-modal="showTimeArrangeModal" @tap="showModal($event, index)">预约时间</button>
|
<button class="cu-btn bg-main-color margin-right-xs shadow-blur margin-top-sm" data-modal="showTimeArrangeModal" @tap="showModal($event, order)">预约时间</button>
|
||||||
</view>
|
</view>
|
||||||
<view v-if="order.orderStatus === 2">
|
<view v-if="order.orderStatus === 2">
|
||||||
<button class="cu-btn bg-main-color margin-right-xs shadow-blur margin-top-sm" @click="showServOrderDetail('waitToServ')">查看</button>
|
<button class="cu-btn bg-main-color margin-right-xs shadow-blur margin-top-sm" @click="showServOrderDetail('waitToServ')">查看</button>
|
||||||
<button class="cu-btn bg-main-color margin-right-xs shadow-blur margin-top-sm" @tap="makePhoneCall(order.phoneNum)">联系客户</button>
|
<button class="cu-btn bg-main-color margin-right-xs shadow-blur margin-top-sm" @tap="makePhoneCall(order.phoneNum)">联系客户</button>
|
||||||
<button class="cu-btn bg-main-color margin-right-xs shadow-blur margin-top-sm" data-modal="showEditTimeArrangeModal" @tap="showModal($event, index)">修改时间</button>
|
<button class="cu-btn bg-main-color margin-right-xs shadow-blur margin-top-sm" data-modal="showEditTimeArrangeModal" @tap="showModal($event, order)">修改时间</button>
|
||||||
<button class="cu-btn bg-main-color margin-right-xs shadow-blur margin-top-sm">立即上门</button>
|
<button class="cu-btn bg-main-color margin-right-xs shadow-blur margin-top-sm">立即上门</button>
|
||||||
</view>
|
</view>
|
||||||
<view v-if="order.orderStatus === 3">
|
<view v-if="order.orderStatus === 3">
|
||||||
<button class="cu-btn bg-main-color margin-right-xs shadow-blur margin-top-sm" @click="showServOrderDetail('waitServing')">查看</button>
|
<button class="cu-btn bg-main-color margin-right-xs shadow-blur margin-top-sm" @click="showServOrderDetail('waitServing')">查看</button>
|
||||||
<button class="cu-btn bg-main-color margin-right-xs shadow-blur margin-top-sm" data-modal="showNewServPriceModal" @tap="showModal($event, index)">改价</button>
|
<button class="cu-btn bg-main-color margin-right-xs shadow-blur margin-top-sm" data-modal="showNewServPriceModal" @tap="showModal($event, order)">改价</button>
|
||||||
<button class="cu-btn bg-main-color margin-right-xs shadow-blur margin-top-sm" @tap="makePhoneCall(order.phoneNum)">联系客户</button>
|
<button class="cu-btn bg-main-color margin-right-xs shadow-blur margin-top-sm" @tap="makePhoneCall(order.phoneNum)">联系客户</button>
|
||||||
<button class="cu-btn bg-main-color margin-right-xs shadow-blur margin-top-sm" data-modal="showEditTimeArrangeModal" @tap="showModal($event, index)">修改时间</button>
|
<button class="cu-btn bg-main-color margin-right-xs shadow-blur margin-top-sm" data-modal="showEditTimeArrangeModal" @tap="showModal($event, order)">修改时间</button>
|
||||||
<button class="cu-btn bg-main-color margin-right-xs shadow-blur margin-top-sm" @tap="finishOrder(order)">拍照回单</button>
|
<button class="cu-btn bg-main-color margin-right-xs shadow-blur margin-top-sm" @tap="finishOrder(order)">拍照回单</button>
|
||||||
<button class="cu-btn bg-main-color margin-right-xs shadow-blur margin-top-sm" data-modal="showPayQrcodeModal" @tap="makePayQrcode($event, index)">生成付款码</button>
|
<button class="cu-btn bg-main-color margin-right-xs shadow-blur margin-top-sm" data-modal="showPayQrcodeModal" @tap="makePayQrcode($event, order)">生成付款码</button>
|
||||||
</view>
|
</view>
|
||||||
<view v-if="order.orderStatus === 4">
|
<view v-if="order.orderStatus === 4">
|
||||||
<button class="cu-btn bg-main-color margin-right-xs shadow-blur margin-top-sm" data-modal="sendUrgentMsgModal" @tap="showModal($event, index)">师傅急报</button>
|
<button class="cu-btn bg-main-color margin-right-xs shadow-blur margin-top-sm" data-modal="sendUrgentMsgModal" @tap="showModal($event, order)">师傅急报</button>
|
||||||
</view>
|
</view>
|
||||||
<view v-if="order.orderStatus === 'afterSaleService'">
|
<view v-if="order.orderStatus === 'afterSaleService'">
|
||||||
<button class="cu-btn bg-main-color margin-right-xs shadow-blur margin-top-sm" @tap="makePhoneCall(order.phoneNum)">联系客户</button>
|
<button class="cu-btn bg-main-color margin-right-xs shadow-blur margin-top-sm" @tap="makePhoneCall(order.phoneNum)">联系客户</button>
|
||||||
<button class="cu-btn bg-main-color margin-right-xs shadow-blur margin-top-sm" data-modal="showEditTimeArrangeModal" @tap="showModal($event, index)">修改时间</button>
|
<button class="cu-btn bg-main-color margin-right-xs shadow-blur margin-top-sm" data-modal="showEditTimeArrangeModal" @tap="showModal($event, order)">修改时间</button>
|
||||||
<button class="cu-btn bg-main-color margin-right-xs shadow-blur margin-top-sm">立即上门</button>
|
<button class="cu-btn bg-main-color margin-right-xs shadow-blur margin-top-sm">立即上门</button>
|
||||||
</view>
|
</view>
|
||||||
<view class="margin-top-sm solid-top padding-top-sm" v-if="order.afterSaleType === 'finished'">
|
<view class="margin-top-sm solid-top padding-top-sm" v-if="order.afterSaleType === 'finished'">
|
||||||
|
|
@ -205,7 +205,7 @@
|
||||||
</view>
|
</view>
|
||||||
<load-status-bar ref="loadStatusBar"></load-status-bar>
|
<load-status-bar ref="loadStatusBar"></load-status-bar>
|
||||||
<!-- 模态框 -->
|
<!-- 模态框 -->
|
||||||
<time-arrange :show="showTimeArrangeModal" :data="curOrder"></time-arrange>
|
<time-arrange :show="showTimeArrangeModal" :data="curOrder" :curDate="curDate" @showArrangeFailTime="showArrangeFailTime" @editServTime="editServTime"></time-arrange>
|
||||||
<time-arrange-fail :show="showArrangeFailTimeModal" :data="curOrder"></time-arrange-fail>
|
<time-arrange-fail :show="showArrangeFailTimeModal" :data="curOrder"></time-arrange-fail>
|
||||||
<new-serv-price :show="showNewServPriceModal" :data="curOrder"></new-serv-price>
|
<new-serv-price :show="showNewServPriceModal" :data="curOrder"></new-serv-price>
|
||||||
<pay-qrcode ref="payQrcode" :show="showPayQrcodeModal" :data="curOrder"></pay-qrcode>
|
<pay-qrcode ref="payQrcode" :show="showPayQrcodeModal" :data="curOrder"></pay-qrcode>
|
||||||
|
|
@ -216,9 +216,9 @@
|
||||||
<uni-popup ref="dispatchOrder" type="bottom" @change="changePopupState">
|
<uni-popup ref="dispatchOrder" type="bottom" @change="changePopupState">
|
||||||
<view class="text-bold text-gray text-lg text-center left-top-sm-bar" data-popup="dispatchOrder" @click="togglePopup"><text
|
<view class="text-bold text-gray text-lg text-center left-top-sm-bar" data-popup="dispatchOrder" @click="togglePopup"><text
|
||||||
class="cuIcon-close"></text></view>
|
class="cuIcon-close"></text></view>
|
||||||
<view class="bg-white padding" style="padding-top: 74rpx;">
|
<view ref="dispatchOrderContent" class="bg-white padding" style="padding-top: 74rpx; min-height: 600rpx;">
|
||||||
<dispatch-order :columnTitleArr="['购买机型', '待派单', '派单量']" :singleServ="curOrder && curOrder.product.pickedList.length === 1 ? true : false"
|
<dispatch-order v-if="myTeamMembers && myTeamMembers.length > 0" @assignWork="assignWork" :members="myTeamMembers"></dispatch-order>
|
||||||
:product="curOrder.product" :pickedList="curOrder.product.pickedList" :members="myTeamMembers"></dispatch-order>
|
<view v-else class="align-center-view text-xl">无可指派的师傅</view>
|
||||||
</view>
|
</view>
|
||||||
<!-- 底部占位 -->
|
<!-- 底部占位 -->
|
||||||
<view class="cu-bar bg-white fixed-bottom-bar"></view>
|
<view class="cu-bar bg-white fixed-bottom-bar"></view>
|
||||||
|
|
@ -290,10 +290,12 @@
|
||||||
}, {
|
}, {
|
||||||
code: 6,
|
code: 6,
|
||||||
name: '确认中'
|
name: '确认中'
|
||||||
}, {
|
},
|
||||||
code: '-',
|
// {
|
||||||
name: '售后中'
|
// code: '-',
|
||||||
}, {
|
// name: '售后中'
|
||||||
|
// },
|
||||||
|
{
|
||||||
code: 4,
|
code: 4,
|
||||||
name: '已完成'
|
name: '已完成'
|
||||||
}],
|
}],
|
||||||
|
|
@ -313,7 +315,8 @@
|
||||||
showEditTimeArrangeModal: false,
|
showEditTimeArrangeModal: false,
|
||||||
sendUrgentMsgModal: false,
|
sendUrgentMsgModal: false,
|
||||||
ifShowPageMeta: false,
|
ifShowPageMeta: false,
|
||||||
picModalImgList: []
|
picModalImgList: [],
|
||||||
|
curDate: ''
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
onLoad() {
|
onLoad() {
|
||||||
|
|
@ -325,13 +328,14 @@
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
async loadData() {
|
async loadData() {
|
||||||
let myTeamInfo = await this.$api.data('myTeamInfo');
|
// let myTeamInfo = await this.$api.data('myTeamInfo');
|
||||||
this.myTeamMembers = myTeamInfo.members;
|
// this.myTeamMembers = myTeamInfo.members;
|
||||||
this.myOrders = await this.$api.data('myOrders');
|
this.myOrders = await this.$api.data('myOrders');
|
||||||
// this.orderList = this.myOrders.orderList;
|
// this.orderList = this.myOrders.orderList;
|
||||||
this.areaList = await this.$api.data('areaList');
|
// this.areaList = await this.$api.data('areaList');
|
||||||
this.categoryList = await this.$api.data('categoryList');
|
// this.categoryList = await this.$api.data('categoryList');
|
||||||
|
|
||||||
|
// 初始化分页参数
|
||||||
for(let i = 0; i < this.subStateList.length; i++) {
|
for(let i = 0; i < this.subStateList.length; i++) {
|
||||||
this.pageParams.push({
|
this.pageParams.push({
|
||||||
pageNum: 0
|
pageNum: 0
|
||||||
|
|
@ -341,6 +345,11 @@
|
||||||
this.loadMasterOrderPage({
|
this.loadMasterOrderPage({
|
||||||
orderStatus: this.subStateList[0].code
|
orderStatus: this.subStateList[0].code
|
||||||
});
|
});
|
||||||
|
// 初始化品类及区域列表
|
||||||
|
this.loadCategoryList();
|
||||||
|
this.loadRegionList();
|
||||||
|
// 初始化指派成员
|
||||||
|
this.loadTeamMembers();
|
||||||
},
|
},
|
||||||
reloadMasterOrderPage(params = {}) {
|
reloadMasterOrderPage(params = {}) {
|
||||||
this.pageParams = [];
|
this.pageParams = [];
|
||||||
|
|
@ -351,20 +360,32 @@
|
||||||
}
|
}
|
||||||
this.orderList = [];
|
this.orderList = [];
|
||||||
this.$refs.loadStatusBar.showLoadMore();
|
this.$refs.loadStatusBar.showLoadMore();
|
||||||
this.loadMasterOrderPage(params);
|
this.loadMasterOrderPage();
|
||||||
},
|
},
|
||||||
async loadMasterOrderPage(params = {}) {
|
async loadMasterOrderPage(params = {}) {
|
||||||
params.pageNum = this.pageParams[this.tabCur].pageNum;
|
params.pageNum = this.pageParams[this.tabCur].pageNum;
|
||||||
params.pageSize = this.$globalData.initPageSize;
|
params.pageSize = this.$globalData.initPageSize;
|
||||||
|
params.orderStatus = this.subStateList[this.tabCur].code;
|
||||||
this.$refs.loadStatusBar.showLoading();
|
this.$refs.loadStatusBar.showLoading();
|
||||||
try {
|
try {
|
||||||
let res = await this.$request.qryMasterOrderPage(params);
|
let res = null;
|
||||||
let rowsLength = res.rows.length;
|
// 不同状态的单需要请求不同接口
|
||||||
if (rowsLength > 0) {
|
if (this.tabCur === 0) {
|
||||||
this.orderList = this.orderList.concat(res.rows);
|
res = await this.$request.qryMasterOrderPage(params);
|
||||||
this.pageParams[this.tabCur].pageNum++;
|
} else {
|
||||||
if (rowsLength === this.pageSize) {
|
|
||||||
this.$refs.loadStatusBar.showLoadMore();
|
}
|
||||||
|
if (res && res.rows) {
|
||||||
|
let rowsLength = res.rows.length;
|
||||||
|
if (rowsLength === 0) {
|
||||||
|
this.orderList = [];
|
||||||
|
} else if (rowsLength > 0) {
|
||||||
|
this.orderList = this.orderList.concat(res.rows);
|
||||||
|
this.pageParams[this.tabCur].pageNum++;
|
||||||
|
if (rowsLength === this.pageSize) {
|
||||||
|
this.$refs.loadStatusBar.showLoadMore();
|
||||||
|
return;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
this.$refs.loadStatusBar.showLoadOver();
|
this.$refs.loadStatusBar.showLoadOver();
|
||||||
|
|
@ -373,16 +394,81 @@
|
||||||
this.$refs.loadStatusBar.showLoadErr();
|
this.$refs.loadStatusBar.showLoadErr();
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
async loadCategoryList(idArr) {
|
||||||
|
let typeList = await this.$request.listByStep();
|
||||||
|
typeList = typeList.data;
|
||||||
|
let col1Id = idArr ? idArr[0] : typeList[0].goodsCategoryId;
|
||||||
|
let subTypeList = await this.$request.listByStep({
|
||||||
|
goodsCategoryId: col1Id
|
||||||
|
});
|
||||||
|
subTypeList = subTypeList.data;
|
||||||
|
let col2Id = idArr ? idArr[1] : subTypeList[0].goodsCategoryId;
|
||||||
|
let subSubTypeList = await this.$request.listByStep({
|
||||||
|
goodsCategoryId: col2Id
|
||||||
|
});
|
||||||
|
subSubTypeList = subSubTypeList.data;
|
||||||
|
this.categoryList.push(typeList);
|
||||||
|
this.categoryList.push(subTypeList);
|
||||||
|
this.categoryList.push(subSubTypeList);
|
||||||
|
},
|
||||||
|
async loadRegionList() {
|
||||||
|
let regionList = await this.$request.areaListByStep();
|
||||||
|
regionList = regionList.data;
|
||||||
|
let subRegionList = [];
|
||||||
|
let subSubRegionList = [];
|
||||||
|
if (regionList && regionList.length > 0) {
|
||||||
|
subRegionList = await this.$request.areaListByStep({
|
||||||
|
parentCode: regionList[0].areaCode
|
||||||
|
});
|
||||||
|
subRegionList = subRegionList.data;
|
||||||
|
}
|
||||||
|
if (subRegionList && subRegionList.length > 0) {
|
||||||
|
subSubRegionList = await this.$request.areaListByStep({
|
||||||
|
parentCode: subRegionList[0].areaCode
|
||||||
|
});
|
||||||
|
subSubRegionList = subSubRegionList.data;
|
||||||
|
}
|
||||||
|
this.areaList.push(regionList);
|
||||||
|
this.areaList.push(subRegionList);
|
||||||
|
this.areaList.push(subSubRegionList);
|
||||||
|
},
|
||||||
|
async loadTeamMembers() {
|
||||||
|
let res = await this.$request.getTeamPage();
|
||||||
|
this.myTeamMembers = res.rows;
|
||||||
|
},
|
||||||
bindEvent() {
|
bindEvent() {
|
||||||
uni.$on(this.$globalFun.SHOW_ARRANGE_FAIL_TIME, this.showArrangeFailTime);
|
|
||||||
uni.$on(this.$globalFun.HIDE_MODAL, this.hideModal);
|
uni.$on(this.$globalFun.HIDE_MODAL, this.hideModal);
|
||||||
uni.$on(this.$globalFun.SUBMIT_FAIL_REASON, this.submitFailReason);
|
uni.$on(this.$globalFun.SUBMIT_FAIL_REASON, this.submitFailReason);
|
||||||
},
|
},
|
||||||
offBindEvent() {
|
offBindEvent() {
|
||||||
uni.$off(this.$globalFun.SHOW_ARRANGE_FAIL_TIME);
|
|
||||||
uni.$off(this.$globalFun.HIDE_MODAL);
|
uni.$off(this.$globalFun.HIDE_MODAL);
|
||||||
uni.$off(this.$globalFun.SUBMIT_FAIL_REASON);
|
uni.$off(this.$globalFun.SUBMIT_FAIL_REASON);
|
||||||
},
|
},
|
||||||
|
async regionColChange(e) {
|
||||||
|
let colObj = e.detail;
|
||||||
|
if (colObj.column == 0) {
|
||||||
|
// 通过一级查二级
|
||||||
|
let subAreaList = await this.$request.areaListByStep({parentCode: this.areaList[0][colObj.value].areaCode});
|
||||||
|
subAreaList = subAreaList.data;
|
||||||
|
let subSubAreaList = [];
|
||||||
|
if (subAreaList.length) {
|
||||||
|
subSubAreaList = await this.$request.areaListByStep({parentCode: subAreaList[0].areaCode});
|
||||||
|
subSubAreaList = subSubAreaList.data;
|
||||||
|
}
|
||||||
|
this.areaList.pop();
|
||||||
|
this.areaList.pop();
|
||||||
|
this.areaList.push(subAreaList);
|
||||||
|
this.areaList.push(subSubAreaList);
|
||||||
|
this.areaMultiIndex = [colObj.value, 0, 0];
|
||||||
|
} else if (colObj.column == 1) {
|
||||||
|
// 通过二级查三级
|
||||||
|
let subAreaList = await this.$request.areaListByStep({parentCode: this.regionList[0][colObj.value].areaCode});
|
||||||
|
subAreaList = subAreaList.data;
|
||||||
|
this.areaList.pop();
|
||||||
|
this.areaList.push(subAreaList);
|
||||||
|
this.areaMultiIndex = [this.areaMultiIndex[0], colObj.value, 0];
|
||||||
|
}
|
||||||
|
},
|
||||||
regionChange(e) {
|
regionChange(e) {
|
||||||
this.areaMultiIndex = e.detail.value;
|
this.areaMultiIndex = e.detail.value;
|
||||||
let chosenArea = [];
|
let chosenArea = [];
|
||||||
|
|
@ -391,6 +477,34 @@
|
||||||
}
|
}
|
||||||
this.formData.area = chosenArea;
|
this.formData.area = chosenArea;
|
||||||
},
|
},
|
||||||
|
async categoryColChange(e) {
|
||||||
|
let colObj = e.detail;
|
||||||
|
if (colObj.column == 0) {
|
||||||
|
// 通过一级查询二级
|
||||||
|
let subTypeList = await this.$request.listByStep({
|
||||||
|
goodsCategoryId: this.categoryList[0][colObj.value].goodsCategoryId
|
||||||
|
});
|
||||||
|
subTypeList = subTypeList.data;
|
||||||
|
let subSubTypeList = await this.$request.listByStep({
|
||||||
|
goodsCategoryId: subTypeList[0].goodsCategoryId
|
||||||
|
});
|
||||||
|
subSubTypeList = subSubTypeList.data;
|
||||||
|
this.categoryList.pop();
|
||||||
|
this.categoryList.pop();
|
||||||
|
this.categoryList.push(subTypeList);
|
||||||
|
this.categoryList.push(subSubTypeList);
|
||||||
|
this.categoryMultiIndex = [colObj.value, 0, 0];
|
||||||
|
} else if (colObj.column == 1) {
|
||||||
|
// 通过二级查三级
|
||||||
|
let subSubTypeList = await this.$request.listByStep({
|
||||||
|
goodsCategoryId: this.categoryList[1][colObj.value].goodsCategoryId
|
||||||
|
});
|
||||||
|
subSubTypeList = subSubTypeList.data;
|
||||||
|
this.categoryList.pop();
|
||||||
|
this.categoryList.push(subSubTypeList);
|
||||||
|
this.categoryMultiIndex = [this.categoryMultiIndex[0], colObj.value, 0];
|
||||||
|
}
|
||||||
|
},
|
||||||
categoryChange(e) {
|
categoryChange(e) {
|
||||||
this.categoryMultiIndex = e.detail.value;
|
this.categoryMultiIndex = e.detail.value;
|
||||||
let chosenCategory = [];
|
let chosenCategory = [];
|
||||||
|
|
@ -399,28 +513,35 @@
|
||||||
}
|
}
|
||||||
this.formData.category = chosenCategory;
|
this.formData.category = chosenCategory;
|
||||||
},
|
},
|
||||||
input(e) {
|
searchOrder(e) {
|
||||||
console.log(e)
|
console.log(e)
|
||||||
console.log(this.formData)
|
console.log(this.formData)
|
||||||
},
|
},
|
||||||
|
resetConditions() {
|
||||||
|
this.formData = {
|
||||||
|
category: null,
|
||||||
|
area: null,
|
||||||
|
orderKeywords: ''
|
||||||
|
}
|
||||||
|
},
|
||||||
tabSelect(e) {
|
tabSelect(e) {
|
||||||
this.tabCur = e.currentTarget.dataset.id;
|
this.tabCur = e.currentTarget.dataset.id;
|
||||||
this.scrollLeft = (e.currentTarget.dataset.id - 1) * 60
|
this.scrollLeft = (e.currentTarget.dataset.id - 1) * 60
|
||||||
// this.reloadMasterOrderPage(this.stateCur, this.subStateList[this.tabCur].code);
|
// this.reloadMasterOrderPage(this.stateCur, this.subStateList[this.tabCur].code);
|
||||||
this.reloadMasterOrderPage({
|
this.reloadMasterOrderPage();
|
||||||
orderStatus: this.subStateList[this.tabCur].code
|
|
||||||
});
|
|
||||||
},
|
},
|
||||||
statusSelect(e) {
|
statusSelect(e) {
|
||||||
this.stateCur = e.currentTarget.dataset.id;
|
this.stateCur = e.currentTarget.dataset.id;
|
||||||
this.loadData(this.stateCur, this.subStateList[this.tabCur].code);
|
this.loadData(this.stateCur, this.subStateList[this.tabCur].code);
|
||||||
},
|
},
|
||||||
setCurOrder(orderIndex) {
|
getCurDateAndTime() {
|
||||||
this.curOrder = this.orderList[orderIndex];
|
let date = new Date();
|
||||||
|
this.curDate = date.getFullYear() + '-' + (date.getMonth() + 1) + '-' + date.getDate() + " 00:00:00";
|
||||||
},
|
},
|
||||||
showModal(e, orderIndex) {
|
showModal(e, orderInfo) {
|
||||||
if (orderIndex != null && orderIndex != undefined) {
|
this.getCurDateAndTime();
|
||||||
this.setCurOrder(orderIndex);
|
if (orderInfo) {
|
||||||
|
this.curOrder = orderInfo;
|
||||||
}
|
}
|
||||||
this[e.currentTarget.dataset.modal] = true;
|
this[e.currentTarget.dataset.modal] = true;
|
||||||
},
|
},
|
||||||
|
|
@ -436,6 +557,19 @@
|
||||||
data: data
|
data: data
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
|
async editServTime(id, datetime) {
|
||||||
|
let res = await this.$request.updateOrder({
|
||||||
|
id: id,
|
||||||
|
revTime: datetime
|
||||||
|
});
|
||||||
|
if (res.code === 0) {
|
||||||
|
this.reloadMasterOrderPage();
|
||||||
|
uni.showToast({
|
||||||
|
title: '修改成功',
|
||||||
|
icon: 'success'
|
||||||
|
})
|
||||||
|
}
|
||||||
|
},
|
||||||
showArrangeFailTime(e) {
|
showArrangeFailTime(e) {
|
||||||
this.showTimeArrangeModal = false;
|
this.showTimeArrangeModal = false;
|
||||||
this.showArrangeFailTimeModal = true;
|
this.showArrangeFailTimeModal = true;
|
||||||
|
|
@ -444,15 +578,15 @@
|
||||||
// TODO: 提交内容后隐藏modal(curOrder信息置null)
|
// TODO: 提交内容后隐藏modal(curOrder信息置null)
|
||||||
this.hideModal(e);
|
this.hideModal(e);
|
||||||
},
|
},
|
||||||
togglePopup(e, orderIndex) {
|
togglePopup(e, orderInfo) {
|
||||||
if (this.ifShowPageMeta) {
|
if (this.ifShowPageMeta) {
|
||||||
this.$refs[e.currentTarget.dataset.popup].close();
|
this.$refs[e.currentTarget.dataset.popup].close();
|
||||||
let timeout = setTimeout(() => {
|
let timeout = setTimeout(() => {
|
||||||
this.curOrder = null;
|
this.curOrder = null;
|
||||||
}, 100);
|
}, 100);
|
||||||
} else {
|
} else {
|
||||||
if (orderIndex != null && orderIndex != undefined) {
|
if (orderInfo) {
|
||||||
this.setCurOrder(orderIndex);
|
this.curOrder = orderInfo;
|
||||||
}
|
}
|
||||||
this.$refs[e.currentTarget.dataset.popup].open();
|
this.$refs[e.currentTarget.dataset.popup].open();
|
||||||
}
|
}
|
||||||
|
|
@ -465,9 +599,9 @@
|
||||||
phoneNumber: phoneNum
|
phoneNumber: phoneNum
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
makePayQrcode(e, orderIndex) {
|
makePayQrcode(e, orderInfo) {
|
||||||
this.$refs.payQrcode.showQrcode('http://10.45.81.125:8081/portal/' + Math.random());
|
this.$refs.payQrcode.showQrcode('http://10.45.81.125:8081/portal/' + Math.random());
|
||||||
this.showModal(e, orderIndex);
|
this.showModal(e, orderInfo);
|
||||||
},
|
},
|
||||||
showServOrderDetail(process) {
|
showServOrderDetail(process) {
|
||||||
uni.navigateTo({
|
uni.navigateTo({
|
||||||
|
|
@ -485,10 +619,24 @@
|
||||||
updateAfterSaleDealStatus(status, index) {
|
updateAfterSaleDealStatus(status, index) {
|
||||||
this.orderList[index].afterSaleDealStatus = status;
|
this.orderList[index].afterSaleDealStatus = status;
|
||||||
},
|
},
|
||||||
|
getCanAssignList(order) {
|
||||||
|
this.$refs.dispatchOrder.$children[0].loadData(order);
|
||||||
|
},
|
||||||
|
/* modal,popup确认或关闭后的回调 */
|
||||||
async showAfterSalePic() {
|
async showAfterSalePic() {
|
||||||
// TODO:查询该售后单中的拒绝原因中上传的截图
|
// TODO:查询该售后单中的拒绝原因中上传的截图
|
||||||
this.picModalImgList = await this.$api.data('picImgList');
|
this.picModalImgList = await this.$api.data('picImgList');
|
||||||
console.log(this.picModalImgList)
|
console.log(this.picModalImgList)
|
||||||
|
},
|
||||||
|
async assignWork(params) {
|
||||||
|
let res = await this.$request.assign(params);
|
||||||
|
if (res.code === 0) {
|
||||||
|
this.getCanAssignList(this.curOrder);
|
||||||
|
uni.showToast({
|
||||||
|
title: '派单成功',
|
||||||
|
icon: 'success'
|
||||||
|
})
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -264,3 +264,13 @@
|
||||||
.float-clear {
|
.float-clear {
|
||||||
clear: both;
|
clear: both;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.align-center-view {
|
||||||
|
position: fixed;
|
||||||
|
top: 50%;
|
||||||
|
left: 50%;
|
||||||
|
-webkit-transform: translateX(-50%) translateY(-50%);
|
||||||
|
-moz-transform: translateX(-50%) translateY(-50%);
|
||||||
|
-ms-transform: translateX(-50%) translateY(-50%);
|
||||||
|
transform: translateX(-50%) translateY(-50%);
|
||||||
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue