Bladeren bron

feat:“重新优化汇付商户入驻接口”

soobin 1 jaar geleden
bovenliggende
commit
97383049d7
3 gewijzigde bestanden met toevoegingen van 71 en 29 verwijderingen
  1. 2 0
      src/assets/language/zh.json
  2. 11 0
      src/service/huifuMch/index.js
  3. 58 29
      src/views/settlement/index.vue

+ 2 - 0
src/assets/language/zh.json

@@ -999,6 +999,8 @@
     "huifuMpPlaceholder": "请输入结算手机号",
     "branchCode": "联行号",
     "branchCodePlaceholder": "请输入联行号",
+    "bankCodeLabel": "银行编号",
+    "bankCodePlaceholder": "请输入银行编号",
     "openLicenceNo": "基本存款账户编号或核准号",
     "openLicenceNoPlaceholder": "请输入基本存款账户编号或核准号",
     "huifuBankAddress": "银行地址",

+ 11 - 0
src/service/huifuMch/index.js

@@ -1,6 +1,17 @@
 import axios from '@/utils/axios';
 import { stringToUrl } from '@/common/js/utils';
 
+
+// 新商户入驻申请
+export function newSaveHuifuMch(params) {
+    return axios.post(`/SZWL-SERVER/tHuifuMch/addApplication`, params);
+}
+
+// 汇付用户开户或业务开通
+export function openAccount(params) {
+    return axios.get(`/SZWL-SERVER/tHuifuMch/openAccount?${stringToUrl(params)}`);
+}
+
 // 商户入驻申请
 export function saveHuifuMch(params) {
     return axios.post(`/SZWL-SERVER/tHuifuMch/addMerchant`, params);

+ 58 - 29
src/views/settlement/index.vue

@@ -23,7 +23,7 @@
           <div class="van-cell van-field">
             <div class="van-cell__title van-field__label"><span>{{ $t('joinpayMch.huifuAuditStatus') }}</span></div>
             <div class="van-cell__value van-field__value" style="text-align: left;">
-              <span :style="{
+              <!-- <span :style="{
                 color: huifuMchID != null ? (huifuAuditStatus == '2' ? (conStat == '5' ? '#00ff80' : '#FFA500') :
                   (huifuAuditStatus == '0' ? '#FFA500' : (huifuAuditStatus == '1' || huifuAuditStatus == '4' ? '#FFA500' :
                     '#FF0000'))) : '#FFA500'
@@ -31,6 +31,15 @@
                 {{ huifuMchID != null ? (huifuAuditStatus == '2' ? (conStat == '5' ? '注册成功' : '待签约') :
                   (huifuAuditStatus == '0' ? '待上传证件图片' : (huifuAuditStatus == '1' || huifuAuditStatus == '4' ? '待签约' :
                     '审核未通过'))) : '未注册' }}
+              </span> -->
+              <span :style="{
+                color: huifuMchID != null ? (huifuAuditStatus == '2' ? '#00ff80' : (huifuAuditStatus == '0' ? '#FFA500' :
+                  (huifuAuditStatus == '1' || huifuAuditStatus == '4' ? '#FFA500' :
+                    '#FF0000'))) : '#FFA500'
+              }">
+                {{ huifuMchID != null ? (huifuAuditStatus == '2' ? '注册成功' : (huifuAuditStatus == '0' ? '待上传证件图片' :
+                  (huifuAuditStatus == '1' || huifuAuditStatus == '4' ? '待签约' :
+                    '审核未通过'))) : '未注册' }}
               </span>
             </div>
           </div>
@@ -66,7 +75,7 @@
               </van-popover>
             </div>
             <!-- 商户简称 -->
-            <div class="cell-input">
+            <!-- <div class="cell-input">
               <van-popover v-model:show="shortNameVisible" trigger="manual" placement="bottom"
                 popover-class="custom-popover" :offset="[25, 0]" theme="dark">
                 <template #reference>
@@ -77,7 +86,7 @@
                 </template>
                 {{ $t('joinpayMch.merchantAbbreviationTips') }}
               </van-popover>
-            </div>
+            </div> -->
             <!-- 注册地址 -->
             <van-field v-model="registeredAddress" is-link readonly name="registeredAddress"
               :label="$t('huifuMch.huifuRegisteredAddress')"
@@ -85,15 +94,15 @@
               :rules="[{ required: true, message: $t('huifuMch.huifuRegisteredAddressPlaceholder') }]"
               @click="showReAddress = true" />
             <!-- 成立时间 -->
-            <van-field v-model="companyFoundDate" readonly name="companyFoundDate"
+            <!-- <van-field v-model="companyFoundDate" readonly name="companyFoundDate"
               :label="$t('huifuMch.companyFoundDate')" :placeholder="$t('huifuMch.companyFoundDatePlaceholder')"
               @click="showFoundDate = true"
-              :rules="[{ required: true, message: $t('huifuMch.companyFoundDatePlaceholder') }]" />
+              :rules="[{ required: true, message: $t('huifuMch.companyFoundDatePlaceholder') }]" /> -->
             <!-- 客服电话 -->
-            <van-field v-model="servicePhoneValue" name="servicePhoneValue" :label="$t('huifuMch.huifuServicePhone')"
+            <!-- <van-field v-model="servicePhoneValue" name="servicePhoneValue" :label="$t('huifuMch.huifuServicePhone')"
               :placeholder="$t('huifuMch.huifuServicePhonePlaceholder')"
               :rules="[{ required: true, message: $t('huifuMch.huifuServicePhonePlaceholder') }]"
-              @update:model-value="fieldUpdate" />
+              @update:model-value="fieldUpdate" /> -->
           </div>
           <div class="intervalRow"></div>
           <!-- 联系人姓名 -->
@@ -107,10 +116,10 @@
             :rules="[{ required: true, message: $t('joinpayMch.cellPhonePlaceholder') }]"
             @update:model-value="fieldUpdate" />
           <!-- 联系人邮箱 -->
-          <van-field class="requiredLeft" v-model="emailValue" name="emailValue" :label="$t('huifuMch.huifuContactEmail')"
+          <!-- <van-field class="requiredLeft" v-model="emailValue" name="emailValue" :label="$t('huifuMch.huifuContactEmail')"
             :placeholder="$t('huifuMch.huifuContactEmailPlaceholder')"
             :rules="[{ required: true, pattern: /^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$/, message: $t('huifuMch.huifuContactEmailMessage') }]"
-            @update:model-value="fieldUpdate" />
+            @update:model-value="fieldUpdate" /> -->
           <!-- 法人/个人姓名 -->
           <van-field class="requiredLeft" v-model="legalPerson" name="legalPerson"
             :label="$t('joinpayMch.nameOfLegalPerson/IndividualLabel')"
@@ -166,12 +175,16 @@
           <div class="van-cell van-field" v-if="pageType === '4'">
             <div class="van-cell__title van-field__label"><span>{{ $t('joinpayMch.signingStatus') }}</span></div>
             <div class="van-cell__value van-field__value radioBox" style="display: flex; justify-content: space-around;">
-              <span
+              <!-- <span
                 :style="{ color: signStatus == '签约成功' ? (conStat == null && huifuMchID == null ? '#00ff80' : (conStat == 5 && huifuAuditStatus == '2' ? '#00ff80' : '#FFA500')) : '#FFA500' }">
-                <!-- {{ signStatus == "签约成功" && conStat == "5" ? signStatus : "待签约" }} -->
                 {{ signStatus == '签约成功' ? (conStat == null && huifuMchID == null ? signStatus : (conStat == 5 &&
                   huifuAuditStatus == '2' ?
                   signStatus : '待签约')) : '待签约' }}
+              </span> -->
+              <span
+                :style="{ color: signStatus == '签约成功' ? (huifuMchID == null ? '#00ff80' : (huifuAuditStatus == '2' ? '#00ff80' : '#FFA500')) : '#FFA500' }">
+                {{ signStatus == '签约成功' ? (huifuMchID == null ? signStatus : (huifuAuditStatus == '2' ? signStatus :
+                  '待签约')) : '待签约' }}
               </span>
               <van-button span="5" round type="primary" style="height: 2em; padding: 0 2.5em" @click='altMchSignFun()'>{{
                 $t('joinpayMch.signAContract') }}
@@ -222,10 +235,14 @@
               :placeholder="$t('joinpayMch.interBankNoPlaceholder')"
               :rules="[{ required: bankAccountType === '4', message: $t('joinpayMch.interBankNoPlaceholder') }]"
               @update:model-value="fieldUpdate" />
-            <van-field v-model="openLicenceNoValue" name="openLicenceNoValue" :label="$t('huifuMch.openLicenceNo')"
+            <van-field v-model="bankCodeValue" name="bankCodeValue" :label="$t('huifuMch.bankCodeLabel')"
+              :placeholder="$t('huifuMch.bankCodePlaceholder')"
+              :rules="[{ required: true, message: $t('huifuMch.bankCodePlaceholder') }]"
+              @update:model-value="fieldUpdate" />
+            <!-- <van-field v-model="openLicenceNoValue" name="openLicenceNoValue" :label="$t('huifuMch.openLicenceNo')"
               :placeholder="$t('huifuMch.openLicenceNoPlaceholder')"
               :rules="[{ required: true, message: $t('huifuMch.openLicenceNoPlaceholder') }]"
-              @update:model-value="fieldUpdate" />
+              @update:model-value="fieldUpdate" /> -->
           </div>
           <div v-if="altMerchantType === '12'" class="requiredLeft">
             <!-- 营业执照有效期 -->
@@ -251,9 +268,9 @@
               @click="showEndDateLicense = true"
               :rules="[{ required: true, message: $t('huifuMch.endDatePlaceholder') }]" />
           </div>
-          <div class="intervalRow"></div>
+          <!-- <div class="intervalRow"></div> -->
           <!-- 经营范围 -->
-          <van-field v-model="manageScope" name="manageScope" :label="$t('joinpayMch.natureOfBusinessLabel')"
+          <!-- <van-field v-model="manageScope" name="manageScope" :label="$t('joinpayMch.natureOfBusinessLabel')"
             :placeholder="$t('joinpayMch.natureOfBusinessPlaceholder')" @update:model-value="fieldUpdate" />
           <van-field class="requiredLeft" v-model="manageAddr" is-link readonly name="manageAddr"
             :label="$t('huifuMch.huifuBusinessAddress')" :placeholder="$t('huifuMch.huifuBusinessAddressPlaceholder')"
@@ -267,10 +284,10 @@
                 {{ time === 0 ? $t('huifuMch.sendSms') : time + $t('huifuMch.replaysInSeconds') }}
               </van-button>
             </template>
-          </van-field>
+          </van-field> -->
           <!-- 操作 -->
-          <van-row justify="space-around" style="padding: 1em">
-            <van-button span="5" round type="primary" style="height: 2em; padding: 0 2em" native-type="submit">{{
+          <van-row justify="space-around" v-if="huifuAuditStatus != '4' && huifuAuditStatus != '1'" style="padding: 1em; margin: 2em 0;">
+            <van-button span="5" round type="primary" style="height: 2em; padding: 1.5em 2em" native-type="submit">{{
               $t('joinpayMch.submitDataForReview') }}
             </van-button>
           </van-row>
@@ -421,13 +438,13 @@
 <script>
 import { onMounted, reactive, toRefs, ref } from "vue";
 import sHeader from "../../components/SimpleHeader";
-import { showFailToast, showSuccessToast, showToast } from "vant";
+import { showFailToast, showSuccessToast, showToast, showLoadingToast, closeToast } from "vant";
 import { areaList } from "@vant/area-data";
 import {
   getOneJoinPayMch, updateJoinPayMchCheck, altMchSign, updateConStat,
-  sentImage, updateApproveStatus, auditAddMerchant, saveJoinPayMch
+  sentImage, updateApproveStatus, saveJoinPayMch
 } from '../../service/joinpayMch';
-import { newUploadPic, submitHuifuCheck, getHuifuMchCheck, saveHuifuMch, auditUpdateMerchant, updateMerchant, sendSms } from "@/service/huifuMch";
+import { newUploadPic, getHuifuMchCheck, newSaveHuifuMch, updateMerchant, openAccount, sendSms } from "@/service/huifuMch";
 import { getLoginUser, styleUrl, getLocal, setLocal } from "../../common/js/utils";
 import dateUtil from "../../utils/dateUtil";
 import { useI18n } from "vue-i18n";
@@ -511,6 +528,7 @@ export default {
       bankAddress: '', // 银行地址,个人账户必填
       bankChannelNo: '', // 联行号;	string	对公账户;必填
       openLicenceNoValue: '', // 汇付参数,基本存款账户编号或核准号,对公账户必填
+      bankCodeValue: '', // 汇付参数,银行编号
       validityType1: '1', // 营业执照有效期类型
       licenseNo: '', // 营业执照编号;	string	对公账户;必填
       licenseExpiry: '', // 营业执照有效期;	string
@@ -556,6 +574,7 @@ export default {
       cardNo: '', // 银行卡号
       branchCode: '', // 联行号
       openLicenceNo: '', // 基本存款账户编号或核准号
+      bankCode: '',
       cardProvId: '', // 省编码
       cardAreaId: '', // 省编码
       mp: '', // 结算手机号
@@ -784,6 +803,7 @@ export default {
               addParams.bankAccountType = '4';
               addParams.certAddressValue = data.data.certAddress;
               addParams.openLicenceNoValue = data.data.openLicenceNo;
+              addParams.bankCodeValue = data.data.bankCode;
               addParams.bankChannelNo = data.data.branchCode;
             }
             addParams.validityType1 = data.data.licenseValidityType;
@@ -797,6 +817,7 @@ export default {
             huifuPicUpStatus.value = 0;
             console.log(huifuPicUpStatus.value)
           }
+          console.log('huifuAuditStatus', huifuAuditStatus.value)
         }
       }
     }
@@ -903,6 +924,7 @@ export default {
           huifuParams.cardType = '0';
           huifuParams.branchCode = addParams.bankChannelNo;
           huifuParams.openLicenceNo = addParams.openLicenceNoValue;
+          huifuParams.bankCode = addParams.bankCodeValue;
           huifuParams.certAddress = addParams.certAddressValue
         }
       }
@@ -913,7 +935,7 @@ export default {
         if (data.code === "00000") {
           let huifuMch = null;
           if (huifuMchNO.value === null) {
-            huifuMch = await saveHuifuMch(huifuParams);
+            huifuMch = await newSaveHuifuMch(huifuParams);
           } else {
             // huifuMch = await auditMerchantUpdate(huifuParams);
             huifuMch = await updateMerchant(huifuParams);
@@ -948,6 +970,11 @@ export default {
     }
     // 图片上传表单提交
     const sentImageFun = async () => {
+      showLoadingToast({
+        message: '上传中...',
+        forbidClick: true,
+        duration: 0,
+      });
       const params = {
         id: joinPayMchID.value,
         type: addParams.bankAccountType === '4' ? '0' : '1',
@@ -972,9 +999,10 @@ export default {
         const { data } = await sentImage(params);
         let response = null;
         if (data.code === "00000") {
-          response = await submitHuifuCheck(huifuParams);
+          response = await openAccount({ id: huifuMchID.value });
           if (response.data.code === "00000") {
             console.log("response", response);
+            closeToast();
             showSuccessToast(t('joinpayMch.uploadSucceeded'));
             setTimeout(() => {
               location.reload();
@@ -1002,12 +1030,13 @@ export default {
         const { data } = await altMchSign({ id: joinPayMchID.value });
         if (data.code === "00000") {
           console.log(huifuAuditStatus.value);
-          let huifuMch = null;
-          if (huifuAuditStatus.value === '1') {
-            huifuMch = await auditAddMerchant({ id: huifuMchID.value, status: "1" });
-          } else if (huifuAuditStatus.value === '4') {
-            huifuMch = await auditUpdateMerchant({ id: huifuMchID.value, status: "1" });
-          }
+          let huifuMch = await openAccount({ id: huifuMchID.value });
+          // let huifuMch = null;
+          // if (huifuAuditStatus.value === '1') {
+          //   huifuMch = await auditAddMerchant({ id: huifuMchID.value, status: "1" });
+          // } else if (huifuAuditStatus.value === '4') {
+          //   huifuMch = await auditUpdateMerchant({ id: huifuMchID.value, status: "1" });
+          // }
           // console.log(data1);
           if (huifuMch.data.code === "00000") {
             showSuccessToast(t('joinpayMch.signingSuccessfully'));