Bläddra i källkod

feat: 在优惠券信息修改和表单步骤中新增地址字段,更新相关逻辑以支持地址信息的输入和回显

laiqi 10 månader sedan
förälder
incheckning
b7c8791144
4 ändrade filer med 43 tillägg och 0 borttagningar
  1. 22 0
      src/pages/coupon/modify-info.vue
  2. 17 0
      src/pages/form/formStep3a.vue
  3. 2 0
      src/service/coupon1/index.ts
  4. 2 0
      src/store/coupon.ts

+ 22 - 0
src/pages/coupon/modify-info.vue

@@ -66,6 +66,19 @@
             :rules="[{ required: true, message: `请输入${usersnameLabel}` }]"
           />
 
+          <!-- 地址 -->
+          <wd-input
+            :label="addressLabel"
+            label-width="100px"
+            prop="usersaddress"
+            required
+            v-model="formData.usersaddress"
+            :placeholder="`请输入${addressLabel}`"
+            clearable
+            no-border
+            :rules="[{ required: true, message: `请输入${addressLabel}` }]"
+          />
+
           <!-- 证件号 -->
           <wd-input
             :label="idNumberLabel"
@@ -191,6 +204,7 @@ const formRef = ref<any>()
 const formData = reactive({
   userstype: '个人', // 用户类型,默认个人
   usersname: '', // 姓名或企业名称
+  usersaddress: '', // 地址
   idNumber: '', // 证件号
 
   // 身份证照片(个人用户)
@@ -212,6 +226,7 @@ const formData = reactive({
 const couponDetail = ref<any>(null)
 
 const usersnameLabel = computed(() => (formData.userstype === '个人' ? '姓名' : '企业名称'))
+const addressLabel = computed(() => (formData.userstype === '个人' ? '身份证地址' : '企业注册地址'))
 const idNumberLabel = computed(() =>
   formData.userstype === '个人' ? '身份证号' : '统一社会信用代码',
 )
@@ -239,6 +254,7 @@ function validatePhone() {
 function handleUserTypeChange() {
   // 清空相关字段以便用户重新输入和校验
   formData.usersname = ''
+  formData.usersaddress = ''
   formData.idNumber = ''
 
   // 清空证件照片上传
@@ -369,6 +385,7 @@ async function handleSubmit() {
         coupon2sid: coupon2sid.value, // 优惠券ID
         userstype: formData.userstype, // 用户类型
         usersname: formData.usersname, // 姓名或企业名称
+        usersaddress: formData.usersaddress, // 地址
         coupon2phone: formData.phone, // 手机号
       }
 
@@ -465,6 +482,11 @@ onLoad(async (query: any) => {
           formData.usersname = couponDetail.value.usersname
         }
 
+        // 回显地址
+        if (couponDetail.value.usersaddress) {
+          formData.usersaddress = couponDetail.value.usersaddress
+        }
+
         // 回显证件号
         if (couponDetail.value.usersidcardnumber) {
           formData.idNumber = couponDetail.value.usersidcardnumber

+ 17 - 0
src/pages/form/formStep3a.vue

@@ -62,6 +62,19 @@
             :rules="[{ required: true, message: `请输入${usersnameLabel}` }]"
           />
 
+          <!-- 地址 -->
+          <wd-input
+            :label="addressLabel"
+            label-width="100px"
+            prop="usersaddress"
+            required
+            v-model="formData.usersaddress"
+            :placeholder="`请输入${addressLabel}`"
+            clearable
+            no-border
+            :rules="[{ required: true, message: `请输入${addressLabel}` }]"
+          />
+
           <!-- 证件号 -->
           <wd-input
             :label="idNumberLabel"
@@ -184,6 +197,7 @@ const formRef = ref<any>()
 const formData = reactive({
   userstype: '个人', // 用户类型,默认个人
   usersname: '', // 姓名或企业名称
+  usersaddress: '', // 地址
   idNumber: '', // 证件号
 
   // 身份证照片(个人用户)
@@ -202,6 +216,7 @@ const formData = reactive({
 })
 
 const usersnameLabel = computed(() => (formData.userstype === '个人' ? '姓名' : '企业名称'))
+const addressLabel = computed(() => (formData.userstype === '个人' ? '身份证地址' : '企业注册地址'))
 const idNumberLabel = computed(() =>
   formData.userstype === '个人' ? '身份证号' : '统一社会信用代码',
 )
@@ -229,6 +244,7 @@ function validatePhone() {
 function handleUserTypeChange() {
   // 清空相关字段以便用户重新输入和校验
   formData.usersname = ''
+  formData.usersaddress = ''
   formData.idNumber = ''
 
   // 清空证件照片上传
@@ -300,6 +316,7 @@ async function handleSubmit() {
       usersshtyxydm: formData.userstype === '企业' ? formData.idNumber : '',
       usersidcardnumber: formData.userstype === '个人' ? formData.idNumber : '',
       usersname: formData.usersname,
+      usersaddress: formData.usersaddress, // 地址信息
       coupon2productids: productsid.value,
       coupon2phone: formData.phone,
       filesid: finalFileIds, // 上传的文件ID字符串(包含证件和购机者照片)

+ 2 - 0
src/service/coupon1/index.ts

@@ -34,6 +34,7 @@ export const receiveCouponApiNew = (params: {
   usersidcardnumber: string // 身份证号
   usersshtyxydm: string // 企业统一吗
   usersname: string // 姓名
+  usersaddress: string // 地址
   coupon2productids: string // 产品id
   coupon2phone: string // 手机号
   filesid: string // 图片id
@@ -45,6 +46,7 @@ export const receiveCouponApiNew = (params: {
     usersidcardnumber: params.usersidcardnumber,
     usersshtyxydm: params.usersshtyxydm,
     usersname: params.usersname,
+    usersaddress: params.usersaddress,
     coupon2productids: params.coupon2productids,
     coupon2phone: params.coupon2phone,
     filesid: params.filesid,

+ 2 - 0
src/store/coupon.ts

@@ -52,6 +52,7 @@ export const useCouponStore = defineStore(
       usersidcardnumber,
       usersshtyxydm,
       usersname,
+      usersaddress,
       coupon2productids,
       coupon2phone,
       filesid,
@@ -71,6 +72,7 @@ export const useCouponStore = defineStore(
               usersidcardnumber,
               usersshtyxydm,
               usersname,
+              usersaddress,
               coupon2productids,
               coupon2phone,
               filesid,