订单评价修改

This commit is contained in:
zzyuan 2025-09-03 18:13:45 +08:00
parent d24ca009ce
commit 0b52c27bde
8 changed files with 463 additions and 354 deletions

View File

@ -39,7 +39,7 @@
}
},
{
"path": "pages/mine/index",
"path": "pages/mine/mine",
"style": {
// "navigationBarTitleText": "我的"
"navigationStyle": "custom"
@ -371,7 +371,7 @@
"text": "订单"
},
{
"pagePath": "pages/mine/index",
"pagePath": "pages/mine/mine",
"iconPath": "static/images/tabbar/mine.png",
"selectedIconPath": "static/images/tabbar/mine_.png",
"text": "我的"

View File

@ -20,7 +20,7 @@
<view class="comment-box">
<view>
<u--textarea
v-model="description" maxlength="200"
v-model="content" maxlength="200"
placeholder="请详细补充您的问题或建议"
height="120" style="font-size: 24rpx;background: transparent;"
></u--textarea>
@ -98,8 +98,7 @@ export default {
currentTab: 0,
content: '',
fileList: [],
contactInfo: '',
description:""
contactInfo: '',
}
},
onLoad() {

View File

@ -88,7 +88,7 @@ export default {
}
},
onShow() {
// uni.reLaunch({ url: '/pages/feedback/evaluate' })
// uni.reLaunch({ url: '/pages/index' })
// setTimeout(()=>{
if(Cookies.get('remember')){
this.remember = [Cookies.get('remember')] || [];

View File

@ -78,7 +78,7 @@
<script>
import Tabs from '@/pages/components/Tabs.vue'
import { couponMobileGroupApi } from '../../../api/mine/index'
import { couponMobileGroupApi } from '@/api/mine/index'
export default {
components: { Tabs },

View File

@ -43,17 +43,24 @@
<script>
import { decryptWithSM4 } from '@/utils/sm'
import { getInfoNewAPI } from '@/api/login'
export default {
data() {
return {
fontValue:uni.getStorageSync('fontSize') || 8,
currentPhone: decryptWithSM4(uni.getStorageSync('mobile'))
currentPhone: ""
}
},
onLoad() {
this.getUserInfo()
},
methods: {
//
getUserInfo(){
getInfoNewAPI({'custId':uni.getStorageSync('custId'),"sourceType":7}).then(result => {
this.currentPhone = decryptWithSM4(result.data.mobile);
})
},
goBack() {
uni.navigateBack()
},

View File

@ -1,325 +1,325 @@
<template>
<page-meta :page-font-size="fontValue+'px'" :root-font-size="fontValue+'px'"></page-meta>
<view class="container">
<!-- 顶部标题 -->
<!-- <view class="header">
<text class="title">我的</text>
</view> -->
<!-- 用户信息区域 -->
<view class="user-info">
<view class="avatar-wrapper" @click="avatarClick()">
<image class="avatar" :src="headPortraitUrl ? headPortraitUrl : defaultFace" mode="aspectFill"></image>
</view>
<view class="user-detail">
<text class="username">{{custName}}</text>
<view style="color: #666;font-size: 12px;padding: 4px 10px;">{{orgFullName}}</view>
</view>
<view class="star-icon" @click="goCollectPage">
<uni-icons type="star" size="24" color="#ff9900"></uni-icons>
</view>
</view>
<!-- 我的服务区域 -->
<view class="services">
<text class="services-title">我的服务</text>
<view class="grid-container">
<!-- 个人信息 -->
<view class="grid-item" @click="navigateTo('/pages/mine/me/index')">
<view class="icon-wrapper">
<image style="width: 120rpx;height: 120rpx;" src="/static/images/my/personalInfo.png"></image>
</view>
<text class="icon-text">个人信息</text>
</view>
<!-- 通知公告 -->
<view class="grid-item" @click="navigateTo('/pages/mine/announcement/index')">
<view class="icon-wrapper">
<image style="width: 120rpx;height: 120rpx;" src="/static/images/my/notice.png"></image>
</view>
<text class="icon-text">通知公告</text>
</view>
<!-- 投诉建议 -->
<view class="grid-item" @click="navigateTo('/pages/feedback/evaluate')">
<view class="icon-wrapper">
<image style="width: 120rpx;height: 120rpx;" src="/static/images/my/complaints.png"></image>
</view>
<text class="icon-text">投诉建议</text>
</view>
<!-- 食堂评价 -->
<view class="grid-item" @click="navigateTo('/pages/review/index')">
<view class="icon-wrapper">
<image style="width: 120rpx;height: 120rpx;" src="/static/images/my/evaluation.png"></image>
</view>
<text class="icon-text">食堂评价</text>
</view>
<!-- 体检报告 -->
<view class="grid-item" @click="navigateTo('/pages/survey/index')">
<view class="icon-wrapper">
<image style="width: 120rpx;height: 120rpx;" src="/static/images/my/report.png"></image>
</view>
<text class="icon-text">健康监测</text>
</view>
<!-- 电子餐券 -->
<view class="grid-item" @click="navigateTo('/pages/mine/coupon/index')">
<view class="icon-wrapper">
<image style="width: 120rpx;height: 120rpx;" src="/static/images/my/coupon.png"></image>
</view>
<text class="icon-text">电子餐券</text>
</view>
</view>
</view>
<u-action-sheet :actions="list" :show="avatarShow" safeAreaInsetBottom closeOnClickOverlay cancelText="取消"
round="10" @close="avatarShow = false" @select="avatarSelect"></u-action-sheet>
</view>
</template>
<script>
import {
getUserHeaderPhoto,saveUserHeaderPhoto,
uploadAvatar,
} from "@/api/system/user"
import config from '@/config'
import { showConfirm } from '@/utils/common'
import { uploadBase64 } from "@/api/upload"
import { pathToBase64, base64ToPath } from 'image-tools';
export default {
data() {
return {
fontValue:uni.getStorageSync('fontSize') || 8,
orgFullName:uni.getStorageSync('orgFullName') || '',
custName: "zzz",
headPortraitUrl:"",
defaultFace: '/static/images/my/face.png',
avatarShow: false,
list: [{
name: '上传头像',
val: 1
}, {
name: '查看头像',
val: 2
}]
}
},
onLoad() {
this.custName = uni.getStorageSync('custName') ? uni.getStorageSync('custName') : ""
this.getUserHeaderImg()
},
onShow() {
},
methods: {
getUserHeaderImg() {
getUserHeaderPhoto({"custId":uni.getStorageSync('custId'),"sourceType": "7"}).then(res => {
console.log(res)
this.headPortraitUrl=res.headPortraitUrl;
if(!this.headPortraitUrl) {
this.headPortraitUrl = this.defaultFace
}
})
},
avatarClick() {
this.avatarShow = true
},
avatarSelect(e) {
if (e.val == 1) {
//
uni.chooseImage({//
count: 1,
success: resImage => {
console.log(resImage)
// this.headPortraitUrl = resImage.tempFilePaths[0]
//base64
this.imgToBase64(resImage.tempFilePaths[0]).then(base64 => {
console.log(base64)
//base64
this.uploadHeadImg(base64)
})
}
});
}else if(e.val == 2) {
//
uni.previewImage({
urls: [this.headPortraitUrl]
});
}
},
imgToBase64(data) {
return new Promise((resolve, reject) => {
pathToBase64(data).then(base64 => {
resolve(base64)
}).catch(error => {
console.error(error)
reject(error)
})
})
},
//base64
uploadHeadImg(base64){
let param = {
"MERCHANT-ID":"378915229716713472",
"uploadKey":'cust',
"base64File":base64
}
uploadBase64(param).then(res => {
console.log(res)
if(res.code==200){
this.saveHeadImg(res.data)
}else{
uni.showToast({
title: res.msg,
icon: 'none'
})
}
})
},
//
async saveHeadImg(data){
let param = {
"headPortraitUrl": data.fileNameUrl,
"custId": uni.getStorageSync('custId')
}
const res = await saveUserHeaderPhoto(param)
if(res.code==200){
uni.showToast({
title: "上传成功",
icon: 'none'
})
setTimeout(()=>{
this.getUserHeaderImg()
},200)
}else{
uni.showToast({
title: res.msg,
icon: 'none'
})
}
},
goCollectPage(){
uni.navigateTo({url: "/pages/mine/collect/index"})
},
navigateTo(url) {
uni.navigateTo({
url
})
}
},
// onUnload() {
// uni.switchTab({
// url: '/pages/index'
// })
// },
// onBackPress(e) {
// //e.from === 'backbutton'
// if (e.from === 'backbutton') {
// //true ,
// uni.switchTab({
// url: '/pages/index'
// })
// //true
// return true;
// }
// }
}
</script>
<style lang="scss">
.container {
height: 90vh;
background-color: #F9FBFF;
padding-top: 5vh;
}
.header {
padding: 14px 16px 16px;
background: #F9FBFF;
.title {
font-size: 36rpx;
font-weight: 500;
color: #333;
}
}
.user-info {
display: flex;
align-items: center;
padding: 16px;
background: #fff;
margin-bottom: 20px;
.avatar-wrapper {
margin-right: 12px;
.avatar {
width: 60px;
height: 60px;
border-radius: 30px;
}
}
.user-detail {
flex: 1;
.username {
margin-left: 12px;
font-size: 36rpx;
font-weight: 500;
color: #333;
}
}
.star-icon {
padding: 8px;
}
}
.services {
background: #fff;
padding: 16px;
height: 80vh;
.services-title {
font-size: 32rpx;
color: #333;
margin-bottom: 26px;
font-weight: 400;
}
.grid-container {
display: grid;
grid-template-columns: repeat(3, 1fr);
gap: 20px;
.grid-item {
display: flex;
flex-direction: column;
align-items: center;
.icon-wrapper {
// width: 48px;
// height: 48px;
//border-radius: 24px;
//background: #f5f5f5;
display: flex;
align-items: center;
justify-content: center;
margin-bottom: 3px;
}
.icon-text {
font-size: 28rpx;
color: #0F274B;
}
}
}
}
<template>
<page-meta :page-font-size="fontValue+'px'" :root-font-size="fontValue+'px'"></page-meta>
<view class="container">
<!-- 顶部标题 -->
<!-- <view class="header">
<text class="title">我的</text>
</view> -->
<!-- 用户信息区域 -->
<view class="user-info">
<view class="avatar-wrapper" @click="avatarClick()">
<image class="avatar" :src="headPortraitUrl ? headPortraitUrl : defaultFace" mode="aspectFill"></image>
</view>
<view class="user-detail">
<text class="username">{{custName}}</text>
<view style="color: #666;font-size: 12px;padding: 4px 10px;">{{orgFullName}}</view>
</view>
<view class="star-icon" @click="goCollectPage">
<uni-icons type="star" size="24" color="#ff9900"></uni-icons>
</view>
</view>
<!-- 我的服务区域 -->
<view class="services">
<text class="services-title">我的服务</text>
<view class="grid-container">
<!-- 个人信息 -->
<view class="grid-item" @click="navigateTo('/pages/mine/me/index')">
<view class="icon-wrapper">
<image style="width: 120rpx;height: 120rpx;" src="/static/images/my/personalInfo.png"></image>
</view>
<text class="icon-text">个人信息</text>
</view>
<!-- 通知公告 -->
<view class="grid-item" @click="navigateTo('/pages/mine/announcement/index')">
<view class="icon-wrapper">
<image style="width: 120rpx;height: 120rpx;" src="/static/images/my/notice.png"></image>
</view>
<text class="icon-text">通知公告</text>
</view>
<!-- 投诉建议 -->
<view class="grid-item" @click="navigateTo('/pages/feedback/evaluate')">
<view class="icon-wrapper">
<image style="width: 120rpx;height: 120rpx;" src="/static/images/my/complaints.png"></image>
</view>
<text class="icon-text">投诉建议</text>
</view>
<!-- 食堂评价 -->
<view class="grid-item" @click="navigateTo('/pages/review/index')">
<view class="icon-wrapper">
<image style="width: 120rpx;height: 120rpx;" src="/static/images/my/evaluation.png"></image>
</view>
<text class="icon-text">食堂评价</text>
</view>
<!-- 体检报告 -->
<view class="grid-item" @click="navigateTo('/pages/survey/index')">
<view class="icon-wrapper">
<image style="width: 120rpx;height: 120rpx;" src="/static/images/my/report.png"></image>
</view>
<text class="icon-text">健康监测</text>
</view>
<!-- 电子餐券 -->
<view class="grid-item" @click="navigateTo('/pages/mine/coupon/index')">
<view class="icon-wrapper">
<image style="width: 120rpx;height: 120rpx;" src="/static/images/my/coupon.png"></image>
</view>
<text class="icon-text">电子餐券</text>
</view>
</view>
</view>
<u-action-sheet :actions="list" :show="avatarShow" safeAreaInsetBottom closeOnClickOverlay cancelText="取消"
round="10" @close="avatarShow = false" @select="avatarSelect"></u-action-sheet>
</view>
</template>
<script>
import {
getUserHeaderPhoto,saveUserHeaderPhoto,
uploadAvatar,
} from "@/api/system/user"
import config from '@/config'
import { showConfirm } from '@/utils/common'
import { uploadBase64 } from "@/api/upload"
import { pathToBase64, base64ToPath } from 'image-tools';
export default {
data() {
return {
fontValue:uni.getStorageSync('fontSize') || 8,
orgFullName:uni.getStorageSync('orgFullName') || '',
custName: "zzz",
headPortraitUrl:"",
defaultFace: '/static/images/my/face.png',
avatarShow: false,
list: [{
name: '上传头像',
val: 1
}, {
name: '查看头像',
val: 2
}]
}
},
onLoad() {
this.custName = uni.getStorageSync('custName') ? uni.getStorageSync('custName') : ""
this.getUserHeaderImg()
},
onShow() {
},
methods: {
getUserHeaderImg() {
getUserHeaderPhoto({"custId":uni.getStorageSync('custId'),"sourceType": "7"}).then(res => {
console.log(res)
this.headPortraitUrl=res.headPortraitUrl;
if(!this.headPortraitUrl) {
this.headPortraitUrl = this.defaultFace
}
})
},
avatarClick() {
this.avatarShow = true
},
avatarSelect(e) {
if (e.val == 1) {
//
uni.chooseImage({//
count: 1,
success: resImage => {
console.log(resImage)
// this.headPortraitUrl = resImage.tempFilePaths[0]
//base64
this.imgToBase64(resImage.tempFilePaths[0]).then(base64 => {
console.log(base64)
//base64
this.uploadHeadImg(base64)
})
}
});
}else if(e.val == 2) {
//
uni.previewImage({
urls: [this.headPortraitUrl]
});
}
},
imgToBase64(data) {
return new Promise((resolve, reject) => {
pathToBase64(data).then(base64 => {
resolve(base64)
}).catch(error => {
console.error(error)
reject(error)
})
})
},
//base64
uploadHeadImg(base64){
let param = {
"MERCHANT-ID":"378915229716713472",
"uploadKey":'cust',
"base64File":base64
}
uploadBase64(param).then(res => {
console.log(res)
if(res.code==200){
this.saveHeadImg(res.data)
}else{
uni.showToast({
title: res.msg,
icon: 'none'
})
}
})
},
//
async saveHeadImg(data){
let param = {
"headPortraitUrl": data.fileNameUrl,
"custId": uni.getStorageSync('custId')
}
const res = await saveUserHeaderPhoto(param)
if(res.code==200){
uni.showToast({
title: "上传成功",
icon: 'none'
})
setTimeout(()=>{
this.getUserHeaderImg()
},200)
}else{
uni.showToast({
title: res.msg,
icon: 'none'
})
}
},
goCollectPage(){
uni.navigateTo({url: "/pages/mine/collect/index"})
},
navigateTo(url) {
uni.navigateTo({
url
})
}
},
// onUnload() {
// uni.switchTab({
// url: '/pages/index'
// })
// },
// onBackPress(e) {
// //e.from === 'backbutton'
// if (e.from === 'backbutton') {
// //true ,
// uni.switchTab({
// url: '/pages/index'
// })
// //true
// return true;
// }
// }
}
</script>
<style lang="scss">
.container {
height: 90vh;
background-color: #F9FBFF;
padding-top: 5vh;
}
.header {
padding: 14px 16px 16px;
background: #F9FBFF;
.title {
font-size: 36rpx;
font-weight: 500;
color: #333;
}
}
.user-info {
display: flex;
align-items: center;
padding: 16px;
background: #fff;
margin-bottom: 20px;
.avatar-wrapper {
margin-right: 12px;
.avatar {
width: 60px;
height: 60px;
border-radius: 30px;
}
}
.user-detail {
flex: 1;
.username {
margin-left: 12px;
font-size: 36rpx;
font-weight: 500;
color: #333;
}
}
.star-icon {
padding: 8px;
}
}
.services {
background: #fff;
padding: 16px;
height: 80vh;
.services-title {
font-size: 32rpx;
color: #333;
margin-bottom: 26px;
font-weight: 400;
}
.grid-container {
display: grid;
grid-template-columns: repeat(3, 1fr);
gap: 20px;
.grid-item {
display: flex;
flex-direction: column;
align-items: center;
.icon-wrapper {
// width: 48px;
// height: 48px;
//border-radius: 24px;
//background: #f5f5f5;
display: flex;
align-items: center;
justify-content: center;
margin-bottom: 3px;
}
.icon-text {
font-size: 28rpx;
color: #0F274B;
}
}
}
}
</style>

View File

@ -74,7 +74,12 @@
<u-image :src="imgItem" width="80px" height="80px" />
</view>
</view>
<view v-if="item.reply&&item.reply!=''" style="width: 94%;margin: 10rpx auto;height: auto;word-break: break-all;font-size: 24rpx;">
回复内容{{item.reply}}
</view>
<view v-if="item.replyTime&&item.replyTime!=''" style="width: 94%;margin: 10rpx auto;height: auto;word-break: break-all;font-size: 24rpx;">
回复时间{{item.replyTime}}
</view>
</view>
<view style="margin: 20px 0" v-if="tableList2.length > 0">
<u-loadmore :status="status2" nomoreText="没有更多数据了" />
@ -208,7 +213,7 @@ export default {
size: this.pageSize2,
}
try {
const res = await getPageEvaluateListApi(params)
const res = await getPageEvaluateListApi(params)
console.log('?? ~ getEvaluatedList ~ res:', res)
this.total2 = Number(res.total);
if(this.pageNum2==1){

View File

@ -23,8 +23,8 @@
<Tabs :tabList="tabList" @changeTab="changeTab" />
</view>
<!-- <view style="height: 56px"></view> -->
<scroll-view style="width: 100%;height: 80vh;" @scrolltolower="onScrollTolower" scroll-y="true">
<view class="evaluateCenter" v-if="this.tabIndex==1">
<scroll-view style="width: 100%;height: 80vh;" @scrolltolower="onScrollTolower" scroll-y="true" v-if="this.tabIndex!=1">
<!-- <view class="evaluateCenter" v-if="this.tabIndex==1">
<view class="evaluateCenterLeft">
<u-image src="../../static/images/user.png" width="30px" height="30px" />
<text>评价中心</text>
@ -32,7 +32,7 @@
<view class="evaluateCenterRight" @click="goEvaluateCenter">
去看看
</view>
</view>
</view> -->
<view class="order-list" v-for="(item, index) in tableList" :key="index">
<view class="flex justify-between">
<!-- <view class="order-source">订单来源双屏消费机</view> -->
@ -85,6 +85,44 @@
<u-empty icon="../../static/images/not_order.png" text="暂无相关订单" textColor="#000" />
</view>
</scroll-view>
<!-- 已评价 -->
<scroll-view style="width: 100%;height: 80vh;" @scrolltolower="onScrollTolower2" scroll-y="true" v-if="tabIndex==1">
<view class="order-list" v-for="(item, index) in tableList2" :key="index">
<view class="flex justify-between">
<view>
<text style="color: #0f274b;font-weight: bold;font-size:28rpx">{{ item.canteenName }}/{{item.stallName}}</text>
</view>
<view style="color: rgba(15, 39, 75, 0.8)">{{ item.crtime.split(" ")[0] }}</view>
</view>
<view class="flex" style="width: 100%;margin: 10rpx 0;">
<view style="display: flex;gap: 0rpx;">
<u-icon v-for="n in 5" :key="n" :name="n <= item.starLevel ? 'star-fill' : 'star-fill'"
:color="n <= item.starLevel ? '#ff9933' : '#ccc'" size="20"></u-icon>
</view>
</view>
<view style="width: 94%;margin: 10rpx auto;height: auto;word-break: break-all;font-size: 24rpx;">
{{item.description}}
</view>
<view style="width: 94%;margin: 10rpx auto;height: auto;display: flex;flex-wrap: wrap;">
<view v-for="(imgItem,imgIndex) in item.pictureList" :key="imgIndex" @click="opePopup(imgItem)">
<u-image :src="imgItem" width="80px" height="80px" />
</view>
</view>
<view v-if="item.reply&&item.reply!=''" style="width: 94%;margin: 10rpx auto;height: auto;word-break: break-all;font-size: 24rpx;">
回复内容{{item.reply}}
</view>
<view v-if="item.replyTime&&item.replyTime!=''" style="width: 94%;margin: 10rpx auto;height: auto;word-break: break-all;font-size: 24rpx;">
回复时间{{item.replyTime}}
</view>
</view>
<view style="margin: 20px 0" v-if="tableList2.length > 0">
<u-loadmore :status="status2" nomoreText="没有更多数据了" />
</view>
<view v-else class="flex justify-center align-center" style="height: 50vh">
<u-empty icon="../../static/images/not_order.png" text="暂无评价" textColor="#000" />
</view>
</scroll-view>
</view>
<!-- 筛选部分-->
<u-popup :show="localShow" @close="closePopup" mode="bottom" round="20">
@ -171,6 +209,11 @@
mode="date"
></u-datetime-picker>
</u-popup>
<u-popup :show="showPic" mode="center" @close="showPic=false">
<image :src="imagerUrl" mode="aspectFit" style="height: 100vh;width: 100vw;" @click="showPic=false"></image>
</u-popup>
</view>
</template>
@ -178,6 +221,7 @@
import Tabs from '@/pages/components/Tabs.vue'
import { getDate } from '../../uni_modules/uni-datetime-picker/components/uni-datetime-picker/util'
import { getOrderInfoListAPI,getOrderSourceTypeListAPI,payOrderApi,cancelOrderApi } from '../../api/order/index'
import { getPageEvaluateListApi } from '../../api/order/index'
export default {
components: { Tabs },
@ -197,7 +241,7 @@ export default {
searchValue: '',
searchType:'',
status: 'loadmore',
tabList: ['全部订单', '评价', '待支付', '退款'],
tabList: ['全部订单', '评价', '待支付', '退款'],
dateValue:new Date(),
dateValue2:new Date(),
sourceTypeList:[],
@ -270,7 +314,14 @@ export default {
{id:"13",name:'到店扫码'},{id:"14",name:'到店扫码'},{id:"15",name:'美团外卖'},{id:"16",name:'美团到店'},{id:"21",name:'补扣'},{id:"22",name:'外部订单'},{id:"99",name:'其他'}
],
selectedOrderTypes: [],
//
pageNum2: 1,
pageSize2: 10,
total2: 0,
tableList2: [],
status2:'loadmore',
showPic:false,
imagerUrl:""
}
},
watch: {
@ -299,11 +350,11 @@ export default {
//
onScrollTolower(){
console.log(this.tableList.length)
if(this.total>this.tableList.length){
this.pageNum++
this.getList()
}
},
if(this.total>this.tableList.length){
this.pageNum++
this.getList()
}
},
//
async getList() {
console.log('获取列表')
@ -363,19 +414,66 @@ export default {
console.log('?? ~ changeTab ~ index:', index)
this.tabIndex = index;
if(index==1){
this.searchType="3"
}else if(index==2){
// this.searchType="3"//
//
this.pageNum2=1;
this.tableList2=[]
this.getEvaluatedList()
}else if(index==2){//
this.searchType="4"
}else if(index==3){
this.pageNum=1;
this.tableList=[]
this.getList()
}else if(index==3){//退退
this.searchType="2"
}else{
this.pageNum=1;
this.tableList=[]
this.getList()
}else{//
this.searchType=""
}
this.pageNum=1;
this.tableList=[]
this.getList()
this.pageNum=1;
this.tableList=[]
this.getList()
}
},
//
onScrollTolower2(){
if(this.total2>this.tableList2.length){
if(this.tabIndex==1){
this.pageNum2++
this.getEvaluatedList()
}
}
},
//
async getEvaluatedList() {
console.log('获取列表')
const params = {
custId: uni.getStorageSync('custId'),
startDate: this.startDate,
endDate: this.endDate,
current: this.pageNum2,
size: this.pageSize2,
}
try {
const res = await getPageEvaluateListApi(params)
console.log('?? ~ getEvaluatedList ~ res:', res)
this.total2 = Number(res.total);
if(this.pageNum2==1){
this.tableList2 = res.records
}else{
this.tableList2.push(...res.records)
}
this.status2 = this.total2 == this.tableList2.length ? 'nomore' : 'loadmore'
} catch (error) {
console.log(error)
}
},
//
opePopup(item){
this.imagerUrl = item;
this.showPic = true
},
//
handleOrderState(state) {
switch (state) {