3.9(优化

This commit is contained in:
Hong
2024-03-09 19:21:18 +08:00
parent 338cfd9e8b
commit fa141e6c00
8 changed files with 267 additions and 4 deletions

View File

@@ -183,4 +183,25 @@ export function cardUserRecord(data) {
method: 'get'
})
}
/*
* 维修店卡券预约列表
* */
export function getCardReachList(params) {
return request({
url: `/api/front/card/user/reach/page/list`,
method: 'get',
params
})
}
///api/front/card/user/reach/merchant/audit{id}
/*
* 维修店卡券预约列表审核
* */
export function getCardReachAudit(params) {
return request({
url: `/api/front/card/user/reach/merchant/audit`,
method: 'get',
params
})
}

View File

@@ -33,6 +33,11 @@ export const repairUserMenuList = [{
image:'../../../static/images/repair/user/affirm.png',
type:1
}, {
text: '卡券预约',
path: '/pages/repair/user/myCardBag/myCardBag',
image:'../../../static/images/repair/user/card.png',
type:1
},{
text: '我的评价',
path: '/pages/repair/user/evaluate/evaluate',
image:'../../../static/images/repair/user/evaluate.png',

View File

@@ -580,6 +580,14 @@
"navigationStyle": "custom"
}
},
{
"path" : "pages/repair/user/myCardBag/myCardBag",
"style" :
{
"navigationBarTitleText" : "卡券预约",
"enablePullDownRefresh" : false
}
},
{
"path" : "pages/repair/user/verification/verification_list",
"style" :

View File

@@ -24,6 +24,8 @@
<u--text :lines="1" :text="item.name"></u--text>
</view>
<view class="data-list-cont-tit-specification">{{item.intro}}</view>
<view v-if="item.agreeState==2" class="red f-24">预约已驳回,请重新预约</view>
<view v-if="item.agreeState==1" class="f-24" style="color: green;">预约已同意,请尽快到店</view>
</view>
</view>
<view class="f-jcsb f-a-i data-list-shop" @click.stop="selectShopFn(item,index)">
@@ -214,9 +216,10 @@
type: this.useType == 1 ? 'usable' : this.useType == 2 ? 'used' : 'unusable'
}
//1:未使用 2:已使用 3:已过期
// useType: 1,
// ticketType: 1核销券,
if (this.ticketType == 1) {
getFrontCardList(obj).then(res => {
console.log(res.data);
this.$refs.paging.complete(res.data.list);
// this.$refs.paging.complete([{}, {}]);
})

View File

@@ -68,10 +68,11 @@
},
// 去详情
toDetailPages(item){
console.log(item);
this.$store.dispatch('CardId', item.id)
if(this.type == 'hot') {
uni.navigateTo({
url:`/pages/driver/serve/coupons/cou_detail`
url: `/pages/driver/serve/coupons/cou_detail?id=${item.id}`
})
} else {
uni.navigateTo({

View File

@@ -66,7 +66,7 @@
<view class="" v-show="projectForm.isPackage == 1">
<view class="select-item flex align-center justify-between">
<view class="select-item-t">
添加类型
维修类型
</view>
<view class="select-item-b flex align-center justify-end">
{{ saveForm.repairTypeName }}

View File

@@ -0,0 +1,225 @@
<template>
<view>
<z-paging ref="paging" v-model="dataList" @query="queryList">
<view slot="top">
<view class="tab">
<u-tabs :list="tabList" @click="tabClick" :scrollable="false" lineColor="#111111"
:activeStyle="{color: '#303133',fontWeight: 'bold',transform: 'scale(1.05)'}"
:inactiveStyle="{color: '#606266',transform: 'scale(1)'}"
itemStyle="padding-left: 15px; padding-right: 15px; height: 34px;"></u-tabs>
</view>
</view>
<view class="">
<view>
<view class="data-list" v-for="(item,index) in dataList" :key="index" @click="navDetailFn(item)">
<view class="flex justify-between">
<view class="data-list-cont flex align-center">
<image :src="item.avatar" mode=""></image>
<text class="f-32 c000" style="margin-left: 16rpx;">{{item.nickname}}</text>
</view>
<view v-if="ticketType==2">
<text v-if="item.agreeState==1" class="f-32" style="color: green;">已同意</text>
<text v-else class="f-32 red">已驳回</text>
</view>
</view>
<view class="f-jcsb f-a-i data-list-shop">
<view>预约项目</view>
<view class="f-a-i">
<view>{{item.name}} </view>
</view>
</view>
<view class="f-jcsb f-a-i data-list-shop">
<view>预约时间</view>
<view class="f-a-i">
<view>{{item.serviceTime}} </view>
</view>
</view>
<view v-if="item.agreeState==0" class="data-list-shop flex align-center justify-end">
<view class="flex align-center">
<u-button type="primary" plain shape="circle" text="驳回" color="#13AFA8"
:customStyle='{height: "68rpx",marginRight: "16rpx",fontSize: "28rpx",fontWeight: 500,width:"160rpx"}'
@click="disposeShowFn(item,2)"></u-button>
<u-button type="primary" shape="circle" text="同意" color="#13AFA8"
:customStyle='{height: "68rpx",marginRight: "16rpx",fontSize: "28rpx",fontWeight: 500,width:"160rpx"}'
@click="disposeShowFn(item,1)"></u-button>
</view>
</view>
</view>
</view>
</view>
</z-paging>
<promptBox ref="pbox" @confirm="confirm"></promptBox>
</view>
</template>
<script>
import promptBox from "@/components/prompt-box/prompt-box.vue"
import {
getCardReachList,
getCardReachAudit
} from "@/api/user/index.js"
export default {
components: {
promptBox
},
data() {
return {
tabList: [{
name: '未确认',
type: 1
}, {
name: '已确认',
type: 2
}],
dataList: [],
//1:未确认 2:已确认
ticketType: 1,
actData:{
}
};
},
methods: {
//同意驳回
disposeShowFn(item,type) {
this.actData.agreeState=type==1?true:false
this.actData.id=item.id
this.$refs.pbox.show = true
this.$refs.pbox.tipContent.cancelText="取消"
this.$refs.pbox.tipContent.content = type == 1 ? '是否同意用户的预约时间?' : '是否驳回用户的预约时间?'
},
confirm(){
this.$refs.pbox.show = false
console.log(this.actData);
getCardReachAudit(this.actData).then(res=>{
this.$refs.paging.refresh();
uni.showToast({
title:'操作成功',
icon:'none'
})
console.log('操作成功');
})
},
// 一级tab
tabClick(e) {
this.ticketType = e.type
this.$refs.paging.refresh();
},
//配件列表
queryList(pageNo, pageSize) {
// 此处请求仅为演示,请替换为自己项目中的请求
let obj = {
page: pageNo,
limit: pageSize,
type: this.ticketType
}
getCardReachList(obj).then(res => {
console.log(res.data.list);
this.$refs.paging.complete(res.data.list);
// this.$refs.paging.complete([{}, {}]);
})
},
},
onLoad(options) {
}
}
</script>
<style lang="scss">
page {
background: #f5f5f5;
}
.data-list {
width: calc(100% - 48rpx);
margin-left: 24rpx;
background: #fff;
padding: 32rpx 24rpx;
margin-bottom: 24rpx;
border-radius: 16rpx;
.data-list-button2 {
width: 108rpx;
height: 48rpx;
background: #999;
border-radius: 30rpx 30rpx 30rpx 30rpx;
text-align: center;
line-height: 48rpx;
color: #FFFFFF;
font-size: 22rpx;
font-weight: 400;
}
.data-list-button {
width: 108rpx;
height: 48rpx;
background: #333333;
border-radius: 30rpx 30rpx 30rpx 30rpx;
text-align: center;
line-height: 48rpx;
color: #fff;
font-size: 22rpx;
font-weight: 400;
}
.data-list-price {
text-align: center;
line-height: 68rpx;
width: 182rpx;
height: 68rpx;
font-size: 48rpx;
font-weight: 400;
color: #333333;
border-right: 1rpx dashed #333333;
}
.data-list-particulars {
margin-left: 32rpx;
.data-list-particulars-time {
margin-top: 32rpx;
}
}
.data-list-shop {
margin-top: 24rpx;
font-size: 26rpx;
font-weight: 400;
color: #666666;
}
.data-list-cont {
image {
width: 60rpx;
height: 60rpx;
border-radius: 50%;
}
}
}
.tab {
background: #fff
}
.tab2 {
margin: 26rpx 0;
font-size: 29rpx;
font-weight: 400;
color: #555555;
.act-use {
font-size: 29rpx;
font-weight: 500;
color: #222222;
}
}
.empty {
text-align: center;
image {
width: 480rpx;
height: 280rpx;
}
}
</style>

Binary file not shown.

After

Width:  |  Height:  |  Size: 632 B