From b5cc5315b0b2136b2a94a71084355eef7cc2b103 Mon Sep 17 00:00:00 2001
From: MrShi <1878285526@qq.com>
Date: 星期六, 25 四月 2026 15:15:59 +0800
Subject: [PATCH] 门店修改面面
---
small-program/pages/details-entry/details-entry.vue | 418 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-
1 files changed, 411 insertions(+), 7 deletions(-)
diff --git a/small-program/pages/details-entry/details-entry.vue b/small-program/pages/details-entry/details-entry.vue
index 73b7ceb..b8fe52a 100644
--- a/small-program/pages/details-entry/details-entry.vue
+++ b/small-program/pages/details-entry/details-entry.vue
@@ -1,13 +1,147 @@
<template>
<view class="container">
- <view class="head">
+ <view class="head" :class="'head-' + shopAuditStatus">
<view class="head-top">
- <image src="/static/images/ic_renzhengzhong@2x.png" mode="widthFix"></image>
- <text>骞冲彴瀹℃牳涓�</text>
+ <image :src="statusIcon" mode="widthFix"></image>
+ <text>{{ statusText }}</text>
</view>
<view class="head-bottom">
- 瀹℃牳缁撴灉灏嗛�氳繃鐭俊/璁㈤槄娑堟伅閫氱煡鎮�
+ {{ statusBottomText }}
</view>
+ </view>
+ <view class="list">
+ <view class="list-item">
+ <view class="list-item-label">娉ㄥ唽鎵嬫満鍙�</view>
+ <view class="list-item-value">{{ form.telephone }}</view>
+ </view>
+ <view class="list-item">
+ <view class="list-item-label">闂ㄥ簵鍚嶇О</view>
+ <view class="list-item-value">{{ form.name }}</view>
+ </view>
+ <view class="list-item">
+ <view class="list-item-label">闂ㄥ簵绫诲瀷</view>
+ <view class="list-item-value">{{ form.companyType === 0 ? '涓汉' : '浼佷笟' }}</view>
+ </view>
+ <view class="list-item">
+ <view class="list-item-label">鎵�鍦ㄥ煄甯�</view>
+ <view class="list-item-value">{{ fullAreaName }}</view>
+ </view>
+ <view class="list-item">
+ <view class="list-item-label">闂ㄥ簵鍦板潃</view>
+ <view class="list-item-value">{{ form.address }}</view>
+ </view>
+ <view class="list-item">
+ <view class="list-item-label">鑱旂郴浜�</view>
+ <view class="list-item-value">{{ form.linkName }}</view>
+ </view>
+ <view class="list-item">
+ <view class="list-item-label">鑱旂郴浜虹數璇�</view>
+ <view class="list-item-value">{{ form.linkPhone }}</view>
+ </view>
+ <view class="list-item">
+ <view class="list-item-label">鑱旂郴浜鸿韩浠借瘉</view>
+ <view class="list-item-value">{{ form.idcard }}</view>
+ </view>
+ <view class="list-item">
+ <view class="list-item-label">鏀粯瀹濊处鍙�</view>
+ <view class="list-item-value">{{ form.aliAccount }}</view>
+ </view>
+ <view class="list-item">
+ <view class="list-item-label">鏀粯瀹濆鍚�</view>
+ <view class="list-item-value">{{ form.aliName }}</view>
+ </view>
+ <view class="list-item" style="flex-direction: column; align-items: flex-start;">
+ <view class="list-item-label" style="margin-bottom: 30rpx;">韬唤璇佹鍙嶉潰</view>
+ <view class="idcard">
+ <view class="idcard-image" v-if="form.idcardImg" @click="previewImage(form.idcardImg)">
+ <image :src="getFullPath(form.idcardImg)" mode="aspectFill"></image>
+ </view>
+ <view class="idcard-image" v-if="form.idcardImgBack" @click="previewImage(form.idcardImgBack)">
+ <image :src="getFullPath(form.idcardImgBack)" mode="aspectFill"></image>
+ </view>
+ </view>
+ </view>
+ <view class="list-item" style="flex-direction: column; align-items: flex-start;">
+ <view class="list-item-label" style="margin-bottom: 30rpx;">闂ㄥ簵闂ㄥご鐓х墖</view>
+ <view class="imgList">
+ <view class="imgItem" v-for="(img, index) in form.storeFrontImgs" :key="index" @click="previewImage(img)">
+ <image :src="getFullPath(img)" mode="aspectFill"></image>
+ </view>
+ </view>
+ </view>
+ <view class="list-item" style="flex-direction: column; align-items: flex-start;">
+ <view class="list-item-label" style="margin-bottom: 30rpx;">闂ㄥ簵鍐呴儴鐓х墖</view>
+ <view class="imgList">
+ <view class="imgItem" v-for="(img, index) in form.storeInteriorImgs" :key="index" @click="previewImage(img)">
+ <image :src="getFullPath(img)" mode="aspectFill"></image>
+ </view>
+ </view>
+ </view>
+ <view class="list-item" style="flex-direction: column; align-items: flex-start;">
+ <view class="list-item-label" style="margin-bottom: 30rpx;">鍏朵粬鏉愭枡</view>
+ <view class="imgList">
+ <view class="imgItem" v-for="(img, index) in form.otherMaterialImgs" :key="index" @click="previewImage(img)">
+ <image :src="getFullPath(img)" mode="aspectFill"></image>
+ </view>
+ </view>
+ </view>
+ <template v-if="form.companyType === 0">
+ <view class="list-item" style="flex-direction: column; align-items: flex-start;">
+ <view class="list-item-label" style="margin-bottom: 30rpx;">鏈夋晥鍔冲伐鍚堝悓</view>
+ <view class="imgList">
+ <view class="imgItem" v-for="(img, index) in form.laborContractImgs" :key="index" @click="previewImage(img)">
+ <image :src="getFullPath(img)" mode="aspectFill"></image>
+ </view>
+ </view>
+ </view>
+ <view class="list-item" style="flex-direction: column; align-items: flex-start;">
+ <view class="list-item-label" style="margin-bottom: 30rpx;">鏈夋晥绀句繚缂寸撼璇佹槑</view>
+ <view class="imgList">
+ <view class="imgItem" v-for="(img, index) in form.socialSecurityImgs" :key="index" @click="previewImage(img)">
+ <image :src="getFullPath(img)" mode="aspectFill"></image>
+ </view>
+ </view>
+ </view>
+ </template>
+ <template v-else>
+ <view class="list-item">
+ <view class="list-item-label">娉曚汉濮撳悕</view>
+ <view class="list-item-value">{{ form.legalPersonName }}</view>
+ </view>
+ <view class="list-item">
+ <view class="list-item-label">浼佷笟鏀粯瀹濊处鍙�</view>
+ <view class="list-item-value">{{ form.aliAccount }}</view>
+ </view>
+ <view class="list-item">
+ <view class="list-item-label">娉曚汉韬唤璇佸彿</view>
+ <view class="list-item-value">{{ form.legalPersonCardNo }}</view>
+ </view>
+ <view class="list-item" style="flex-direction: column; align-items: flex-start;">
+ <view class="list-item-label" style="margin-bottom: 30rpx;">娉曚汉韬唤璇佹鍙嶉潰</view>
+ <view class="idcard">
+ <view class="idcard-image" v-if="form.legalPersonCard" @click="previewImage(form.legalPersonCard)">
+ <image :src="getFullPath(form.legalPersonCard)" mode="aspectFill"></image>
+ </view>
+ <view class="idcard-image" v-if="form.legalPersonCardBack" @click="previewImage(form.legalPersonCardBack)">
+ <image :src="getFullPath(form.legalPersonCardBack)" mode="aspectFill"></image>
+ </view>
+ </view>
+ </view>
+ <view class="list-item" style="flex-direction: column; align-items: flex-start;">
+ <view class="list-item-label" style="margin-bottom: 30rpx;">钀ヤ笟鎵х収</view>
+ <view class="imgList">
+ <view class="imgItem" v-if="form.businessImg" @click="previewImage(form.businessImg)">
+ <image :src="getFullPath(form.businessImg)" mode="aspectFill"></image>
+ </view>
+ </view>
+ </view>
+ </template>
+ </view>
+ <view class="footer-btn" v-if="shopAuditStatus === 1">
+ <view class="pay-btn" @click="goToPay">鏀粯鎶奸噾 锟{ form.depositAmount }}</view>
+ </view>
+ <view class="footer-btn" v-if="shopAuditStatus === 2">
+ <view class="reapply-btn" @click="goToReapply">閲嶆柊璁よ瘉</view>
</view>
</view>
</template>
@@ -16,8 +150,171 @@
export default {
data() {
return {
-
+ form: {
+ telephone: '',
+ name: '',
+ companyType: 0,
+ provinceName: '',
+ cityName: '',
+ areaName: '',
+ address: '',
+ linkName: '',
+ linkPhone: '',
+ idcard: '',
+ aliAccount: '',
+ storeFrontImgs: [],
+ storeInteriorImgs: [],
+ otherMaterialImgs: [],
+ idcardImg: '',
+ idcardImgBack: '',
+ laborContractImgs: [],
+ socialSecurityImgs: [],
+ legalPersonName: '',
+ legalPersonCard: '',
+ legalPersonCardBack: '',
+ legalPersonCardNo: '',
+ businessImg: '',
+ depositAmount: '',
+ aliName: ''
+ },
+ imgPrefix: '',
+ statusText: '骞冲彴瀹℃牳涓�',
+ shopAuditStatus: 0,
+ statusBottomText: ''
};
+ },
+ computed: {
+ statusIcon() {
+ const iconMap = {
+ 0: '/static/icon/ic_renzhengzhong@2x.png',
+ 1: '/static/icon/ic_pass@2x.png',
+ 2: '/static/icon/ic_fail@2x.png',
+ 3: '/static/icon/ic_pass@2x.png'
+ }
+ return iconMap[this.shopAuditStatus] || iconMap[0]
+ },
+ fullAreaName() {
+ const arr = [this.form.provinceName, this.form.cityName, this.form.areaName].filter(Boolean)
+ return arr.join('/')
+ }
+ },
+ onLoad() {
+ this.getMyShopData()
+ },
+ methods: {
+ getFullPath(url) {
+ if (!url) return ''
+ if (url.startsWith('http')) {
+ return url
+ }
+ return this.imgPrefix + url
+ },
+ previewImage(url) {
+ uni.previewImage({
+ urls: [this.getFullPath(url)],
+ current: 0
+ })
+ },
+ goToPay() {
+ uni.showLoading({ title: '鍙戣捣鏀粯涓�...', mask: true })
+ this.$u.api.payDeposit({}).then(res => {
+ uni.hideLoading()
+ if (res.code === 200 && res.data) {
+ let paymentData = res.data.response
+ uni.requestPayment({
+ provider: 'wxpay',
+ timeStamp: paymentData.timeStamp || '',
+ nonceStr: paymentData.nonceStr || '',
+ package: paymentData.package || '',
+ signType: paymentData.signType || 'MD5',
+ paySign: paymentData.paySign || '',
+ success: (res) => {
+ this.getMyShopData()
+ },
+ fail: (err) => {
+ if (err.errMsg.includes('cancel')) {
+ uni.showToast({ title: '宸插彇娑堟敮浠�', icon: 'none' })
+ } else {
+ uni.showToast({ title: '鏀粯澶辫触', icon: 'none' })
+ }
+ }
+ })
+ } else {
+ uni.showToast({ title: res.msg || '鏀粯澶辫触', icon: 'none' })
+ }
+ }).catch(err => {
+ uni.hideLoading()
+ uni.showToast({ title: '鏀粯澶辫触', icon: 'none' })
+ })
+ },
+ goToReapply() {
+ uni.navigateTo({
+ url: '/pages/store-apply/store-apply'
+ })
+ },
+ async getMyShopData() {
+ try {
+ const res = await this.$u.api.getMyShop()
+ if (res.code === 200 && res.data) {
+ const data = res.data
+ this.imgPrefix = data.imgPrefix || ''
+ this.form.telephone = data.telephone || ''
+ this.form.name = data.name || ''
+ this.form.companyType = data.companyType || 0
+ this.form.provinceName = data.provinceName || ''
+ this.form.cityName = data.cityName || ''
+ this.form.areaName = data.areaName || ''
+ this.form.address = data.address || ''
+ this.form.linkName = data.linkName || ''
+ this.form.linkPhone = data.linkPhone || ''
+ this.form.idcard = data.idcard || ''
+ this.form.aliAccount = data.aliAccount || ''
+ this.form.legalPersonName = data.legalPersonName || ''
+ this.form.legalPersonCardNo = data.legalPersonCard || ''
+ this.form.aliName = data.aliName || ''
+ if (data.storeFrontImgs) {
+ this.form.storeFrontImgs = typeof data.storeFrontImgs === 'string' ? data.storeFrontImgs.split(',') : data.storeFrontImgs
+ }
+ if (data.storeInteriorImgs) {
+ this.form.storeInteriorImgs = typeof data.storeInteriorImgs === 'string' ? data.storeInteriorImgs.split(',') : data.storeInteriorImgs
+ }
+ if (data.otherMaterialImgs) {
+ this.form.otherMaterialImgs = typeof data.otherMaterialImgs === 'string' ? data.otherMaterialImgs.split(',') : data.otherMaterialImgs
+ }
+ this.form.idcardImg = data.idcardImg || ''
+ this.form.idcardImgBack = data.idcardImgBack || ''
+ if (data.laborContractImgs) {
+ this.form.laborContractImgs = typeof data.laborContractImgs === 'string' ? data.laborContractImgs.split(',') : data.laborContractImgs
+ }
+ if (data.socialSecurityImgs) {
+ this.form.socialSecurityImgs = typeof data.socialSecurityImgs === 'string' ? data.socialSecurityImgs.split(',') : data.socialSecurityImgs
+ }
+ this.form.legalPersonCard = data.legalPersonCard || ''
+ this.form.legalPersonCardBack = data.legalPersonCardBack || ''
+ if (data.auditStatus === 1) {
+ this.form.depositAmount = data.depositAmount / 100 || ''
+ }
+ this.form.businessImg = data.businessImg || ''
+ const statusMap = {
+ 0: '骞冲彴瀹℃牳涓�',
+ 1: '闂ㄥ簵鍏ラ┗宸查�氳繃',
+ 2: '闂ㄥ簵鍏ラ┗宸叉嫆缁�',
+ 3: '闂ㄥ簵宸插叆椹�'
+ }
+ this.shopAuditStatus = data.auditStatus || 0
+ this.statusText = statusMap[this.shopAuditStatus] || '骞冲彴瀹℃牳涓�'
+ const bottomTextMap = {
+ 0: '瀹℃牳缁撴灉灏嗛�氳繃鐭俊/璁㈤槄娑堟伅閫氱煡鎮�',
+ 1: '璇锋敮浠橀棬搴楀叆椹绘娂閲�',
+ 2: '钀ヤ笟鎵х収杩囨湡锛岃閲嶆柊鎻愪氦瀹℃牳',
+ 3: ' '
+ }
+ this.statusBottomText = bottomTextMap[this.shopAuditStatus] || bottomTextMap[0]
+ }
+ } catch (error) {
+ console.log('鑾峰彇搴楅摵淇℃伅澶辫触', error)
+ }
+ }
}
}
</script>
@@ -25,6 +322,70 @@
<style lang="scss" scoped>
.container {
width: 100%;
+ padding-bottom: 140rpx;
+ .list {
+ width: 100%;
+ padding: 0 30rpx;
+ box-sizing: border-box;
+ .list-item {
+ width: 100%;
+ padding: 30rpx 0;
+ box-sizing: border-box;
+ display: flex;
+ align-items: center;
+ justify-content: space-between;
+ border-bottom: 1rpx solid #E5E5E5;
+ .list-item-label {
+ width: 245rpx;
+ flex-shrink: 0;
+ font-weight: 400;
+ font-size: 30rpx;
+ color: #777777;
+ }
+ .imgList {
+ width: 100%;
+ display: flex;
+ align-items: center;
+ flex-wrap: wrap;
+ .imgItem {
+ width: 144rpx;
+ height: 144rpx;
+ border-radius: 8rpx;
+ gap: 20rpx;
+ overflow: hidden;
+ image {
+ width: 100%;
+ }
+ }
+ }
+ .idcard {
+ width: 100%;
+ display: flex;
+ align-items: center;
+ .idcard-image {
+ flex: 1;
+ height: 216rpx;
+ overflow: hidden;
+ border-radius: 8rpx;
+ border: 1rpx solid #E5E5E5;
+ &:first-child {
+ margin-right: 22rpx;
+ }
+ image {
+ width: 100%;
+ height: 100%;
+ }
+ }
+ }
+ .list-item-value {
+ flex: 1;
+ text-align: right;
+ font-weight: 400;
+ font-size: 30rpx;
+ color: #222222;
+ }
+ }
+ }
.head {
width: 100%;
height: 248rpx;
@@ -32,7 +393,6 @@
flex-direction: column;
align-items: center;
justify-content: center;
- background: rgba(255,114,0,0.08);
.head-top {
display: flex;
align-items: center;
@@ -45,7 +405,6 @@
text {
font-weight: 600;
font-size: 40rpx;
- color: #FA8010;
}
}
.head-bottom {
@@ -54,6 +413,51 @@
color: #333333;
margin-top: 34rpx;
}
+ &.head-0 {
+ background: rgba(255,114,0,0.08);
+ .head-top text {
+ color: #FA8010;
+ }
+ }
+ &.head-1 {
+ background: rgba(0,211,113,0.1);
+ .head-top text {
+ color: #00D371;
+ }
+ }
+ &.head-3 {
+ background: rgba(0,211,113,0.1);
+ .head-top text {
+ color: #00D371;
+ }
+ }
+ &.head-2 {
+ background: rgba(255,0,0,0.08);
+ .head-top text {
+ color: #FF0000;
+ }
+ }
+ }
+ .footer-btn {
+ width: 100%;
+ padding: 20rpx 30rpx;
+ box-sizing: border-box;
+ background: #fff;
+ position: fixed;
+ bottom: 0;
+ left: 0;
+ .pay-btn, .reapply-btn {
+ width: 100%;
+ height: 88rpx;
+ background: #10B2FA;
+ border-radius: 44rpx;
+ display: flex;
+ align-items: center;
+ justify-content: center;
+ font-weight: 500;
+ font-size: 32rpx;
+ color: #fff;
+ }
}
}
</style>
\ No newline at end of file
--
Gitblit v1.9.3