|
|
@@ -510,6 +510,31 @@
|
|
|
<TransferDetail v-model="transferDetailVisible" :out-biz-no="currentTransferOutBizNo"
|
|
|
@refresh="handleTransferDetailRefresh" />
|
|
|
|
|
|
+ <!-- 签约场景码选择对话框 -->
|
|
|
+ <el-dialog v-model="signSceneDialogVisible" title="选择签约场景码" width="520px" :close-on-click-modal="false">
|
|
|
+ <el-form label-width="140px">
|
|
|
+ <el-form-item label="签约场景码 (sign_scene)">
|
|
|
+ <el-select v-model="authorizeResult.sign_scene" filterable placeholder="请选择行业场景码" style="width: 100%">
|
|
|
+ <el-option
|
|
|
+ v-for="item in SIGN_SCENE_OPTIONS"
|
|
|
+ :key="item.value"
|
|
|
+ :label="`${item.value} - ${item.label}`"
|
|
|
+ :value="item.value"
|
|
|
+ />
|
|
|
+ </el-select>
|
|
|
+ </el-form-item>
|
|
|
+ <el-alert type="info" :closable="false" show-icon style="margin-top: 12px">
|
|
|
+ <template #title>
|
|
|
+ external_agreement_no 不为空时必须选择场景码,不能使用 DEFAULT|DEFAULT
|
|
|
+ </template>
|
|
|
+ </el-alert>
|
|
|
+ </el-form>
|
|
|
+ <template #footer>
|
|
|
+ <el-button @click="signSceneDialogVisible = false">取消</el-button>
|
|
|
+ <el-button type="primary" @click="handleSignSceneConfirm">确认签约</el-button>
|
|
|
+ </template>
|
|
|
+ </el-dialog>
|
|
|
+
|
|
|
<!-- 批量转账对话框 -->
|
|
|
<el-dialog v-model="batchTransferVisible" title="批量转账" width="1000px" :close-on-click-modal="false" :close-on-press-escape="false">
|
|
|
<div class="batch-transfer-container" :class="{ 'has-overlay': showBatchTransferOverlay }">
|
|
|
@@ -772,6 +797,38 @@ const authorizeForm = reactive({
|
|
|
enterprise_id: "",
|
|
|
});
|
|
|
|
|
|
+// 签约场景码 — 来自支付宝官方文档 https://opendocs.alipay.com/open/20190319114403226822/signscene
|
|
|
+const SIGN_SCENE_OPTIONS = [
|
|
|
+ { value: "INDUSTRY|LOTTERY", label: "彩票行业" },
|
|
|
+ { value: "INDUSTRY|SOCIALIZATION", label: "社交行业" },
|
|
|
+ { value: "INDUSTRY|MEDICAL", label: "医疗行业" },
|
|
|
+ { value: "INDUSTRY|APPSTORE", label: "电子商城行业" },
|
|
|
+ { value: "INDUSTRY|SUPERMARKET", label: "超市行业" },
|
|
|
+ { value: "INDUSTRY|B2B_TICKET_AGENT", label: "机票机构行业" },
|
|
|
+ { value: "INDUSTRY|CARRENTAL", label: "租车行业" },
|
|
|
+ { value: "INDUSTRY|GENERAL_TRAVEL", label: "出行行业" },
|
|
|
+ { value: "INDUSTRY|CATERING", label: "餐饮业" },
|
|
|
+ { value: "INDUSTRY|PURCHASE", label: "采购业" },
|
|
|
+ { value: "INDUSTRY|REPAYMENT", label: "信贷还款" },
|
|
|
+ { value: "INDUSTRY|DIGITAL_MEDIA", label: "数字传媒行业" },
|
|
|
+ { value: "INDUSTRY|GAME_CHARGE", label: "网游行业" },
|
|
|
+ { value: "INDUSTRY|BADGE_CONSUMPTION", label: "工牌消费" },
|
|
|
+ { value: "INDUSTRY|PARKING", label: "停车行业" },
|
|
|
+ { value: "INDUSTRY|MOBILE", label: "移动支付" },
|
|
|
+ { value: "INDUSTRY|TV", label: "电视支付" },
|
|
|
+ { value: "INDUSTRY|LEASE", label: "租借行业" },
|
|
|
+ { value: "INDUSTRY|EDU", label: "教育行业" },
|
|
|
+ { value: "INDUSTRY|VOICEPAY", label: "语音支付" },
|
|
|
+ { value: "INDUSTRY|FOREX_PLAT_PURCHASE", label: "境外平台采购" },
|
|
|
+ { value: "INDUSTRY|ALIPAYGO", label: "ALIPAYGO" },
|
|
|
+ { value: "INDUSTRY|TICKET", label: "票务行业" },
|
|
|
+ { value: "INDUSTRY|METRO", label: "地铁行业" },
|
|
|
+ { value: "INDUSTRY|VRPAY", label: "VR支付" },
|
|
|
+ { value: "INDUSTRY|LIFE_PAYMENT", label: "生活缴费行业" },
|
|
|
+];
|
|
|
+
|
|
|
+const signSceneDialogVisible = ref(false);
|
|
|
+
|
|
|
const authorizeRules: FormRules = {
|
|
|
enterprise_id: [{ required: true, message: "请输入企业ID", trigger: "blur" }],
|
|
|
};
|
|
|
@@ -1223,6 +1280,11 @@ function resetBatchTransfer() {
|
|
|
batchTransferFailCount.value = 0;
|
|
|
}
|
|
|
|
|
|
+function handleSignSceneConfirm() {
|
|
|
+ signSceneDialogVisible.value = false;
|
|
|
+ handleAuthorize(authorizeResult.sign_scene);
|
|
|
+}
|
|
|
+
|
|
|
async function handleAuthorize(signScene?: string) {
|
|
|
try {
|
|
|
const res = await AccountAPI.authorizeApply({
|
|
|
@@ -1692,22 +1754,7 @@ function handleOverviewRefresh(data: any) {
|
|
|
async function handleGoTab(tab: string) {
|
|
|
console.log("goTab => ", tab);
|
|
|
if (tab === "authorize") {
|
|
|
- // 弹出场景码选择框(external_agreement_no 不为空时 sign_scene 不能为 DEFAULT|DEFAULT)
|
|
|
- try {
|
|
|
- const { value: signScene } = await ElMessageBox.prompt("请选择签约场景码", "转账授权签约", {
|
|
|
- confirmButtonText: "确认签约",
|
|
|
- cancelButtonText: "取消",
|
|
|
- inputType: "textarea" as any,
|
|
|
- inputValue: authorizeResult.sign_scene || "INDUSTRY|PURCHASE",
|
|
|
- inputPlaceholder: "格式: INDUSTRY|XXXX,如 INDUSTRY|PURCHASE",
|
|
|
- });
|
|
|
- if (signScene) {
|
|
|
- authorizeResult.sign_scene = signScene;
|
|
|
- await handleAuthorize(signScene);
|
|
|
- }
|
|
|
- } catch {
|
|
|
- // 用户取消
|
|
|
- }
|
|
|
+ signSceneDialogVisible.value = true;
|
|
|
} else if (tab === "create") {
|
|
|
await handleCreate();
|
|
|
} else if (tab === "deposit") {
|