|
@@ -0,0 +1,531 @@
|
|
|
|
|
+<route lang="json5" type="page">
|
|
|
|
|
+{
|
|
|
|
|
+ layout: 'default',
|
|
|
|
|
+ style: {
|
|
|
|
|
+ navigationBarTitleText: '修改基本信息',
|
|
|
|
|
+ },
|
|
|
|
|
+}
|
|
|
|
|
+</route>
|
|
|
|
|
+
|
|
|
|
|
+<template>
|
|
|
|
|
+ <view class="bg-gray-100 min-h-screen pb-20">
|
|
|
|
|
+ <!-- 修改说明 -->
|
|
|
|
|
+ <view class="bg-white px-4 py-4 mb-3 shadow-sm">
|
|
|
|
|
+ <view class="flex items-center mb-3">
|
|
|
|
|
+ <view class="text-lg font-bold text-gray-800">修改说明</view>
|
|
|
|
|
+ <view class="ml-2 flex-1 h-px bg-gray-100"></view>
|
|
|
|
|
+ </view>
|
|
|
|
|
+ <view class="rules-text text-sm text-gray-600 space-y-1">
|
|
|
|
|
+ <view>1. 请根据审核反馈,修改相关信息;</view>
|
|
|
|
|
+ <view>2. 修改完成后,系统将重新进行审核;</view>
|
|
|
|
|
+ <view>3. 审核通过后,您可以使用优惠券进行下单。</view>
|
|
|
|
|
+ <view class="text-orange-600">
|
|
|
|
|
+ 4. 系统将自动回显您的手机号,其他信息按审核反馈修改,请重新填写。
|
|
|
|
|
+ </view>
|
|
|
|
|
+ </view>
|
|
|
|
|
+ </view>
|
|
|
|
|
+
|
|
|
|
|
+ <!-- 表单区域 -->
|
|
|
|
|
+ <view class="bg-white px-4 py-4 shadow-sm">
|
|
|
|
|
+ <view class="flex items-center mb-4">
|
|
|
|
|
+ <view class="text-lg font-bold text-gray-800">基本信息</view>
|
|
|
|
|
+ <view class="ml-2 flex-1 h-px bg-gray-100"></view>
|
|
|
|
|
+ </view>
|
|
|
|
|
+ <wd-form ref="formRef" :model="formData">
|
|
|
|
|
+ <wd-cell-group border>
|
|
|
|
|
+ <!-- 用户类型 -->
|
|
|
|
|
+ <wd-cell
|
|
|
|
|
+ title="用户类型"
|
|
|
|
|
+ title-width="100px"
|
|
|
|
|
+ prop="userstype"
|
|
|
|
|
+ required
|
|
|
|
|
+ custom-class="custom-cell"
|
|
|
|
|
+ >
|
|
|
|
|
+ <wd-radio-group
|
|
|
|
|
+ v-model="formData.userstype"
|
|
|
|
|
+ @change="handleUserTypeChange"
|
|
|
|
|
+ inline
|
|
|
|
|
+ shape="dot"
|
|
|
|
|
+ :rules="[{ required: true, message: '请选择用户类型' }]"
|
|
|
|
|
+ >
|
|
|
|
|
+ <wd-radio value="个人">个人</wd-radio>
|
|
|
|
|
+ <wd-radio value="企业">企业</wd-radio>
|
|
|
|
|
+ </wd-radio-group>
|
|
|
|
|
+ </wd-cell>
|
|
|
|
|
+
|
|
|
|
|
+ <!-- 姓名/企业名称 -->
|
|
|
|
|
+ <wd-input
|
|
|
|
|
+ :label="usersnameLabel"
|
|
|
|
|
+ label-width="100px"
|
|
|
|
|
+ prop="usersname"
|
|
|
|
|
+ required
|
|
|
|
|
+ v-model="formData.usersname"
|
|
|
|
|
+ :placeholder="`请输入${usersnameLabel}`"
|
|
|
|
|
+ clearable
|
|
|
|
|
+ no-border
|
|
|
|
|
+ :rules="[{ required: true, message: `请输入${usersnameLabel}` }]"
|
|
|
|
|
+ />
|
|
|
|
|
+
|
|
|
|
|
+ <!-- 证件号 -->
|
|
|
|
|
+ <wd-input
|
|
|
|
|
+ :label="idNumberLabel"
|
|
|
|
|
+ label-width="100px"
|
|
|
|
|
+ prop="idNumber"
|
|
|
|
|
+ required
|
|
|
|
|
+ v-model="formData.idNumber"
|
|
|
|
|
+ :placeholder="`请输入${idNumberLabel}`"
|
|
|
|
|
+ clearable
|
|
|
|
|
+ no-border
|
|
|
|
|
+ :rules="[{ required: true, message: `请输入${idNumberLabel}` }]"
|
|
|
|
|
+ />
|
|
|
|
|
+
|
|
|
|
|
+ <!-- 证件照片上传 -->
|
|
|
|
|
+ <wd-cell
|
|
|
|
|
+ :title="idPhotoLabel"
|
|
|
|
|
+ title-width="100px"
|
|
|
|
|
+ prop="idPhotoIds"
|
|
|
|
|
+ required
|
|
|
|
|
+ custom-class="custom-cell"
|
|
|
|
|
+ >
|
|
|
|
|
+ <view class="flex-1">
|
|
|
|
|
+ <!-- 个人身份证上传 -->
|
|
|
|
|
+ <template v-if="formData.userstype === '个人'">
|
|
|
|
|
+ <UploadComponent
|
|
|
|
|
+ v-model="formData.idCardFiles"
|
|
|
|
|
+ v-model:fileIds="formData.idCardIds"
|
|
|
|
|
+ :limit="1"
|
|
|
|
|
+ attmodel="coupon_identity"
|
|
|
|
|
+ attpath="/coupon_identity/"
|
|
|
|
|
+ modelStats="idCardIds"
|
|
|
|
|
+ message="请上传身份证照片"
|
|
|
|
|
+ tips="请上传身份证正面照片"
|
|
|
|
|
+ />
|
|
|
|
|
+ </template>
|
|
|
|
|
+
|
|
|
|
|
+ <!-- 企业营业执照上传 -->
|
|
|
|
|
+ <template v-else>
|
|
|
|
|
+ <UploadComponent
|
|
|
|
|
+ v-model="formData.businessLicenseFiles"
|
|
|
|
|
+ v-model:fileIds="formData.businessLicenseIds"
|
|
|
|
|
+ :limit="1"
|
|
|
|
|
+ attmodel="coupon_identity"
|
|
|
|
|
+ attpath="/coupon_identity/"
|
|
|
|
|
+ modelStats="businessLicenseIds"
|
|
|
|
|
+ message="请上传营业执照照片"
|
|
|
|
|
+ />
|
|
|
|
|
+ </template>
|
|
|
|
|
+ </view>
|
|
|
|
|
+ </wd-cell>
|
|
|
|
|
+
|
|
|
|
|
+ <!-- 购机者照片上传 (可选) -->
|
|
|
|
|
+ <wd-cell title="购机者照片" title-width="100px" custom-class="custom-cell">
|
|
|
|
|
+ <view class="flex-1">
|
|
|
|
|
+ <UploadComponent
|
|
|
|
|
+ v-model="formData.buyerPhoto"
|
|
|
|
|
+ v-model:fileIds="formData.buyerPhotoIds"
|
|
|
|
|
+ :limit="1"
|
|
|
|
|
+ :required="false"
|
|
|
|
|
+ attmodel="coupon_buyer"
|
|
|
|
|
+ attpath="/coupon_buyer/"
|
|
|
|
|
+ modelStats="buyerPhotoIds"
|
|
|
|
|
+ message="请上传购机者照片"
|
|
|
|
|
+ tips="用于确认购机者身份"
|
|
|
|
|
+ />
|
|
|
|
|
+ </view>
|
|
|
|
|
+ </wd-cell>
|
|
|
|
|
+
|
|
|
|
|
+ <!-- 手机号 -->
|
|
|
|
|
+ <wd-input
|
|
|
|
|
+ label="手机号"
|
|
|
|
|
+ label-width="100px"
|
|
|
|
|
+ prop="phone"
|
|
|
|
|
+ required
|
|
|
|
|
+ v-model="formData.phone"
|
|
|
|
|
+ placeholder="请输入您的手机号码"
|
|
|
|
|
+ clearable
|
|
|
|
|
+ no-border
|
|
|
|
|
+ :rules="[
|
|
|
|
|
+ { required: true, message: '请输入手机号码' },
|
|
|
|
|
+ { required: false, pattern: /^1[3-9]\d{9}$/, message: '请输入正确的手机号码' },
|
|
|
|
|
+ ]"
|
|
|
|
|
+ @blur="validatePhone"
|
|
|
|
|
+ />
|
|
|
|
|
+ </wd-cell-group>
|
|
|
|
|
+ </wd-form>
|
|
|
|
|
+ </view>
|
|
|
|
|
+
|
|
|
|
|
+ <!-- 提交按钮 -->
|
|
|
|
|
+ <view class="fixed-bottom bg-white p-4 border-t border-gray-100">
|
|
|
|
|
+ <wd-button type="primary" block size="large" @click="handleSubmit" :loading="submitLoading">
|
|
|
|
|
+ 确认保存
|
|
|
|
|
+ </wd-button>
|
|
|
|
|
+ </view>
|
|
|
|
|
+
|
|
|
|
|
+ <!-- loading -->
|
|
|
|
|
+ <wd-overlay :show="overlayShow">
|
|
|
|
|
+ <view class="wrapper w-full h-full flex items-center justify-center">
|
|
|
|
|
+ <wd-loading />
|
|
|
|
|
+ </view>
|
|
|
|
|
+ </wd-overlay>
|
|
|
|
|
+ </view>
|
|
|
|
|
+</template>
|
|
|
|
|
+
|
|
|
|
|
+<script lang="ts" setup>
|
|
|
|
|
+import { reactive, ref, computed, onMounted } from 'vue'
|
|
|
|
|
+import { useMessage } from 'wot-design-uni'
|
|
|
|
|
+import { onLoad } from '@dcloudio/uni-app'
|
|
|
|
|
+import UploadComponent from '@/components/UploadComponent.vue'
|
|
|
|
|
+import { useCouponStore } from '@/store/coupon'
|
|
|
|
|
+import { useUserStore } from '@/store/user'
|
|
|
|
|
+import { useFileStore } from '@/store/file'
|
|
|
|
|
+
|
|
|
|
|
+const message = useMessage()
|
|
|
|
|
+const couponStore = useCouponStore()
|
|
|
|
|
+const userStore = useUserStore()
|
|
|
|
|
+const fileStore = useFileStore()
|
|
|
|
|
+
|
|
|
|
|
+// 页面参数
|
|
|
|
|
+const coupon2sid = ref('')
|
|
|
|
|
+
|
|
|
|
|
+const formRef = ref<any>()
|
|
|
|
|
+const formData = reactive({
|
|
|
|
|
+ userstype: '个人', // 用户类型,默认个人
|
|
|
|
|
+ usersname: '', // 姓名或企业名称
|
|
|
|
|
+ idNumber: '', // 证件号
|
|
|
|
|
+
|
|
|
|
|
+ // 身份证照片(个人用户)
|
|
|
|
|
+ idCardFiles: [], // 身份证照片文件列表
|
|
|
|
|
+ idCardIds: [], // 身份证照片ID列表
|
|
|
|
|
+
|
|
|
|
|
+ // 营业执照(企业用户)
|
|
|
|
|
+ businessLicenseFiles: [], // 营业执照照片文件列表
|
|
|
|
|
+ businessLicenseIds: [], // 营业执照照片ID列表
|
|
|
|
|
+
|
|
|
|
|
+ // 购机者照片(可选)
|
|
|
|
|
+ buyerPhoto: [], // 购机者照片文件列表
|
|
|
|
|
+ buyerPhotoIds: [], // 购机者照片ID列表
|
|
|
|
|
+
|
|
|
|
|
+ phone: '', // 手机号
|
|
|
|
|
+})
|
|
|
|
|
+
|
|
|
|
|
+// 优惠券详情数据
|
|
|
|
|
+const couponDetail = ref<any>(null)
|
|
|
|
|
+
|
|
|
|
|
+const usersnameLabel = computed(() => (formData.userstype === '个人' ? '姓名' : '企业名称'))
|
|
|
|
|
+const idNumberLabel = computed(() =>
|
|
|
|
|
+ formData.userstype === '个人' ? '身份证号' : '统一社会信用代码',
|
|
|
|
|
+)
|
|
|
|
|
+const idPhotoLabel = computed(() => (formData.userstype === '个人' ? '身份证正面' : '营业执照'))
|
|
|
|
|
+
|
|
|
|
|
+const overlayShow = ref(false)
|
|
|
|
|
+const submitLoading = ref(false)
|
|
|
|
|
+
|
|
|
|
|
+// 手机号验证相关
|
|
|
|
|
+const isPhoneValid = ref(false)
|
|
|
|
|
+const phoneReg = /^1[3-9]\d{9}$/
|
|
|
|
|
+
|
|
|
|
|
+function validatePhone() {
|
|
|
|
|
+ if (!formData.phone) {
|
|
|
|
|
+ isPhoneValid.value = false
|
|
|
|
|
+ return
|
|
|
|
|
+ }
|
|
|
|
|
+ isPhoneValid.value = phoneReg.test(formData.phone)
|
|
|
|
|
+ if (!isPhoneValid.value && formData.phone) {
|
|
|
|
|
+ uni.showToast({ title: '请输入正确的手机号码', icon: 'none' })
|
|
|
|
|
+ }
|
|
|
|
|
+}
|
|
|
|
|
+
|
|
|
|
|
+// 用户类型切换
|
|
|
|
|
+function handleUserTypeChange() {
|
|
|
|
|
+ // 清空相关字段以便用户重新输入和校验
|
|
|
|
|
+ formData.usersname = ''
|
|
|
|
|
+ formData.idNumber = ''
|
|
|
|
|
+
|
|
|
|
|
+ // 清空证件照片上传
|
|
|
|
|
+ if (formData.userstype === '个人') {
|
|
|
|
|
+ formData.idCardFiles = []
|
|
|
|
|
+ formData.idCardIds = []
|
|
|
|
|
+ formData.businessLicenseFiles = []
|
|
|
|
|
+ formData.businessLicenseIds = []
|
|
|
|
|
+ } else {
|
|
|
|
|
+ formData.idCardFiles = []
|
|
|
|
|
+ formData.idCardIds = []
|
|
|
|
|
+ formData.businessLicenseFiles = []
|
|
|
|
|
+ formData.businessLicenseIds = []
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ // 清空购机者照片
|
|
|
|
|
+ formData.buyerPhoto = []
|
|
|
|
|
+ formData.buyerPhotoIds = []
|
|
|
|
|
+}
|
|
|
|
|
+
|
|
|
|
|
+// 获取并回显图片信息
|
|
|
|
|
+async function loadImageFiles() {
|
|
|
|
|
+ try {
|
|
|
|
|
+ // 获取身份证/营业执照图片
|
|
|
|
|
+ const identityImages = await fileStore.getAttachmentList({
|
|
|
|
|
+ attlsh: coupon2sid.value,
|
|
|
|
|
+ attmodel: 'coupon_identity',
|
|
|
|
|
+ })
|
|
|
|
|
+
|
|
|
|
|
+ console.log('获取到的身份证/营业执照图片:', identityImages)
|
|
|
|
|
+
|
|
|
|
|
+ // 获取购机者照片
|
|
|
|
|
+ const buyerImages = await fileStore.getAttachmentList({
|
|
|
|
|
+ attlsh: coupon2sid.value,
|
|
|
|
|
+ attmodel: 'coupon_buyer',
|
|
|
|
|
+ })
|
|
|
|
|
+
|
|
|
|
|
+ console.log('获取到的购机者照片:', buyerImages)
|
|
|
|
|
+
|
|
|
|
|
+ // 回显身份证/营业执照图片
|
|
|
|
|
+ if (identityImages.length > 0) {
|
|
|
|
|
+ if (formData.userstype === '个人') {
|
|
|
|
|
+ // 个人用户回显身份证
|
|
|
|
|
+ formData.idCardFiles = identityImages.map((img) => ({
|
|
|
|
|
+ url: img.url,
|
|
|
|
|
+ name: img.attorginname || '身份证照片',
|
|
|
|
|
+ }))
|
|
|
|
|
+ formData.idCardIds = identityImages.map((img) => ({
|
|
|
|
|
+ url: img.url,
|
|
|
|
|
+ id: img.attid,
|
|
|
|
|
+ }))
|
|
|
|
|
+ } else {
|
|
|
|
|
+ // 企业用户回显营业执照
|
|
|
|
|
+ formData.businessLicenseFiles = identityImages.map((img) => ({
|
|
|
|
|
+ url: img.url,
|
|
|
|
|
+ name: img.attorginname || '营业执照照片',
|
|
|
|
|
+ }))
|
|
|
|
|
+ formData.businessLicenseIds = identityImages.map((img) => ({
|
|
|
|
|
+ url: img.url,
|
|
|
|
|
+ id: img.attid,
|
|
|
|
|
+ }))
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ // 回显购机者照片
|
|
|
|
|
+ if (buyerImages.length > 0) {
|
|
|
|
|
+ formData.buyerPhoto = buyerImages.map((img) => ({
|
|
|
|
|
+ url: img.url,
|
|
|
|
|
+ name: img.attorginname || '购机者照片',
|
|
|
|
|
+ }))
|
|
|
|
|
+ formData.buyerPhotoIds = buyerImages.map((img) => ({
|
|
|
|
|
+ url: img.url,
|
|
|
|
|
+ id: img.attid,
|
|
|
|
|
+ }))
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ console.log('回显的图片信息:', {
|
|
|
|
|
+ identityImages,
|
|
|
|
|
+ buyerImages,
|
|
|
|
|
+ formData: {
|
|
|
|
|
+ idCardFiles: formData.idCardFiles,
|
|
|
|
|
+ idCardIds: formData.idCardIds,
|
|
|
|
|
+ businessLicenseFiles: formData.businessLicenseFiles,
|
|
|
|
|
+ businessLicenseIds: formData.businessLicenseIds,
|
|
|
|
|
+ buyerPhoto: formData.buyerPhoto,
|
|
|
|
|
+ buyerPhotoIds: formData.buyerPhotoIds,
|
|
|
|
|
+ },
|
|
|
|
|
+ })
|
|
|
|
|
+ } catch (error) {
|
|
|
|
|
+ console.error('获取图片信息失败:', error)
|
|
|
|
|
+ }
|
|
|
|
|
+}
|
|
|
|
|
+
|
|
|
|
|
+// 提交表单
|
|
|
|
|
+async function handleSubmit() {
|
|
|
|
|
+ try {
|
|
|
|
|
+ const valid = await formRef.value.validate()
|
|
|
|
|
+ if (!valid) {
|
|
|
|
|
+ return
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ validatePhone()
|
|
|
|
|
+ if (!isPhoneValid.value) {
|
|
|
|
|
+ uni.showToast({ title: '请输入正确的手机号码', icon: 'none' })
|
|
|
|
|
+ return
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ // 验证证件照片上传
|
|
|
|
|
+ const hasUploadedFiles =
|
|
|
|
|
+ formData.userstype === '个人'
|
|
|
|
|
+ ? formData.idCardIds.length > 0
|
|
|
|
|
+ : formData.businessLicenseIds.length > 0
|
|
|
|
|
+
|
|
|
|
|
+ if (!hasUploadedFiles) {
|
|
|
|
|
+ uni.showToast({
|
|
|
|
|
+ title: `请上传${formData.userstype === '个人' ? '身份证照片' : '营业执照照片'}`,
|
|
|
|
|
+ icon: 'none',
|
|
|
|
|
+ })
|
|
|
|
|
+ return
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ submitLoading.value = true
|
|
|
|
|
+ overlayShow.value = true
|
|
|
|
|
+
|
|
|
|
|
+ try {
|
|
|
|
|
+ // 准备提交参数
|
|
|
|
|
+ const submitParams: any = {
|
|
|
|
|
+ coupon2sid: coupon2sid.value, // 优惠券ID
|
|
|
|
|
+ userstype: formData.userstype, // 用户类型
|
|
|
|
|
+ usersname: formData.usersname, // 姓名或企业名称
|
|
|
|
|
+ coupon2phone: formData.phone, // 手机号
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ // 根据用户类型添加证件号
|
|
|
|
|
+ if (formData.userstype === '个人') {
|
|
|
|
|
+ submitParams.usersidcardnumber = formData.idNumber // 身份证号
|
|
|
|
|
+ } else {
|
|
|
|
|
+ submitParams.usersshtyxydm = formData.idNumber // 统一社会信用代码
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ // 添加文件ID
|
|
|
|
|
+ const fileIds = []
|
|
|
|
|
+
|
|
|
|
|
+ // 添加身份证/营业执照文件ID
|
|
|
|
|
+ if (formData.userstype === '个人' && formData.idCardIds.length > 0) {
|
|
|
|
|
+ fileIds.push(...formData.idCardIds.map((item) => item.id))
|
|
|
|
|
+ } else if (formData.userstype === '企业' && formData.businessLicenseIds.length > 0) {
|
|
|
|
|
+ fileIds.push(...formData.businessLicenseIds.map((item) => item.id))
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ // 添加购机者照片文件ID(可选)
|
|
|
|
|
+ if (formData.buyerPhotoIds.length > 0) {
|
|
|
|
|
+ fileIds.push(...formData.buyerPhotoIds.map((item) => item.id))
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ if (fileIds.length > 0) {
|
|
|
|
|
+ submitParams.filesid = fileIds.join(',')
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ console.log('提交参数:', submitParams)
|
|
|
|
|
+
|
|
|
|
|
+ // 调用修改接口
|
|
|
|
|
+ const result = await couponStore.getCoupon2Modify(submitParams)
|
|
|
|
|
+
|
|
|
|
|
+ console.log('修改结果:', result)
|
|
|
|
|
+
|
|
|
|
|
+ submitLoading.value = false
|
|
|
|
|
+ overlayShow.value = false
|
|
|
|
|
+
|
|
|
|
|
+ message
|
|
|
|
|
+ .confirm({
|
|
|
|
|
+ msg: '信息修改成功!系统将重新审核您的优惠券。',
|
|
|
|
|
+ title: '提示',
|
|
|
|
|
+ confirmButtonText: '确定',
|
|
|
|
|
+ showCancelButton: false,
|
|
|
|
|
+ })
|
|
|
|
|
+ .then(() => {
|
|
|
|
|
+ // 跳转回优惠券列表页面
|
|
|
|
|
+ uni.navigateBack()
|
|
|
|
|
+ })
|
|
|
|
|
+ } catch (error) {
|
|
|
|
|
+ console.error('提交修改失败:', error)
|
|
|
|
|
+ submitLoading.value = false
|
|
|
|
|
+ overlayShow.value = false
|
|
|
|
|
+
|
|
|
|
|
+ message.alert({
|
|
|
|
|
+ title: '提示',
|
|
|
|
|
+ msg: '提交失败,请稍后重试',
|
|
|
|
|
+ })
|
|
|
|
|
+ }
|
|
|
|
|
+ } catch (error) {
|
|
|
|
|
+ console.error('修改信息出错:', error)
|
|
|
|
|
+ submitLoading.value = false
|
|
|
|
|
+ overlayShow.value = false
|
|
|
|
|
+ }
|
|
|
|
|
+}
|
|
|
|
|
+
|
|
|
|
|
+onLoad(async (query: any) => {
|
|
|
|
|
+ coupon2sid.value = query.coupon2sid || ''
|
|
|
|
|
+
|
|
|
|
|
+ if (coupon2sid.value) {
|
|
|
|
|
+ try {
|
|
|
|
|
+ overlayShow.value = true
|
|
|
|
|
+
|
|
|
|
|
+ // 获取优惠券详情
|
|
|
|
|
+ const couponDetailResult = await couponStore.getCoupon2ViewDetailBySid({
|
|
|
|
|
+ coupon2sid: coupon2sid.value,
|
|
|
|
|
+ })
|
|
|
|
|
+
|
|
|
|
|
+ if (couponDetailResult) {
|
|
|
|
|
+ couponDetail.value = couponDetailResult
|
|
|
|
|
+
|
|
|
|
|
+ // 回显表单数据
|
|
|
|
|
+ if (couponDetail.value.usersphone) {
|
|
|
|
|
+ formData.phone = couponDetail.value.usersphone
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ // 回显用户类型
|
|
|
|
|
+ if (couponDetail.value.userstype) {
|
|
|
|
|
+ formData.userstype = couponDetail.value.userstype
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ // 回显姓名/企业名称
|
|
|
|
|
+ if (couponDetail.value.usersname) {
|
|
|
|
|
+ formData.usersname = couponDetail.value.usersname
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ // 回显证件号
|
|
|
|
|
+ if (couponDetail.value.usersidcardnumber) {
|
|
|
|
|
+ formData.idNumber = couponDetail.value.usersidcardnumber
|
|
|
|
|
+ } else if (couponDetail.value.usersshtyxydm) {
|
|
|
|
|
+ formData.idNumber = couponDetail.value.usersshtyxydm
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ // 获取并回显图片信息
|
|
|
|
|
+ await loadImageFiles()
|
|
|
|
|
+ }
|
|
|
|
|
+ } catch (error) {
|
|
|
|
|
+ console.error('获取优惠券详情失败:', error)
|
|
|
|
|
+ message.alert({
|
|
|
|
|
+ title: '提示',
|
|
|
|
|
+ msg: '获取优惠券信息失败,请稍后重试',
|
|
|
|
|
+ })
|
|
|
|
|
+ } finally {
|
|
|
|
|
+ overlayShow.value = false
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+})
|
|
|
|
|
+</script>
|
|
|
|
|
+
|
|
|
|
|
+<style lang="scss" scoped>
|
|
|
|
|
+.rules-text {
|
|
|
|
|
+ line-height: 1.6;
|
|
|
|
|
+}
|
|
|
|
|
+
|
|
|
|
|
+.fixed-bottom {
|
|
|
|
|
+ position: fixed;
|
|
|
|
|
+ right: 0;
|
|
|
|
|
+ bottom: 0;
|
|
|
|
|
+ left: 0;
|
|
|
|
|
+ z-index: 100;
|
|
|
|
|
+}
|
|
|
|
|
+
|
|
|
|
|
+// 针对 wd-field 内的 wd-input, wd-radio-group 等组件去除边框或调整样式
|
|
|
|
|
+:deep(.wd-cell-group .wd-input) {
|
|
|
|
|
+ // If they don't have a border by default or if no-border is not working as expected
|
|
|
|
|
+ // Example:
|
|
|
|
|
+ // border-bottom: 1px solid #eee;
|
|
|
|
|
+}
|
|
|
|
|
+:deep(.wd-cell-group .wd-input__inner) {
|
|
|
|
|
+ // If no-border was intended to remove internal padding/borders of wd-input for wd-field
|
|
|
|
|
+ // We might not need this if wd-input itself looks fine as a direct child of wd-cell-group.
|
|
|
|
|
+ // The no-border prop on wd-input might be sufficient.
|
|
|
|
|
+}
|
|
|
|
|
+
|
|
|
|
|
+// For wd-cell containing radio group or other custom layouts
|
|
|
|
|
+:deep(.custom-cell .wd-cell__value) {
|
|
|
|
|
+ flex: 1; // Allow radio group or other content to take full width
|
|
|
|
|
+}
|
|
|
|
|
+:deep(.custom-cell .wd-radio-group) {
|
|
|
|
|
+ // specific styles for radio group if needed
|
|
|
|
|
+}
|
|
|
|
|
+
|
|
|
|
|
+.wrapper {
|
|
|
|
|
+ display: flex;
|
|
|
|
|
+ align-items: center;
|
|
|
|
|
+ justify-content: center;
|
|
|
|
|
+ height: 100%;
|
|
|
|
|
+}
|
|
|
|
|
+</style>
|