修复若干bug

This commit is contained in:
丁杰 2026-06-08 17:53:00 +08:00
parent f72f164fd8
commit 2fcfba42ea
12 changed files with 1175 additions and 1057 deletions

View File

@ -13,7 +13,7 @@
<input :adjust-position="false" class="real-input" type="number" :maxlength="codeLength" <input :adjust-position="false" class="real-input" type="number" :maxlength="codeLength"
v-model="inputValue" :focus="true" @input="onInput" @focus="onFocus" v-model="inputValue" :focus="true" @input="onInput" @focus="onFocus"
@keyboardheightchange="onkeyboardheightchange" @blur="onBlur" cursor-spacing="100" @keyboardheightchange="onkeyboardheightchange" @blur="onBlur" cursor-spacing="100"
ref="realInput" /> cursor-color="transparent" ref="realInput" />
</view> </view>
<button class="confirm-btn" :disabled="code.length < codeLength" @click="onConfirm">确定</button> <button class="confirm-btn" :disabled="code.length < codeLength" @click="onConfirm">确定</button>
<view class="close-btn" @click="close">×</view> <view class="close-btn" @click="close">×</view>
@ -187,6 +187,7 @@ export default {
height: 100%; height: 100%;
opacity: 0; opacity: 0;
z-index: 2; z-index: 2;
caret-color: transparent;
} }
} }

View File

@ -89,8 +89,12 @@
"path": "pages/order/userorder-list", "path": "pages/order/userorder-list",
"style": { "style": {
"navigationBarTitleText": "订单", "navigationBarTitleText": "订单",
"navigationBarBackgroundColor": "#FFFFFF" "navigationBarBackgroundColor": "#FFFFFF",
"app-plus": {
"softinputNavBar": "none"
} }
}
}, },
{ {
"path": "pages/order/userorder-detail", "path": "pages/order/userorder-detail",

View File

@ -679,7 +679,8 @@ export default {
fetchBrandList() { fetchBrandList() {
request.post('/sj/brand/list', { request.post('/sj/brand/list', {
page: 1, page: 1,
limit: 4 limit: 4,
poster_recommend: 1
}).then(res => { }).then(res => {
if (res.code == 200 && res.data && res.data.list) { if (res.code == 200 && res.data && res.data.list) {
this.brands = res.data.list.map(item => { this.brands = res.data.list.map(item => {
@ -706,7 +707,8 @@ export default {
fetchSkillList() { fetchSkillList() {
request.post('/sj/skill/list', { request.post('/sj/skill/list', {
page: 1, page: 1,
limit: 4 limit: 4,
poster_recommend: 1
}).then(res => { }).then(res => {
if (res.code == 200 && res.data && res.data.list) { if (res.code == 200 && res.data && res.data.list) {
this.skills = res.data.list.map(item => { this.skills = res.data.list.map(item => {
@ -1093,7 +1095,7 @@ page {
.name { .name {
height: 42rpx; height: 42rpx;
font-family: PingFangTC, PingFangTC; font-family: PingFangTC, PingFangTC;
font-weight: bold; font-weight: 500;
font-size: 34rpx; font-size: 34rpx;
color: #333333; color: #333333;
line-height: 42rpx; line-height: 42rpx;

View File

@ -1,40 +1,24 @@
<template> <template>
<view> <view>
<custom-navbar <custom-navbar title="精选品牌"
title="精选品牌"
:leftImg="'https://mrrplus.oss-cn-beijing.aliyuncs.com/photo/system/60ae3383-6ff6-4f42-818b-d9b09a9bd0e0.png'" :leftImg="'https://mrrplus.oss-cn-beijing.aliyuncs.com/photo/system/60ae3383-6ff6-4f42-818b-d9b09a9bd0e0.png'"
:showUser="true" :showUser="true"
backgroundColor="url('https://mrrplus.oss-cn-beijing.aliyuncs.com/photo/system/ce2e62e1-c26a-45c8-a49d-7ed00b2ce02c.png') center 20%/cover no-repeat" backgroundColor="url('https://mrrplus.oss-cn-beijing.aliyuncs.com/photo/system/ce2e62e1-c26a-45c8-a49d-7ed00b2ce02c.png') center 20%/cover no-repeat"
titleColor="#333" titleColor="#333" borderBottom="none" :show-headle="true"
borderBottom="none"
:show-headle="true"
headleSrc="https://mrrplus.oss-cn-beijing.aliyuncs.com/photo/system/51ebca5d-95c5-4fb8-8aa3-560a79100d25.png" headleSrc="https://mrrplus.oss-cn-beijing.aliyuncs.com/photo/system/51ebca5d-95c5-4fb8-8aa3-560a79100d25.png"
@onHeadleClick="goToSearch"> @onHeadleClick="goToSearch" class="nav-img-size">
</custom-navbar> </custom-navbar>
<serviecFirstTab <serviecFirstTab :tabs="tabs" :activeId="activeId" activeColor="#FF4767" @tab-click="tabClick" bgColor="#fff">
:tabs="tabs"
:activeId="activeId"
activeColor="#FF4767"
@tab-click="tabClick"
bgColor="#fff">
</serviecFirstTab> </serviecFirstTab>
<CommonList <CommonList ref="brandListRef" :apiUrl="'/sj/brand/list'" :initialQuery="{}"
ref="brandListRef" :listScrollHeight="`calc(100vh - ${statusBarHeight * 2 + 250}rpx)`" @data-loaded="handleDataLoaded">
:apiUrl="'/sj/brand/list'"
:initialQuery="{}"
:listScrollHeight="`calc(100vh - ${statusBarHeight * 2 + 250}rpx)`"
@data-loaded="handleDataLoaded">
<template #headerScroll> <template #headerScroll>
<view class="icon-tabs"> <view class="icon-tabs">
<view <view v-for="item in iconTabs" :key="item.id" class="icon-tab"
v-for="item in iconTabs" :class="{ active: currentSecondClass == item.id }" @click="selectSecondClass(item.id)">
:key="item.id"
class="icon-tab"
:class="{active: currentSecondClass == item.id}"
@click="selectSecondClass(item.id)">
<image :src="item.photo" class="icon-img" mode="aspectFill"></image> <image :src="item.photo" class="icon-img" mode="aspectFill"></image>
<text class="icon-text">{{ item.title }}</text> <text class="icon-text">{{ item.title }}</text>
</view> </view>
@ -62,14 +46,8 @@
<template #listData="{ list }"> <template #listData="{ list }">
<view class="zhanwei"> <view class="zhanwei">
<view class="brand-grid"> <view class="brand-grid">
<brand-card <brand-card class="brand-card-wrap" v-for="(brand, idx) in enrichedBrandList(list)" :key="brand.id || idx"
class="brand-card-wrap" :item="brand" :tagKeys="brand._tagKeys" @click="handleBrandClick(brand)" />
v-for="(brand, idx) in enrichedBrandList(list)"
:key="brand.id || idx"
:item="brand"
:tagKeys="brand._tagKeys"
@click="handleBrandClick(brand)"
/>
</view> </view>
</view> </view>
</template> </template>
@ -156,7 +134,7 @@ export default {
title: first.title, title: first.title,
children: ((subRes.code === 200 || subRes.state === 1) && subRes.data) ? subRes.data : [] children: ((subRes.code === 200 || subRes.state === 1) && subRes.data) ? subRes.data : []
} }
} catch(e) { } catch (e) {
return { id: first.id, title: first.title, children: [] } return { id: first.id, title: first.title, children: [] }
} }
}); });
@ -202,7 +180,7 @@ export default {
}, },
selectSecondClass(id) { selectSecondClass(id) {
if(this.currentSecondClass === id){ if (this.currentSecondClass === id) {
this.currentSecondClass = ""; this.currentSecondClass = "";
} else { } else {
this.currentSecondClass = id; this.currentSecondClass = id;
@ -238,7 +216,7 @@ export default {
if (params[key] === undefined) delete params[key]; if (params[key] === undefined) delete params[key];
}); });
if(this.$refs.brandListRef) { if (this.$refs.brandListRef) {
this.$refs.brandListRef.manualRefresh(params); this.$refs.brandListRef.manualRefresh(params);
} }
}, },
@ -289,41 +267,54 @@ export default {
z-index: 101; z-index: 101;
} }
::v-deep .service-first-tab{ ::v-deep .service-first-tab {
box-shadow: none !important; box-shadow: none !important;
} }
/* ================= 抽屉下拉样式 ================= */ /* ================= 抽屉下拉样式 ================= */
.filter-panel { .filter-panel {
position: fixed; position: fixed;
left: 0; right: 0; bottom: 0; left: 0;
right: 0;
bottom: 0;
z-index: 100; z-index: 100;
pointer-events: none; pointer-events: none;
overflow: hidden; overflow: hidden;
&.show { &.show {
pointer-events: auto; pointer-events: auto;
.filter-mask { opacity: 1; }
.filter-container { transform: translateY(0); } .filter-mask {
opacity: 1;
}
.filter-container {
transform: translateY(0);
}
} }
.filter-mask { .filter-mask {
position: absolute; position: absolute;
top: 0; left: 0; right: 0; bottom: 0; top: 0;
background: rgba(0,0,0,0.4); left: 0;
right: 0;
bottom: 0;
background: rgba(0, 0, 0, 0.4);
opacity: 0; opacity: 0;
transition: opacity 0.3s ease-in-out; transition: opacity 0.3s ease-in-out;
} }
.filter-container { .filter-container {
position: absolute; position: absolute;
top: 0; left: 0; right: 0; top: 0;
left: 0;
right: 0;
background: #fff; background: #fff;
border-radius: 0 0 30rpx 30rpx; border-radius: 0 0 30rpx 30rpx;
padding: 140rpx 30rpx 40rpx; padding: 140rpx 30rpx 40rpx;
display: flex; display: flex;
flex-direction: column; flex-direction: column;
box-shadow: 0 10rpx 20rpx rgba(0,0,0,0.05); box-shadow: 0 10rpx 20rpx rgba(0, 0, 0, 0.05);
transform: translateY(-100%); transform: translateY(-100%);
transition: transform 0.3s cubic-bezier(0.25, 0.8, 0.25, 1); transition: transform 0.3s cubic-bezier(0.25, 0.8, 0.25, 1);
} }
@ -332,6 +323,7 @@ export default {
.filter-scroll { .filter-scroll {
max-height: 50vh; max-height: 50vh;
} }
.filter-group { .filter-group {
margin-bottom: 30rpx; margin-bottom: 30rpx;
@ -346,17 +338,20 @@ export default {
.pill-list { .pill-list {
display: flex; display: flex;
flex-wrap: wrap; flex-wrap: wrap;
gap: 20rpx 10rpx; /* 控制行间距和列间距 */ gap: 20rpx 10rpx;
/* 控制行间距和列间距 */
} }
} }
/* 通用胶囊按钮 (一行四个) */ /* 通用胶囊按钮 (一行四个) */
.pill-item { .pill-item {
width: calc(25% - 8rpx); /* 精确计算一行四个 */ width: calc(25% - 8rpx);
/* 精确计算一行四个 */
height: 58rpx; height: 58rpx;
background: #F5F5F5; background: #F5F5F5;
font-weight: 400; font-weight: 400;
font-size: 24rpx; /* 字号略小以防溢出 */ font-size: 24rpx;
/* 字号略小以防溢出 */
color: #333333; color: #333333;
line-height: 37rpx; line-height: 37rpx;
@ -381,15 +376,25 @@ export default {
display: flex; display: flex;
justify-content: space-between; justify-content: space-between;
margin-top: 40rpx; margin-top: 40rpx;
.reset-btn, .confirm-btn {
.reset-btn,
.confirm-btn {
width: 47%; width: 47%;
text-align: center; text-align: center;
padding: 22rpx 0; padding: 22rpx 0;
border-radius: 40rpx; border-radius: 40rpx;
font-size: 28rpx; font-size: 28rpx;
} }
.reset-btn { background: #F5F5F5; color: #666; }
.confirm-btn { background: #FF4767; color: #fff; } .reset-btn {
background: #F5F5F5;
color: #666;
}
.confirm-btn {
background: #FF4767;
color: #fff;
}
} }
/* ================= 其他页面样式 ================= */ /* ================= 其他页面样式 ================= */
@ -480,9 +485,10 @@ export default {
// //
.zhanwei { .zhanwei {
background-color: #f5f5f5; background-color: #f5f5f5;
padding: 20rpx 0 0 0 ; padding: 20rpx 0 0 0;
border-radius: 20rpx 20rpx 0rpx 0rpx; border-radius: 20rpx 20rpx 0rpx 0rpx;
} }
.brand-grid { .brand-grid {
background-color: #ffffff; background-color: #ffffff;
display: flex; display: flex;
@ -501,6 +507,7 @@ export default {
::v-deep .list-container { ::v-deep .list-container {
padding: 0; padding: 0;
} }
::v-deep .list-scroll { ::v-deep .list-scroll {
margin-top: 0rpx; margin-top: 0rpx;
} }
@ -510,4 +517,9 @@ export default {
background-color: #f5f5f5; background-color: #f5f5f5;
border-radius: 20rpx 20rpx 0 0; border-radius: 20rpx 20rpx 0 0;
} }
.nav-img-size::v-deep .icon-headle {
width: 36rpx !important;
height: 36rpx !important;
}
</style> </style>

View File

@ -909,8 +909,12 @@ export default {
toruzhu() { toruzhu() {
const idType = this.userInfo.id_type; const idType = this.userInfo.id_type;
const credentialsState = this.userInfo.credentials_state; const credentialsState = this.userInfo.credentials_state;
console.log(idType, credentialsState) if (idType < 0 && credentialsState <= 1) {
if (idType <= 0 && credentialsState === 0) { //
uni.navigateTo({
url: '/pages/ruzhu/ruzhu?type=1'
});
} else if (idType <= 0 && credentialsState === 0) {
// //
uni.navigateTo({ uni.navigateTo({
url: '/pages/ruzhu/ruzhu' url: '/pages/ruzhu/ruzhu'

View File

@ -2,8 +2,8 @@
<view class="collection-page"> <view class="collection-page">
<custom-navbar title="我的收藏" :showBack="true" backgroundColor="#FFFFFF" :show-headle="true" borderBottom="none" <custom-navbar title="我的收藏" :showBack="true" backgroundColor="#FFFFFF" :show-headle="true" borderBottom="none"
headleSrc="https://mrrplus.oss-cn-beijing.aliyuncs.com/photo/system/51ebca5d-95c5-4fb8-8aa3-560a79100d25.png" headleSrc="https://mrrplus.oss-cn-beijing.aliyuncs.com/photo/system/b18bac2f-3e4c-4586-9d45-0f088629c9d1.png"
@onHeadleClick="goToSearch"> @onHeadleClick="goToSearch" class="serch-tap">
</custom-navbar> </custom-navbar>
<view class="tab-bar-wrap" :style="{ top: navHeight + 'px' }"> <view class="tab-bar-wrap" :style="{ top: navHeight + 'px' }">
@ -16,11 +16,7 @@
收藏的课程 收藏的课程
</view> </view>
</view> </view>
<view class="filter-area" @tap="toggleFilterPanel"
v-if="currentTab === 'brand' ? rawBrandList.length > 0 : rawCourseList.length > 0">
<text class="filter-text">筛选</text>
<image class="filter-icon" :src="filterIcon" mode="aspectFit" :class="{ 'rotate': filterVisible }"></image>
</view>
</view> </view>
</view> </view>
@ -449,7 +445,7 @@ export default {
&.active { &.active {
color: #FF4767; color: #FF4767;
background: #FFECEF; background: #FFECEF;
border: 1rpx solid #FFB0BD; border: 2rpx solid #FFB0BD;
border-radius: 29rpx; border-radius: 29rpx;
} }
} }
@ -633,8 +629,9 @@ export default {
/* 内容区缩进补充 */ /* 内容区缩进补充 */
.collection-content { .collection-content {
padding: 0 24rpx; padding: 0 24rpx 24rpx;
margin-top: 20rpx; margin-top: 20rpx;
overflow: hidden;
} }
.brand-grid { .brand-grid {
@ -667,7 +664,7 @@ export default {
} }
::v-deep .icon-headle { ::v-deep .icon-headle {
width: 32rpx !important; width: 36rpx !important;
height: 32rpx !important; height: 36rpx !important;
} }
</style> </style>

View File

@ -21,10 +21,10 @@
</view> </view>
</scroll-view> </scroll-view>
</view> </view>
<view style="background-color: #f5f5f5; height: 20rpx"></view>
<CommonList ref="groupRef" :isLogin="isLogin" :apiUrl="apiUrl" <CommonList nList ref="groupRef" :isLogin="isLogin" :apiUrl="apiUrl"
:listScrollHeight="`calc(100vh - 280rpx - 100rpx)`" @load-success="loadSuccess"> :listScrollHeight="`calc(100vh - 280rpx - 20rpx)`" @load-success="loadSuccess" class="nodatamit">
<template #listData="{ list }"> <template #listData="{ list }" class="commit">
<view class="order-item-wrap" v-for="item in popList" :key="item.id"> <view class="order-item-wrap" v-for="item in popList" :key="item.id">
<OrderCard v-if="activeFirstId != 3" :haveButton="haveButton" :dataItem="item" <OrderCard v-if="activeFirstId != 3" :haveButton="haveButton" :dataItem="item"
:typeId="activeFirstId" @cancel="cancelOrder($event, item)" @start="startOrder($event, item)" :typeId="activeFirstId" @cancel="cancelOrder($event, item)" @start="startOrder($event, item)"
@ -582,13 +582,13 @@ export default {
/* #endif */ /* #endif */
left: 0; left: 0;
right: 0; right: 0;
background: #fff; background: #fafafa;
z-index: 99; z-index: 99;
} }
.status-tabs { .status-tabs {
height: 94rpx; height: 94rpx;
background-color: #ffffff; background-color: #fafafa;
white-space: nowrap; white-space: nowrap;
} }
@ -624,7 +624,7 @@ export default {
.status-tabs2 { .status-tabs2 {
height: 56rpx; height: 56rpx;
background-color: #ffffff; background-color: #fafafa;
white-space: nowrap; white-space: nowrap;
padding-bottom: 30rpx; padding-bottom: 30rpx;
padding-top: 10rpx; padding-top: 10rpx;
@ -654,8 +654,7 @@ export default {
/* 数据列表及卡片外框样式 */ /* 数据列表及卡片外框样式 */
.order-item-wrap { .order-item-wrap {
background-color: #fff; background-color: #f5f5f5;
border-radius: 12px;
overflow: hidden; overflow: hidden;
} }
@ -704,4 +703,8 @@ export default {
box-sizing: border-box; box-sizing: border-box;
/* padding-top: 24rpx; */ /* padding-top: 24rpx; */
} }
.nodatamit {
background-color: #f5f5f5;
}
</style> </style>

View File

@ -13,13 +13,8 @@
</view> </view>
</view> </view>
<view class="service-time-card"> <view class="service-time-card" v-if="hasBusinessTime">
<view class="card-header-flex" @click="isExpandTime = !isExpandTime"> <view class="time-content">
<text class="header-title">{{ isExpandTime ? '服务时间' : '设置服务时间' }}</text>
<image class="arrow-icon" :class="{ 'rotated': isExpandTime }" src="https://mrrplus.oss-cn-beijing.aliyuncs.com/photo/system/6cfe4592-e9c6-45b6-ac45-625bc361aded.png"></image>
</view>
<view class="time-content" v-if="isExpandTime">
<view class="time-blocks-container"> <view class="time-blocks-container">
<view class="t-block"> <view class="t-block">
<text class="t-time">{{ formatTime(startTime) }}</text> <text class="t-time">{{ formatTime(startTime) }}</text>
@ -33,15 +28,29 @@
</view> </view>
<view class="modify-btn-outline" @click="showTimePicker" v-if="!showBottomActions && !showTimePickerFlag"> <view class="modify-btn-outline" @click="showTimePicker" v-if="!showBottomActions && !showTimePickerFlag">
<image class="edit-icon" src="https://mrrplus.oss-cn-beijing.aliyuncs.com/photo/system/d67adcda-d334-440f-87d4-d709983b0101.png"></image> <image class="edit-icon"
src="https://mrrplus.oss-cn-beijing.aliyuncs.com/photo/system/d67adcda-d334-440f-87d4-d709983b0101.png">
</image>
<text>修改服务时间</text> <text>修改服务时间</text>
</view> </view>
</view> </view>
</view> </view>
<view class="service-time-card1" v-if="!hasBusinessTime">
<view class="modify-btn-outline1" @click="showTimePicker">
<image class="edit-icon"
src="https://mrrplus.oss-cn-beijing.aliyuncs.com/photo/system/176a8b35-14bd-4cd1-a187-4165d07c0dcb.png">
</image>
<text>设置服务时间</text>
</view>
</view>
<view class="setup-modal-mask" v-if="showSetupModal" catchtouchmove="true"> <view class="setup-modal-mask" v-if="showSetupModal" catchtouchmove="true">
<view class="setup-modal-content"> <view class="setup-modal-content">
<image class="modal-bg" src="https://mrrplus.oss-cn-beijing.aliyuncs.com/photo/system/ac2cb4aa-a7c5-4776-98f4-b77e9c0cfa85.png"></image> <image class="modal-bg"
src="https://mrrplus.oss-cn-beijing.aliyuncs.com/photo/system/ac2cb4aa-a7c5-4776-98f4-b77e9c0cfa85.png">
</image>
<view class="modal-header"> <view class="modal-header">
<text>温馨提示</text> <text>温馨提示</text>
@ -53,7 +62,9 @@
<view class="missing-list"> <view class="missing-list">
<view class="missing-item" v-if="!hasBusinessTime"> <view class="missing-item" v-if="!hasBusinessTime">
<view class="item-left"> <view class="item-left">
<image class="item-icon" src="https://mrrplus.oss-cn-beijing.aliyuncs.com/photo/system/21b26b44-5e36-4291-8900-705a3d5bfa90.png"></image> <image class="item-icon"
src="https://mrrplus.oss-cn-beijing.aliyuncs.com/photo/system/21b26b44-5e36-4291-8900-705a3d5bfa90.png">
</image>
<view class="item-texts"> <view class="item-texts">
<text class="item-title">营业时间未配置</text> <text class="item-title">营业时间未配置</text>
<text class="item-desc">请完善店铺的营业时间</text> <text class="item-desc">请完善店铺的营业时间</text>
@ -64,7 +75,9 @@
<view class="missing-item" v-if="!hasServiceSkill"> <view class="missing-item" v-if="!hasServiceSkill">
<view class="item-left"> <view class="item-left">
<image class="item-icon" src="https://mrrplus.oss-cn-beijing.aliyuncs.com/photo/system/21b26b44-5e36-4291-8900-705a3d5bfa90.png"></image> <image class="item-icon"
src="https://mrrplus.oss-cn-beijing.aliyuncs.com/photo/system/21b26b44-5e36-4291-8900-705a3d5bfa90.png">
</image>
<view class="item-texts"> <view class="item-texts">
<text class="item-title">服务技能未配置</text> <text class="item-title">服务技能未配置</text>
<text class="item-desc">请完善服务技能</text> <text class="item-desc">请完善服务技能</text>
@ -75,9 +88,13 @@
<view class="missing-item" v-if="!isCertified"> <view class="missing-item" v-if="!isCertified">
<view class="item-left"> <view class="item-left">
<image class="item-icon" :src="isUnderReview ? 'https://mrrplus.oss-cn-beijing.aliyuncs.com/photo/system/25c444be-a66e-45d6-b50d-922149ff059f.png' : 'https://mrrplus.oss-cn-beijing.aliyuncs.com/photo/system/21b26b44-5e36-4291-8900-705a3d5bfa90.png'"></image> <image class="item-icon"
:src="isUnderReview ? 'https://mrrplus.oss-cn-beijing.aliyuncs.com/photo/system/25c444be-a66e-45d6-b50d-922149ff059f.png' : 'https://mrrplus.oss-cn-beijing.aliyuncs.com/photo/system/21b26b44-5e36-4291-8900-705a3d5bfa90.png'">
</image>
<view class="item-texts"> <view class="item-texts">
<text class="item-title" :class="{'blue-text': isUnderReview}">{{ isUnderReview ? '资质认证中' : '资质未认证' }}</text> <text class="item-title" :class="{ 'blue-text': isUnderReview }">{{ isUnderReview ? '资质认证中' :
'资质未认证'
}}</text>
<text class="item-desc">请完成资质认证</text> <text class="item-desc">请完成资质认证</text>
</view> </view>
</view> </view>
@ -103,15 +120,13 @@
<text class="confirm-text" @click="confirmTime">确定</text> <text class="confirm-text" @click="confirmTime">确定</text>
</view> </view>
<view class="time-range"> <view class="time-range">
<view class="time-block" :class="{ active: timeType === 'start' }" <view class="time-block" :class="{ active: timeType === 'start' }" @click="switchTimeType('start')">
@click="switchTimeType('start')"> <text class="time-value-picker">{{ formatTime(startTime) }}</text>
<text class="time-value-picker">{{formatTime(startTime)}}</text>
<text class="time-label">开始时间</text> <text class="time-label">开始时间</text>
</view> </view>
<text class="time-separator"></text> <text class="time-separator"></text>
<view class="time-block" :class="{ active: timeType === 'end' }" <view class="time-block" :class="{ active: timeType === 'end' }" @click="switchTimeType('end')">
@click="switchTimeType('end')"> <text class="time-value-picker">{{ formatTime(endTime) }}</text>
<text class="time-value-picker">{{formatTime(endTime)}}</text>
<text class="time-label">结束时间</text> <text class="time-label">结束时间</text>
</view> </view>
</view> </view>
@ -120,12 +135,12 @@
:indicator-style="indicatorStyle"> :indicator-style="indicatorStyle">
<picker-view-column> <picker-view-column>
<view class="picker-item" v-for="(hour, index) in hours" :key="index"> <view class="picker-item" v-for="(hour, index) in hours" :key="index">
{{hour}} {{ hour }}
</view> </view>
</picker-view-column> </picker-view-column>
<picker-view-column> <picker-view-column>
<view class="picker-item" v-for="(minute, index) in minutes" :key="index"> <view class="picker-item" v-for="(minute, index) in minutes" :key="index">
{{minute}} {{ minute }}
</view> </view>
</picker-view-column> </picker-view-column>
<picker-view-column> <picker-view-column>
@ -133,12 +148,12 @@
</picker-view-column> </picker-view-column>
<picker-view-column> <picker-view-column>
<view class="picker-item" v-for="(hour, index) in hours" :key="index"> <view class="picker-item" v-for="(hour, index) in hours" :key="index">
{{hour}} {{ hour }}
</view> </view>
</picker-view-column> </picker-view-column>
<picker-view-column> <picker-view-column>
<view class="picker-item" v-for="(minute, index) in minutes" :key="index"> <view class="picker-item" v-for="(minute, index) in minutes" :key="index">
{{minute}} {{ minute }}
</view> </view>
</picker-view-column> </picker-view-column>
</picker-view> </picker-view>
@ -189,7 +204,7 @@ export default {
authDetails: null, authDetails: null,
sjId: null, sjId: null,
showSetupModal: false, showSetupModal: false,
isExpandTime: false, // falsetrue isExpandTime: true, //
isLogin: true // isLogin: true //
} }
}, },
@ -334,15 +349,15 @@ export default {
const currentStatus = this.userInfo.order_taking; const currentStatus = this.userInfo.order_taking;
const isCurrentlyResting = currentStatus != 1; // const isCurrentlyResting = currentStatus != 1; //
//
if (isCurrentlyResting && !this.canOpenStore) {
this.showSetupModal = true;
return;
}
// //
let newStatus = currentStatus == 1 ? 2 : 1; let newStatus = currentStatus == 1 ? 2 : 1;
//
if (newStatus === 1 && !this.hasBusinessTime) {
uni.showToast({ title: '请配置营业时间', icon: 'none' });
return;
}
uni.showLoading({ title: '切换中...', mask: true }); uni.showLoading({ title: '切换中...', mask: true });
request.post("/sj/sjordertaking", { request.post("/sj/sjordertaking", {
@ -431,12 +446,10 @@ export default {
return `${time.hour}:${time.minute}` return `${time.hour}:${time.minute}`
}, },
// // -
confirmTime() { confirmTime() {
const newTime = `${this.formatTime(this.startTime)}-${this.formatTime(this.endTime)}` const newTime = `${this.formatTime(this.startTime)}-${this.formatTime(this.endTime)}`
console.log('选择的时间:', newTime) //
// //
if (!this.validateTime(this.startTime, this.endTime)) { if (!this.validateTime(this.startTime, this.endTime)) {
uni.showToast({ uni.showToast({
@ -447,12 +460,9 @@ export default {
} }
this.tempTime = newTime this.tempTime = newTime
this.showBottomActions = true
this.hideTimePicker()
//
this.currentTime = newTime this.currentTime = newTime
console.log('临时存储的时间:', this.tempTime) // this.hideTimePicker()
this.submitChange()
}, },
// //
@ -501,10 +511,6 @@ export default {
title: '营业时间更新成功', title: '营业时间更新成功',
icon: 'none' icon: 'none'
}) })
setTimeout(() => {
uni.navigateBack()
}, 1500)
} else { } else {
uni.showToast({ uni.showToast({
title: res.msg || '提交失败', title: res.msg || '提交失败',
@ -551,11 +557,13 @@ export default {
padding: 18rpx 24rpx; padding: 18rpx 24rpx;
margin-bottom: 34rpx; margin-bottom: 34rpx;
} }
.setting-label { .setting-label {
font-size: 30rpx; font-size: 30rpx;
color: #333; color: #333;
font-weight: 500; font-weight: 500;
} }
.custom-switch { .custom-switch {
width: 140rpx; width: 140rpx;
height: 56rpx; height: 56rpx;
@ -578,16 +586,24 @@ export default {
transition: opacity 0.3s; transition: opacity 0.3s;
font-weight: 500; font-weight: 500;
} }
.text-on { .text-on {
left: 12rpx; left: 12rpx;
opacity: 0; opacity: 0;
} }
.text-off { .text-off {
right: 12rpx; right: 12rpx;
opacity: 1; opacity: 1;
} }
&.is-on .text-on { opacity: 1; }
&.is-on .text-off { opacity: 0; } &.is-on .text-on {
opacity: 1;
}
&.is-on .text-off {
opacity: 0;
}
.switch-dot { .switch-dot {
width: 48rpx; width: 48rpx;
@ -597,8 +613,9 @@ export default {
position: absolute; position: absolute;
left: 4rpx; left: 4rpx;
transition: transform 0.3s cubic-bezier(0.25, 1, 0.5, 1); transition: transform 0.3s cubic-bezier(0.25, 1, 0.5, 1);
box-shadow: 0 2rpx 6rpx rgba(0,0,0,0.15); box-shadow: 0 2rpx 6rpx rgba(0, 0, 0, 0.15);
} }
&.is-on .switch-dot { &.is-on .switch-dot {
transform: translateX(84rpx); transform: translateX(84rpx);
} }
@ -610,62 +627,81 @@ export default {
border-radius: 20rpx; border-radius: 20rpx;
padding: 24rpx 24rpx; padding: 24rpx 24rpx;
} }
.service-time-card1 {
width: 710rpx;
height: 80rpx;
background: #FFFFFF;
border-radius: 20rpx;
}
.card-header-flex { .card-header-flex {
display: flex; display: flex;
justify-content: space-between; justify-content: space-between;
align-items: center; align-items: center;
} }
.header-title { .header-title {
font-size: 30rpx; font-size: 30rpx;
color: #333; color: #333;
font-weight: 500; font-weight: 500;
transition: all 0.3s ease-in-out; transition: all 0.3s ease-in-out;
} }
.arrow-icon { .arrow-icon {
width: 16rpx; width: 16rpx;
height: 9rpx; height: 9rpx;
transition: transform 0.3s; transition: transform 0.3s;
transform: rotate(-360deg); /* 默认朝下 */ transform: rotate(-360deg);
/* 默认朝下 */
} }
.arrow-icon.rotated { .arrow-icon.rotated {
transform: rotate(180deg); /* 展开朝上 */ transform: rotate(180deg);
/* 展开朝上 */
} }
.time-blocks-container { .time-blocks-container {
margin-top: 40rpx; margin-top: 40rpx;
display: flex; display: flex;
align-items: center; align-items: center;
justify-content: space-between; justify-content: space-between;
} }
.t-block { .t-block {
width: 280rpx; width: 280rpx;
height: 150rpx; height: 150rpx;
background: #F5F5F5 ; background: #F5F5F5;
border-radius: 16rpx; border-radius: 16rpx;
display: flex; display: flex;
flex-direction: column; flex-direction: column;
justify-content: center; justify-content: center;
align-items: center; align-items: center;
} }
.t-time { .t-time {
font-size: 42rpx; font-size: 42rpx;
color: #333; color: #333;
font-weight: 500; font-weight: 500;
} }
.t-label { .t-label {
font-size: 24rpx; font-size: 24rpx;
color: #999; color: #999;
margin-top: 12rpx; margin-top: 12rpx;
} }
.t-separator { .t-separator {
font-weight: 400; font-weight: 400;
font-size: 28rpx; font-size: 28rpx;
color: #999999; color: #999999;
line-height: 40rpx; line-height: 40rpx;
} }
.modify-btn-outline { .modify-btn-outline {
margin-top: 50rpx; margin-top: 50rpx;
height: 78rpx; height: 78rpx;
border-radius: 43rpx; border-radius: 50rpx;
border: 1rpx solid #FF4767; border: 1rpx solid #FF4767;
display: flex; display: flex;
align-items: center; align-items: center;
@ -674,6 +710,18 @@ export default {
font-size: 28rpx; font-size: 28rpx;
margin-bottom: 10rpx; margin-bottom: 10rpx;
} }
.modify-btn-outline1 {
margin-top: 50rpx;
height: 78rpx;
border-radius: 50rpx;
display: flex;
align-items: center;
justify-content: center;
font-size: 28rpx;
margin-bottom: 10rpx;
}
.edit-icon { .edit-icon {
width: 30rpx; width: 30rpx;
height: 30rpx; height: 30rpx;
@ -683,7 +731,10 @@ export default {
/* ============ 提示弹窗样式 (完全一致) ============ */ /* ============ 提示弹窗样式 (完全一致) ============ */
.setup-modal-mask { .setup-modal-mask {
position: fixed; position: fixed;
top: 0; left: 0; right: 0; bottom: 0; top: 0;
left: 0;
right: 0;
bottom: 0;
background: rgba(0, 0, 0, 0.5); background: rgba(0, 0, 0, 0.5);
z-index: 9999; z-index: 9999;
display: flex; display: flex;
@ -701,7 +752,8 @@ export default {
.modal-bg { .modal-bg {
position: absolute; position: absolute;
top: 0; left: 0; top: 0;
left: 0;
width: 630rpx; width: 630rpx;
height: 265rpx; height: 265rpx;
z-index: 0; z-index: 0;
@ -786,9 +838,17 @@ export default {
font-weight: 400; font-weight: 400;
margin-top: -45rpx; margin-top: -45rpx;
&.orange { color: #FF7B00; } &.orange {
&.grey { color: #999999; } color: #FF7B00;
&.light-green { color: #18b566; } }
&.grey {
color: #999999;
}
&.light-green {
color: #18b566;
}
} }
} }
} }
@ -957,7 +1017,8 @@ export default {
gap: 50rpx; gap: 50rpx;
} }
.btn-cancel-large, .btn-confirm-large { .btn-cancel-large,
.btn-confirm-large {
font-size: 34rpx; font-size: 34rpx;
flex: 1; flex: 1;
font-weight: 400; font-weight: 400;

View File

@ -98,9 +98,9 @@
</template> </template>
<script> <script>
import request from '../../utils/request'; import request from '../../utils/request';
export default { export default {
data() { data() {
return { return {
sjInformation: {}, sjInformation: {},
@ -167,6 +167,10 @@
async onLoad() { async onLoad() {
this.sjInformation = await request.post('/sj/user/getUser'); this.sjInformation = await request.post('/sj/user/getUser');
await this.initPage(); await this.initPage();
//
if (this.currentSkills.length === 0 && !this.originalMajor) {
this.startChange();
}
}, },
onReady() { onReady() {
// padding // padding
@ -177,7 +181,7 @@
async initPage() { async initPage() {
this.isLoading = true; this.isLoading = true;
try { try {
this.originalMajor = this.sjInformation?.data?.major || null; this.originalMajor = this.sjInformation?.data?.major ? Number(this.sjInformation.data.major) : null;
this.displayMajor = this.originalMajor; this.displayMajor = this.originalMajor;
// //
@ -378,7 +382,7 @@
const currentSorted = [...currentSkills].sort().join(','); const currentSorted = [...currentSkills].sort().join(',');
// //
if (rejectedSorted === currentSorted && String(rejectedMajor||'') === String(currentMajor||'')) { if (rejectedSorted === currentSorted && String(rejectedMajor || '') === String(currentMajor || '')) {
console.log('驳回数据与当前生效技能相同,可能数据过时,忽略本次驳回数据'); console.log('驳回数据与当前生效技能相同,可能数据过时,忽略本次驳回数据');
this.selectedSkills = [...currentSkills]; this.selectedSkills = [...currentSkills];
this.displayMajor = currentMajor; this.displayMajor = currentMajor;
@ -505,7 +509,7 @@
const currentSorted = [...this.currentSkills].sort().join(','); const currentSorted = [...this.currentSkills].sort().join(',');
// //
if (rejectedSorted === currentSorted && String(rejectedMajor||'') === String(this.originalMajor||'')) { if (rejectedSorted === currentSorted && String(rejectedMajor || '') === String(this.originalMajor || '')) {
console.log('驳回数据无效,按无申请状态处理'); console.log('驳回数据无效,按无申请状态处理');
this.showAuditTip = false; this.showAuditTip = false;
this.buttonType = 'change'; this.buttonType = 'change';
@ -672,47 +676,47 @@
} }
} }
} }
} }
</script> </script>
<style scoped> <style scoped>
.service-skills-page { .service-skills-page {
background-color: #f5f5f5; background-color: #f5f5f5;
min-height: 100vh; min-height: 100vh;
box-sizing: border-box; box-sizing: border-box;
display: flex; display: flex;
flex-direction: column; flex-direction: column;
} }
/* 页面内容区域 */ /* 页面内容区域 */
.page-content { .page-content {
flex: 1; flex: 1;
overflow-y: auto; overflow-y: auto;
padding: 20rpx 0; padding: 20rpx 0;
box-sizing: border-box; box-sizing: border-box;
} }
/* 审核中提示 */ /* 审核中提示 */
.audit-tip { .audit-tip {
margin: 20rpx 24rpx 20rpx 24rpx; margin: 20rpx 24rpx 20rpx 24rpx;
border-radius: 12rpx; border-radius: 12rpx;
} }
.audit-text { .audit-text {
font-weight: 400; font-weight: 400;
font-size: 32rpx; font-size: 32rpx;
color: #333333; color: #333333;
text-align: center; text-align: center;
display: block; display: block;
} }
/* 驳回原因样式 */ /* 驳回原因样式 */
.reject-reason { .reject-reason {
background: transparent; background: transparent;
padding: 24rpx; padding: 24rpx;
} }
.reject-title { .reject-title {
font-family: PingFangSC, PingFang SC; font-family: PingFangSC, PingFang SC;
font-weight: 500; font-weight: 500;
font-size: 32rpx; font-size: 32rpx;
@ -720,9 +724,9 @@
line-height: 45rpx; line-height: 45rpx;
text-align: center; text-align: center;
font-style: normal; font-style: normal;
} }
.reject-detail { .reject-detail {
font-family: PingFangSC, PingFang SC; font-family: PingFangSC, PingFang SC;
font-weight: 400; font-weight: 400;
font-size: 28rpx; font-size: 28rpx;
@ -732,23 +736,23 @@
font-style: normal; font-style: normal;
margin-top: 12rpx; margin-top: 12rpx;
} }
.skills-header { .skills-header {
display: flex; display: flex;
align-items: center; align-items: center;
margin-bottom: 20rpx; margin-bottom: 20rpx;
} }
.title-bar { .title-bar {
width: 6rpx; width: 6rpx;
height: 30rpx; height: 30rpx;
background-color: #FF4767; background-color: #FF4767;
margin-right: 10rpx; margin-right: 10rpx;
border-radius: 5rpx; border-radius: 5rpx;
} }
.skills-title { .skills-title {
font-family: PingFangSC, PingFang SC; font-family: PingFangSC, PingFang SC;
font-weight: 500; font-weight: 500;
font-size: 32rpx; font-size: 32rpx;
@ -756,9 +760,9 @@
line-height: 48rpx; line-height: 48rpx;
text-align: left; text-align: left;
font-style: normal; font-style: normal;
} }
.skills-subtitle { .skills-subtitle {
margin-left: 20rpx; margin-left: 20rpx;
margin-bottom: 20rpx; margin-bottom: 20rpx;
font-family: PingFangSC, PingFang SC; font-family: PingFangSC, PingFang SC;
@ -768,38 +772,38 @@
line-height: 40rpx; line-height: 40rpx;
text-align: left; text-align: left;
font-style: normal; font-style: normal;
} }
.box-cont { .box-cont {
background: #ffffff; background: #ffffff;
border-radius: 20rpx; border-radius: 20rpx;
margin: 0 24rpx 24rpx 24rpx; margin: 0 24rpx 24rpx 24rpx;
box-shadow: none; box-shadow: none;
} }
.skills-container { .skills-container {
padding: 32rpx; padding: 32rpx;
} }
.skills-list { .skills-list {
display: flex; display: flex;
flex-wrap: wrap; flex-wrap: wrap;
margin: 0 -16rpx; margin: 0 -16rpx;
} }
.skill-item { .skill-item {
width: 100%; width: 100%;
display: flex; display: flex;
align-items: center; align-items: center;
padding: 20rpx 16rpx; padding: 20rpx 16rpx;
box-sizing: border-box; box-sizing: border-box;
} }
.checkbox-wrapper { .checkbox-wrapper {
margin-right: 20rpx; margin-right: 20rpx;
} }
.checkbox { .checkbox {
width: 40rpx; width: 40rpx;
height: 40rpx; height: 40rpx;
border: 2rpx solid #DDDDDD; border: 2rpx solid #DDDDDD;
@ -807,73 +811,73 @@
display: flex; display: flex;
align-items: center; align-items: center;
justify-content: center; justify-content: center;
} }
.checkbox.checked { .checkbox.checked {
background-color: #FF4767; background-color: #FF4767;
border-color: #FF4767; border-color: #FF4767;
} }
.check-icon { .check-icon {
width: 42rpx; width: 42rpx;
height: 42rpx; height: 42rpx;
} }
.skill-name { .skill-name {
font-size: 28rpx; font-size: 28rpx;
color: #333333; color: #333333;
} }
/* 迁移的专业经验表单样式 */ /* 迁移的专业经验表单样式 */
.form-item-two { .form-item-two {
display: flex; display: flex;
align-items: center; align-items: center;
justify-content: space-between; justify-content: space-between;
padding: 24rpx 24rpx; padding: 24rpx 24rpx;
} }
.form-item-two > text.label { .form-item-two>text.label {
flex-shrink: 0; flex-shrink: 0;
font-size: 28rpx; font-size: 28rpx;
color: #333333; color: #333333;
font-weight: 500; font-weight: 500;
} }
.required::before { .required::before {
content: '*'; content: '*';
color: #FF0000; color: #FF0000;
margin-right: 4rpx; margin-right: 4rpx;
} }
.picker-content { .picker-content {
flex: 1; flex: 1;
display: flex; display: flex;
align-items: center; align-items: center;
justify-content: flex-end; justify-content: flex-end;
gap: 16rpx; gap: 16rpx;
} }
.picker-value, .picker-value,
.placeholder { .placeholder {
font-size: 28rpx; font-size: 28rpx;
text-align: right; text-align: right;
} }
.picker-value { .picker-value {
color: #333333; color: #333333;
} }
.placeholder { .placeholder {
color: #999999; color: #999999;
} }
.arrow-right { .arrow-right {
width: 9rpx; width: 9rpx;
height: 16rpx; height: 16rpx;
flex-shrink: 0; flex-shrink: 0;
} }
.bottom-actions { .bottom-actions {
position: fixed; position: fixed;
bottom: 0; bottom: 0;
left: 0; left: 0;
@ -881,10 +885,10 @@
padding: 0rpx 24rpx 40rpx 24rpx; padding: 0rpx 24rpx 40rpx 24rpx;
background: #ffffff; background: #ffffff;
z-index: 100; z-index: 100;
} }
/* 单个按钮样式 */ /* 单个按钮样式 */
.action-btn { .action-btn {
height: 88rpx; height: 88rpx;
border-radius: 43rpx; border-radius: 43rpx;
display: flex; display: flex;
@ -893,40 +897,40 @@
font-size: 32rpx; font-size: 32rpx;
font-weight: 400; font-weight: 400;
margin-top: 20rpx; margin-top: 20rpx;
} }
.change-info-btn { .change-info-btn {
background: linear-gradient(180deg, #ff8e9d 0%, #FF4767 100%); background: linear-gradient(180deg, #ff8e9d 0%, #FF4767 100%);
} }
.view-change-btn { .view-change-btn {
background: linear-gradient(180deg, #ff8e9d 0%, #FF4767 100%); background: linear-gradient(180deg, #ff8e9d 0%, #FF4767 100%);
} }
/* 双按钮行样式 */ /* 双按钮行样式 */
.action-buttons-row { .action-buttons-row {
display: flex; display: flex;
justify-content: space-between; justify-content: space-between;
margin: 0 30rpx; margin: 0 30rpx;
} }
.action-buttons-row .action-btn { .action-buttons-row .action-btn {
width: 270rpx; width: 270rpx;
} }
.cancel-btn { .cancel-btn {
background: #E5E5E5; background: #E5E5E5;
border-radius: 43rpx; border-radius: 43rpx;
padding: 0 15rpx; padding: 0 15rpx;
} }
.submit-btn { .submit-btn {
background: linear-gradient(180deg, #ff8e9d 0%, #FF4767 100%); background: linear-gradient(180deg, #ff8e9d 0%, #FF4767 100%);
border-radius: 43rpx; border-radius: 43rpx;
padding: 0 15rpx; padding: 0 15rpx;
} }
.btn-text { .btn-text {
font-family: PingFangSC, PingFang SC; font-family: PingFangSC, PingFang SC;
font-weight: 400; font-weight: 400;
font-size: 36rpx; font-size: 36rpx;
@ -934,14 +938,14 @@
line-height: 50rpx; line-height: 50rpx;
text-align: left; text-align: left;
font-style: normal; font-style: normal;
} }
.cancel-text { .cancel-text {
color: #666666; color: #666666;
} }
/* 响应式适配 */ /* 响应式适配 */
/* @media (max-width: 375px) { /* @media (max-width: 375px) {
.skill-item { .skill-item {
width: 100%; width: 100%;
} }

View File

@ -14,7 +14,7 @@
<input class="hidden-input" type="text" maxlength="6" :value="code" :focus="inputFocus" <input class="hidden-input" type="text" maxlength="6" :value="code" :focus="inputFocus"
:selection-start="cursorPos" :selection-end="cursorPos" @input="onInput" @blur="onBlur" confirm-type="done" /> :selection-start="cursorPos" :selection-end="cursorPos" @input="onInput" @blur="onBlur" confirm-type="done" />
<button class="confirm-btn" :class="{ active: code.length === 6 }" @tap="submitCode"> <button class="confirm-btn" :class="{ active: code.length === 6 }" :disabled="code.length < 6" @tap="submitCode">
确认 确认
</button> </button>
</view> </view>
@ -146,6 +146,12 @@ export default {
&.active { &.active {
background: #FF4767; background: #FF4767;
} }
&[disabled] {
opacity: 1;
background: #ff476685;
color: #fff;
}
} }
.hidden-input { .hidden-input {

View File

@ -9,7 +9,7 @@
src="https://mrrplus.oss-cn-beijing.aliyuncs.com/photo/system/be13b4f4-c0db-4f39-b9fc-0e69c13b72ee.png" src="https://mrrplus.oss-cn-beijing.aliyuncs.com/photo/system/be13b4f4-c0db-4f39-b9fc-0e69c13b72ee.png"
mode="aspectFit"></image> mode="aspectFit"></image>
<view class="header-text-box"> <view class="header-text-box">
<view class="header-title">工时订单</view> <view class="header-title">{{ orderTypeText }}</view>
<view class="header-sub">请确认核销订单信息</view> <view class="header-sub">请确认核销订单信息</view>
</view> </view>
</view> </view>
@ -70,6 +70,19 @@
import request from "@/utils/request"; import request from "@/utils/request";
export default { export default {
computed: {
orderTypeText() {
const map = {
1: '用户订单',
2: '商家订单',
3: '工时订单',
4: '工位订单',
5: '铁军线上缴费订单',
6: '自营订单'
};
return map[this.orderData.orderType] || '工时订单';
}
},
data() { data() {
return { return {
statusBarHeight: 44, statusBarHeight: 44,
@ -101,6 +114,7 @@ export default {
try { try {
const parsedData = JSON.parse(decodeURIComponent(options.data)); const parsedData = JSON.parse(decodeURIComponent(options.data));
this.mapOrderData(parsedData); this.mapOrderData(parsedData);
console.log(parsedData, '-==-=-=-=-=-=parsedData=-=-=-=-=parsedData')
} catch (e) { } catch (e) {
console.error('解析订单数据失败', e); console.error('解析订单数据失败', e);
uni.showToast({ title: '订单数据异常', icon: 'none' }); uni.showToast({ title: '订单数据异常', icon: 'none' });
@ -157,6 +171,7 @@ export default {
doVerify() { doVerify() {
this.isVerifying = true; this.isVerifying = true;
uni.showLoading({ title: '核销中...', mask: true }); uni.showLoading({ title: '核销中...', mask: true });
console.log(this.orderData, '------------------parsedData')
// //
request.post('/sj/poster/useOrderServerCode', { request.post('/sj/poster/useOrderServerCode', {
@ -167,9 +182,19 @@ export default {
uni.hideLoading(); uni.hideLoading();
if (res.code === 200) { if (res.code === 200) {
uni.showToast({ title: '核销成功', icon: 'success' }); uni.showToast({ title: '核销成功', icon: 'success' });
uni.navigateTo({ const orderId = this.orderData.orderId;
url:'/pages/order/userorder-detail?order_id='+this.orderData.orderId const orderType = this.orderData.orderType;
}) let url = '';
if (orderType == 3) {
url = `/pages/shop/SellerDetail?order_id=${orderId}`;
} else if (orderType == 2 || orderType == 5) {
url = `/pages/shop/userorder-detail?order_id=${orderId}&serviceType=2`;
} else {
url = `/pages/shop/userorder-detail?order_id=${orderId}`;
}
setTimeout(() => {
uni.navigateTo({ url });
}, 1500);
} else { } else {
uni.showToast({ title: res.msg || '核销失败,请重试', icon: 'none' }); uni.showToast({ title: res.msg || '核销失败,请重试', icon: 'none' });
this.isVerifying = false; this.isVerifying = false;

View File

@ -87,7 +87,6 @@ export default {
console.log(result,'resultresultresultresult0.0.0.0.0.0') console.log(result,'resultresultresultresult0.0.0.0.0.0')
uni.hideLoading(); uni.hideLoading();
if (result.code == 200) { if (result.code == 200) {
result.data.server_code = code;
uni.showToast({ title: '扫码成功!', icon: 'none' }); uni.showToast({ title: '扫码成功!', icon: 'none' });
const orderDataStr = encodeURIComponent(JSON.stringify(result.data)); const orderDataStr = encodeURIComponent(JSON.stringify(result.data));
uni.navigateTo({ uni.navigateTo({