fix: bug修复
This commit is contained in:
parent
6c439362b6
commit
c6fdaa2d54
|
|
@ -3910,3 +3910,14 @@ scroll-view.cu-steps .cu-item {
|
|||
.lines-white {
|
||||
color: #ffffff;
|
||||
}
|
||||
|
||||
|
||||
.custom-radio .checklist-text {
|
||||
font-size: 15px!important;
|
||||
font-weight: 500!important;
|
||||
}
|
||||
|
||||
.uni-date__x-input {
|
||||
height: 64rpx!important;
|
||||
line-height: 64rpx!important;
|
||||
}
|
||||
|
|
@ -1,7 +1,8 @@
|
|||
import globalData from '@/common/js/globalData.js';
|
||||
|
||||
export default {
|
||||
address: 'https://www.opsoul.com:8881',
|
||||
// address: 'https://www.opsoul.com:8881',https://gmhl.opsoul.com
|
||||
address: 'https://gmhl.opsoul.com',
|
||||
// 异步接口拦截
|
||||
addInterceptor() {
|
||||
uni.addInterceptor('request', {
|
||||
|
|
@ -11,7 +12,7 @@ export default {
|
|||
title: '加载中'
|
||||
})
|
||||
// request 触发前拼接 url
|
||||
args.url = 'https://www.opsoul.com:8881' + args.url;
|
||||
args.url = 'https://gmhl.opsoul.com' + args.url;
|
||||
// args.url = 'http://192.168.2.54:80' + args.url;
|
||||
// args.url = 'http://127.0.0.1:80' + args.url;
|
||||
if (args.data && Object.prototype && Object.prototype.toString.call(args.data) === '[object Object]') {
|
||||
|
|
@ -707,5 +708,14 @@ export default {
|
|||
data: params
|
||||
})
|
||||
return res[1].data;
|
||||
},
|
||||
// 添加急报记录
|
||||
async addWarnRecord(params = {}) {
|
||||
let res = await uni.request({
|
||||
url: '/warn/record/app/add',
|
||||
method: 'POST',
|
||||
data: params
|
||||
})
|
||||
return res[1].data;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -5,7 +5,7 @@
|
|||
<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-sm">
|
||||
<view v-for="(title, index) in columnTitleArr" v-if="index >= 1" class="basis-df">{{title}}</view>
|
||||
<view v-for="(title, index) in columnTitleArr" :key="index" v-if="index >= 1" class="basis-df">{{title}}</view>
|
||||
</view>
|
||||
</view>
|
||||
<view class="certern-height-with-scroll">
|
||||
|
|
@ -17,7 +17,7 @@
|
|||
</uni-number-box>
|
||||
</view>
|
||||
<view v-else-if="item.valColArr && item.valColArr.length > 0" class="flex justify-end basis-sm text-center">
|
||||
<uni-number-box class="basis-df" v-for="(valCol, index0) in item.valColArr" v-if="valCol.numberBox"
|
||||
<uni-number-box class="basis-df" v-for="(valCol, index0) in item.valColArr" :key="index0" v-if="valCol.numberBox"
|
||||
:min="0" :max="valCol.max" :value="valCol.value" @change="changePiecesNum($event, item)">
|
||||
</uni-number-box>
|
||||
<view class="basis-df" v-else>{{valCol.value}}</view>
|
||||
|
|
@ -46,11 +46,11 @@
|
|||
},
|
||||
pickedList: {
|
||||
type: Array,
|
||||
default: []
|
||||
default: () => []
|
||||
},
|
||||
columnTitleArr: {
|
||||
type: Array,
|
||||
default: []
|
||||
default: () => []
|
||||
},
|
||||
showToServNum: {
|
||||
type: Boolean,
|
||||
|
|
|
|||
|
|
@ -0,0 +1,122 @@
|
|||
<template>
|
||||
<!-- 报价/客户支付模态框 -->
|
||||
<view class="cu-modal" :class="show?'show':''">
|
||||
<view class="cu-dialog">
|
||||
<view class="cu-bar bg-white justify-end solid-bottom">
|
||||
<view class="content">催单/发起约单</view>
|
||||
<view class="action" data-modal="sendUrgentMsgModal" @click="hideModal">
|
||||
<text class="cuIcon-close text-red"></text>
|
||||
</view>
|
||||
</view>
|
||||
<view class="padding padding-lr-xl bg-white text-left">
|
||||
<view class="custom-radio" style="margin-bottom: 20rpx;">
|
||||
<uni-data-checkbox v-model="radio1" selectedColor="#0081ff" :localdata="sex"></uni-data-checkbox>
|
||||
</view>
|
||||
<template v-if="radio1 === 2">
|
||||
<view style="font-size: 32rpx;padding: 20upx 0;border-bottom: 1rpx solid rgba(0, 0, 0, 0.1);">
|
||||
<text>我想约的时间是:</text>
|
||||
</view>
|
||||
<view style="display: flex;flex-direction: row;padding-top: 20upx;">
|
||||
<uni-datetime-picker type="date" :clear-icon="false" v-model="dateStr"/>
|
||||
<picker class="margin-left-xs" mode="selector" :value="timeRangeIndex" :range="timeRangeList"
|
||||
@change="timeRangeChange">
|
||||
<input class="radius-input time-picker" v-model="timeRange" disabled></input>
|
||||
</picker>
|
||||
</view>
|
||||
</template>
|
||||
|
||||
<view class="margin-top-sm">
|
||||
<textarea style="width: 100%;" class="solid radius text-left padding-sm" v-model="detailDesc" maxlength="-1"
|
||||
placeholder="具体情况(选填)"></textarea>
|
||||
</view>
|
||||
</view>
|
||||
<view class="cu-bar solid-top">
|
||||
<view class="action margin-0 flex-sub text-black" data-modal="sendUrgeOrderModal" @tap="hideModal">取消</view>
|
||||
<view class="action margin-0 flex-sub text-main-color solid-left" data-modal="sendUrgeOrderModal" @click="apply">确认</view>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
export default {
|
||||
nama: 'urge-order',
|
||||
emits: ['hideModal', 'confirm'],
|
||||
props: {
|
||||
show: {
|
||||
type: Boolean,
|
||||
default: false
|
||||
},
|
||||
data: {
|
||||
type: Object,
|
||||
default: () => {}
|
||||
}
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
radio1: 0,
|
||||
dateStr: '',
|
||||
detailDesc: '',
|
||||
sex: [{
|
||||
text: '【催单】师傅已约单,催促快上门!',
|
||||
value: 0
|
||||
}, {
|
||||
text: '【催单】师傅未约单,催促快预约!',
|
||||
value: 1
|
||||
}, {
|
||||
text: '【约单】分次上门单,本次请约我!',
|
||||
value: 2
|
||||
}],
|
||||
timeRangeIndex: 0,
|
||||
timeRange: '',
|
||||
timeRangeList: []
|
||||
}
|
||||
},
|
||||
watch: {
|
||||
show() {
|
||||
this.resetData()
|
||||
if(this.show) {
|
||||
this.timeRangeList = this.$globalData.timeRangeList;
|
||||
this.timeRange = this.timeRangeList[0];
|
||||
}
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
hideModal(e) {
|
||||
this.$emit('hideModal', e);
|
||||
this.resetData()
|
||||
},
|
||||
resetData() {
|
||||
this.radio1 = 0
|
||||
this.dateStr = ''
|
||||
this.detailDesc = ''
|
||||
this.timeRangeIndex = 0
|
||||
this.timeRange = this.timeRangeList[0]
|
||||
},
|
||||
timeRangeChange(e) {
|
||||
this.timeRangeIndex = e.detail.value;
|
||||
this.timeRange = this.timeRangeList[this.timeRangeIndex];
|
||||
},
|
||||
async apply(e) {
|
||||
if(this.radio1 == 2) {
|
||||
if(!this.dateStr) {
|
||||
uni.showToast({
|
||||
title: '请选择预约日期',
|
||||
icon: 'none'
|
||||
})
|
||||
return false;
|
||||
}
|
||||
}
|
||||
this.$emit('confirm', {
|
||||
type: this.radio1,
|
||||
content: this.radio1 == 2 ? `约单: 时间${this.dateStr} ${this.timeRange}` : '催单',
|
||||
remark: this.detailDesc
|
||||
});
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style>
|
||||
</style>
|
||||
|
|
@ -21,7 +21,7 @@
|
|||
<view class="title">地址选择</view>
|
||||
<picker :mode="'multiSelector'" @change="regionChange" @columnchange="regionColChange" :value="multiIndex" :range-key="'areaName'" :range="areaList">
|
||||
<view class="picker">
|
||||
{{formData.area && formData.area.length ? formData.area[0].areaName + '-' + formData.area[1].areaName + '-' + formData.area[2].areaName : '请选择'}}
|
||||
{{formData.area && formData.area.length ? formData.area[0].areaName + '-' + formData.area[1].areaName + '-' + formData.area[2].areaName + '-' + formData.area[3].areaName : '请选择'}}
|
||||
</view>
|
||||
</picker>
|
||||
</view>
|
||||
|
|
@ -83,9 +83,13 @@
|
|||
let col2Code = idArr ? idArr[1] : subAreaList[0].areaCode;
|
||||
let subSubAreaList = await this.$request.areaListByStep({ parentCode: col2Code });
|
||||
subSubAreaList = subSubAreaList.data;
|
||||
let col3Code = idArr ? idArr[2] : subSubAreaList[0].areaCode;
|
||||
let subSub2AreaList = await this.$request.areaListByStep({ parentCode: col3Code });
|
||||
subSub2AreaList = subSub2AreaList.data;
|
||||
this.areaList.push(areaList);
|
||||
this.areaList.push(subAreaList);
|
||||
this.areaList.push(subSubAreaList);
|
||||
this.areaList.push(subSub2AreaList);
|
||||
},
|
||||
regionChange(e) {
|
||||
this.multiIndex = e.detail.value;
|
||||
|
|
@ -97,30 +101,45 @@
|
|||
this.formData.provinceId = chosenArea[0].areaId;
|
||||
this.formData.cityId = chosenArea[1].areaId;
|
||||
this.formData.countryId = chosenArea[2].areaId;
|
||||
this.formData.streetId = chosenArea[3].areaId;
|
||||
},
|
||||
async regionColChange(e) {
|
||||
let colObj = e.detail;
|
||||
if (colObj.column == 0) {
|
||||
let subSubAreaList = [];
|
||||
let subSubAreaList = [], subSub2AreaList = [];
|
||||
// 通过一级查询二级,通过二级查三级
|
||||
let subAreaList = await this.$request.areaListByStep({parentCode: this.areaList[0][colObj.value].areaCode});
|
||||
subAreaList = subAreaList.data;
|
||||
if (subAreaList && subAreaList.length) {
|
||||
subSubAreaList = await this.$request.areaListByStep({parentCode: subAreaList[0].areaCode});
|
||||
subSubAreaList = subSubAreaList.data;
|
||||
if(subSubAreaList && subSubAreaList.length) {
|
||||
subSub2AreaList = await this.$request.areaListByStep({parentCode: subSubAreaList[0].areaCode});
|
||||
subSub2AreaList = subSub2AreaList.data;
|
||||
}
|
||||
}
|
||||
this.areaList.pop();
|
||||
this.areaList.pop();
|
||||
this.areaList.push(subAreaList);
|
||||
this.areaList.push(subSubAreaList);
|
||||
this.multiIndex = [colObj.value, 0, 0];
|
||||
this.areaList[1] = subAreaList
|
||||
this.areaList[2] = subSubAreaList
|
||||
this.areaList[3] = subSub2AreaList
|
||||
this.multiIndex = [colObj.value, 0, 0, 0];
|
||||
} else if (colObj.column == 1) {
|
||||
let subSub2AreaList = []
|
||||
// 通过二级查三级
|
||||
let subSubAreaList = await this.$request.areaListByStep({parentCode: this.areaList[1][colObj.value].areaCode});
|
||||
subSubAreaList = subSubAreaList.data;
|
||||
this.areaList.pop();
|
||||
this.areaList.push(subSubAreaList);
|
||||
this.multiIndex = [this.multiIndex[0], colObj.value, 0];
|
||||
if (subSubAreaList && subSubAreaList.length) {
|
||||
subSub2AreaList = await this.$request.areaListByStep({parentCode: subSubAreaList[0].areaCode});
|
||||
subSub2AreaList = subSub2AreaList.data;
|
||||
}
|
||||
this.areaList[2] = subSubAreaList
|
||||
this.areaList[3] = subSub2AreaList
|
||||
this.multiIndex = [this.multiIndex[0], colObj.value, 0, 0];
|
||||
} else if (colObj.column == 2) {
|
||||
// 通过二级查三级
|
||||
let subSubAreaList = await this.$request.areaListByStep({parentCode: this.areaList[2][colObj.value].areaCode});
|
||||
subSubAreaList = subSubAreaList.data;
|
||||
this.areaList[3] = subSubAreaList;
|
||||
this.multiIndex = [this.multiIndex[0], this.multiIndex[1], colObj.value, 0];
|
||||
}
|
||||
},
|
||||
isDefaultChange(e) {
|
||||
|
|
|
|||
|
|
@ -7,13 +7,14 @@
|
|||
</cu-custom>
|
||||
<!-- 地址列表 -->
|
||||
<view class="margin-bottom-with-bar">
|
||||
<view class="padding margin-lr-sm margin-top-sm bg-white flex justify-between align-center" v-for="(item, index) in myAddressList">
|
||||
<view class="padding margin-lr-sm margin-top-sm bg-white flex justify-between align-center" v-for="(item, index) in myAddressList" :key="index">
|
||||
<view @click="chooseAddress(item)">
|
||||
<view class="flex justify-start align-center">
|
||||
<view class='cu-tag bg-yellow margin-right-sm' v-if="item.isDefault">默认</view>
|
||||
<view class="text-gray margin-right-xs">{{item.provinceName}}</view>
|
||||
<view class="text-gray margin-right-xs">{{item.cityName}}</view>
|
||||
<view class="text-gray margin-right-xs">{{item.countryName}}</view>
|
||||
<view class="text-gray margin-right-xs">{{item.streetName || ''}}</view>
|
||||
</view>
|
||||
<view class="text-lg margin-tb-sm">{{item.address}}</view>
|
||||
<view class="text-gray">
|
||||
|
|
|
|||
|
|
@ -8,7 +8,7 @@
|
|||
<!-- 选购的商品列表 -->
|
||||
<view class="margin-lr-sm margin-top-sm margin-bottom-with-bar">
|
||||
<checkbox-group class="block" @change="checked2Buy($event)">
|
||||
<view class="margin-top-sm bg-white" v-for="(item, index0) in pickedProductList">
|
||||
<view class="margin-top-sm bg-white" v-for="(item, index0) in pickedProductList" :key="item.id">
|
||||
<view class="cu-bar solid-bottom">
|
||||
<view class="action bar-first-action">
|
||||
<checkbox class='round margin-right main-color' :value="index0" :checked="allChecked">
|
||||
|
|
@ -21,7 +21,8 @@
|
|||
</view>
|
||||
</view>
|
||||
<view class="margin-top-sm padding-lr">
|
||||
<product-picked v-for="(product, index1) in item.product" :product="product"
|
||||
<product-picked v-for="(product, index1) in item.product" :product="product"
|
||||
:key="index1"
|
||||
:pickedList="product.pickedList" :numberBox="true">
|
||||
</product-picked>
|
||||
</view>
|
||||
|
|
|
|||
|
|
@ -16,7 +16,7 @@
|
|||
</view>
|
||||
</view>
|
||||
<uni-collapse ref="collapse">
|
||||
<uni-collapse-item ref="collapseItem" :showArrow="false" v-for="(billItem, index) in bill" :open="openStatusArr[index] === '0' ? true : false" >
|
||||
<uni-collapse-item ref="collapseItem" :showArrow="false" v-for="(billItem, index) in bill" :key="index" :open="openStatusArr[index] === '0' ? true : false" >
|
||||
<template v-slot:title>
|
||||
<view class="padding bg-white" :data-index="index" @click="showStatement">
|
||||
<view class="margin-bottom-xs">{{billItem.createTime}}</view>
|
||||
|
|
@ -27,6 +27,7 @@
|
|||
</template>
|
||||
<view>
|
||||
<view v-for="(item, index1) in billItem.statement"
|
||||
:key="index1"
|
||||
class="bg-white padding flex justify-between align-center solid-bottom" @click="showDetail(bill[index].statement[index1])">
|
||||
<view>
|
||||
<view class="flex">
|
||||
|
|
|
|||
|
|
@ -351,12 +351,16 @@
|
|||
<view v-if="servDetail.orderStatus >= 2 || servDetail.orderStatus < 5" class="padding solid-bottom" style="z-index: 99;"
|
||||
@click="applyForRefund">
|
||||
退单退款
|
||||
</view>
|
||||
<view v-if="[0,1,2,3].includes(servDetail.orderStatus) && servDetail.workerPhone" class="padding solid-bottom" style="z-index: 99;" @click="sendUrgeOrderModal = true">
|
||||
催单约单
|
||||
</view>
|
||||
</view>
|
||||
<view class="fixed-bottom-bar cu-bar bg-white" style="z-index: 98;"></view>
|
||||
</uni-popup>
|
||||
<!-- 模态框 -->
|
||||
<urgent-msg :show="sendUrgentMsgModal" @hideModal="hideModal"></urgent-msg>
|
||||
<urgent-msg :show="sendUrgentMsgModal" @hideModal="hideModal"></urgent-msg>
|
||||
<urge-order :show="sendUrgeOrderModal" @hideModal="hideModal" @confirm="urgeOrderOpration"></urge-order>
|
||||
<confirm-modal ref="confirmModal" :content="'是否确定取消订单?'" @confirm="cancelOrder"></confirm-modal>
|
||||
<apply-after-service ref="applyAfterService" :data="servDetail"
|
||||
@confirmFeedback="loadData(servDetail.orderMasterId)" @cancel="blurCurOrder"></apply-after-service>
|
||||
|
|
@ -367,13 +371,15 @@
|
|||
<script>
|
||||
import simpleProductPicked from '@/components/goods-card/simple-product-picked.vue';
|
||||
import urgentMsg from '@/pages/my/components/modal/urgent-msg.vue';
|
||||
import urgeOrder from '@/pages/my/components/modal/urge_order.vue';
|
||||
import applyAfterService from '@/pages/my/components/modal/apply-after-service.vue';
|
||||
|
||||
export default {
|
||||
components: {
|
||||
simpleProductPicked,
|
||||
urgentMsg,
|
||||
applyAfterService
|
||||
applyAfterService,
|
||||
urgeOrder
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
|
|
@ -388,6 +394,7 @@
|
|||
process: '',
|
||||
ifShowPageMeta: false,
|
||||
sendUrgentMsgModal: false,
|
||||
sendUrgeOrderModal: false,
|
||||
curDetailOrder: null
|
||||
}
|
||||
},
|
||||
|
|
@ -472,6 +479,22 @@
|
|||
icon: 'error'
|
||||
})
|
||||
}
|
||||
},
|
||||
async urgeOrderOpration(params) {
|
||||
const res = await this.$request.addWarnRecord({
|
||||
orderId: this.servDetail.orderMasterId,
|
||||
orderType: '01',
|
||||
...params
|
||||
})
|
||||
if (res.code != 0) return
|
||||
uni.showToast({
|
||||
title: params.type == 2 ? '约单成功' : '催单成功',
|
||||
icon: 'success',
|
||||
duration: 2000
|
||||
})
|
||||
|
||||
this.sendUrgeOrderModal = false
|
||||
this.togglePopup('orderManage');
|
||||
},
|
||||
async afterServiceFinalCheck(id, agreeStatus) {
|
||||
let res = await this.$request.editAfterServiceRecord({
|
||||
|
|
@ -595,5 +618,7 @@
|
|||
background-color: inherit;
|
||||
overflow: initial;
|
||||
z-index: 99;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
</style>
|
||||
|
|
|
|||
|
|
@ -71,7 +71,8 @@
|
|||
</view>
|
||||
</view>
|
||||
<view class="margin-top-sm padding-lr">
|
||||
<product-picked :columnTitleArr="columnTitleArr" v-for="(product, index1) in item.product"
|
||||
<product-picked :columnTitleArr="columnTitleArr" v-for="(product, index1) in item.product"
|
||||
:key="product.id"
|
||||
:product="product" :pickedList="product.pickedList">
|
||||
</product-picked>
|
||||
</view>
|
||||
|
|
|
|||
|
|
@ -225,6 +225,7 @@
|
|||
params.params[condition.code] = condition.value === 1 ? 'desc' : 'asc';
|
||||
}
|
||||
})
|
||||
// params.areaId = null;
|
||||
if (this.chosenArea[this.chosenArea.length - 1].isAll) {
|
||||
params.areaId = null;
|
||||
params.areaIds = this.chosenArea[this.chosenArea.length - 1].areaIds;
|
||||
|
|
|
|||
Loading…
Reference in New Issue