@uxda/appkit 4.3.15 → 4.3.16
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/appkit.css +105 -12
- package/dist/index.js +1105 -410
- package/package.json +2 -5
- package/src/balance/api/index.ts +1 -1
- package/src/balance/components/PromoterCard.vue +1 -0
- package/src/notice/api/index.ts +1 -1
- package/src/notice/components/NoticeList2.vue +234 -73
- package/src/notice/components/useCommonList.ts +1 -0
- package/src/payment/api/endpoints.ts +2 -0
- package/src/payment/api/index.ts +2 -1
- package/src/payment/components/RechargeResult.vue +0 -1
- package/src/payment/components/TradeView.vue +313 -108
- package/src/payment/services/request-payment.ts +9 -3
- package/src/payment/types.ts +1 -0
- package/src/register/components/SelfRegistration.vue +1 -1
- package/src/shared/components/AppVerify.vue +15 -6
- package/src/shared/components/OcrBank.vue +202 -0
- package/src/shared/components/OcrBusinessLicense.vue +20 -37
- package/src/shared/components/OcrIcon.vue +105 -67
- package/src/shared/components/OcrInvoice.vue +322 -0
- package/src/shared/components/index.ts +3 -1
- package/src/shared/composables/index.ts +1 -0
- package/src/shared/composables/useCompress.ts +64 -0
- package/src/shared/composables/useUpload.ts +96 -51
- package/src/shared/http/Http.ts +1 -0
- package/src/shared/tracking/tracking-sdk.ts +0 -1
- package/src/shared/weixin/jssdk.ts +1 -0
- package/src/user/api/index.ts +1 -1
- package/src/user/components/UserAuth.vue +1 -1
- package/src/user/components/UserFeedback.vue +1 -0
- package/src/user/components/UserInfo.vue +2 -0
- package/types/global.d.ts +2 -0
package/dist/index.js
CHANGED
|
@@ -4,12 +4,12 @@ import '@nutui/nutui-taro/dist/packages/checkbox/style/css';
|
|
|
4
4
|
import { defineComponent, reactive, openBlock, createBlock, withCtx, createElementBlock, Fragment, renderList, normalizeClass, createElementVNode, toDisplayString, createTextVNode, ref, computed, onUnmounted, resolveDirective, createCommentVNode, withDirectives, renderSlot, createVNode, normalizeStyle, unref, isRef, onMounted, createStaticVNode, watch, vShow, mergeModels, useModel, resolveComponent, vModelText, watchPostEffect, withModifiers } from 'vue';
|
|
5
5
|
import '@nutui/nutui-taro/dist/packages/grid/style/css';
|
|
6
6
|
import '@nutui/nutui-taro/dist/packages/griditem/style/css';
|
|
7
|
-
import Taro, { showModal, getSystemInfoSync, getMenuButtonBoundingClientRect,
|
|
7
|
+
import Taro, { showModal, getSystemInfoSync, getMenuButtonBoundingClientRect, request as request$1, uploadFile, showToast, chooseMedia, chooseMessageFile, showLoading, hideLoading, getStorageSync, setStorageSync, getSystemInfo, getNetworkType, getEnv, getAccountInfoSync, getPerformance, onAppHide, useDidShow, onAppShow, onNetworkStatusChange, useRouter } from '@tarojs/taro';
|
|
8
8
|
import '@nutui/nutui-taro/dist/packages/popup/style/css';
|
|
9
9
|
import isMobilePhone from 'validator/es/lib/isMobilePhone';
|
|
10
10
|
import isIdentityCard from 'validator/es/lib/isIdentityCard';
|
|
11
11
|
import qs from 'qs';
|
|
12
|
-
import { NsForm, NsInput, NsButton, NsIcon, usePopup,
|
|
12
|
+
import { NsForm, NsInput, NsButton, useNutshell, NsIcon, usePopup, NsButtonGroup, usePaging, NsPage, NsTabs, NsPageContent, NsSkeleton, NsRepeator, NsCard, NsEmpty, NsCheckbox } from '@uxda/nutshell/taro';
|
|
13
13
|
import '@nutui/nutui-taro/dist/packages/actionsheet/style/css';
|
|
14
14
|
import pako from 'pako';
|
|
15
15
|
import dsBridge from 'dsbridge';
|
|
@@ -34,7 +34,7 @@ import '@nutui/nutui-taro/dist/packages/step/style/css';
|
|
|
34
34
|
|
|
35
35
|
const _hoisted_1$G = { class: "token-line number" };
|
|
36
36
|
const _hoisted_2$t = { class: "number" };
|
|
37
|
-
var script$
|
|
37
|
+
var script$O = /* @__PURE__ */ defineComponent({
|
|
38
38
|
__name: "AmountPicker",
|
|
39
39
|
props: {
|
|
40
40
|
items: { type: Array, required: true, default: () => [] },
|
|
@@ -107,7 +107,7 @@ var script$M = /* @__PURE__ */ defineComponent({
|
|
|
107
107
|
}
|
|
108
108
|
});
|
|
109
109
|
|
|
110
|
-
script$
|
|
110
|
+
script$O.__file = "src/payment/components/AmountPicker.vue";
|
|
111
111
|
|
|
112
112
|
const getSdkConfig = (appCode, url) => {
|
|
113
113
|
return new Promise((resolve, reject) => {
|
|
@@ -128,6 +128,7 @@ function requestWxH5Pay(options) {
|
|
|
128
128
|
title: "\u63D0\u793A",
|
|
129
129
|
content: "\u5F53\u524D\u73AF\u5883\u4E0D\u652F\u6301\u5FAE\u4FE1\u652F\u4ED8\uFF0C\u8BF7\u5728\u5FAE\u4FE1\u5185\u7F6E\u6D4F\u89C8\u5668\u4E2D\u6253\u5F00",
|
|
130
130
|
confirmText: "\u786E\u5B9A",
|
|
131
|
+
confirmColor: "#017fff",
|
|
131
132
|
success: () => {
|
|
132
133
|
}
|
|
133
134
|
});
|
|
@@ -310,71 +311,84 @@ function useEncode() {
|
|
|
310
311
|
};
|
|
311
312
|
}
|
|
312
313
|
|
|
313
|
-
const
|
|
314
|
-
|
|
315
|
-
const
|
|
316
|
-
|
|
317
|
-
|
|
318
|
-
|
|
319
|
-
|
|
320
|
-
|
|
321
|
-
|
|
322
|
-
|
|
323
|
-
|
|
324
|
-
}
|
|
325
|
-
const
|
|
326
|
-
|
|
327
|
-
|
|
328
|
-
|
|
329
|
-
|
|
330
|
-
|
|
331
|
-
|
|
332
|
-
|
|
333
|
-
|
|
334
|
-
|
|
335
|
-
|
|
336
|
-
|
|
337
|
-
|
|
338
|
-
|
|
339
|
-
|
|
340
|
-
|
|
341
|
-
|
|
342
|
-
|
|
314
|
+
const compressImageWithCanvas = (src, quality) => {
|
|
315
|
+
return new Promise((resolve, reject) => {
|
|
316
|
+
const img = new Image();
|
|
317
|
+
img.crossOrigin = "anonymous";
|
|
318
|
+
img.onload = () => {
|
|
319
|
+
try {
|
|
320
|
+
const canvas = document.createElement("canvas");
|
|
321
|
+
const ctx = canvas.getContext("2d");
|
|
322
|
+
if (!ctx) {
|
|
323
|
+
reject(new Error("\u65E0\u6CD5\u83B7\u53D6 canvas \u4E0A\u4E0B\u6587"));
|
|
324
|
+
return;
|
|
325
|
+
}
|
|
326
|
+
const maxWidth = 850;
|
|
327
|
+
const maxHeight = 850;
|
|
328
|
+
let width = img.width;
|
|
329
|
+
let height = img.height;
|
|
330
|
+
if (width > maxWidth || height > maxHeight) {
|
|
331
|
+
const ratio = Math.min(maxWidth / width, maxHeight / height);
|
|
332
|
+
width = width * ratio;
|
|
333
|
+
height = height * ratio;
|
|
334
|
+
}
|
|
335
|
+
canvas.width = width;
|
|
336
|
+
canvas.height = height;
|
|
337
|
+
ctx.drawImage(img, 0, 0, width, height);
|
|
338
|
+
canvas.toBlob(
|
|
339
|
+
(blob) => {
|
|
340
|
+
if (!blob) {
|
|
341
|
+
reject(new Error("\u56FE\u7247\u538B\u7F29\u5931\u8D25"));
|
|
342
|
+
return;
|
|
343
|
+
}
|
|
344
|
+
const compressedUrl = URL.createObjectURL(blob);
|
|
345
|
+
resolve(compressedUrl);
|
|
346
|
+
},
|
|
347
|
+
"image/jpeg",
|
|
348
|
+
quality / 100
|
|
349
|
+
);
|
|
350
|
+
} catch (error) {
|
|
351
|
+
reject(error);
|
|
352
|
+
}
|
|
353
|
+
};
|
|
354
|
+
img.onerror = () => {
|
|
355
|
+
reject(new Error("\u56FE\u7247\u52A0\u8F7D\u5931\u8D25"));
|
|
356
|
+
};
|
|
357
|
+
img.src = src;
|
|
358
|
+
});
|
|
343
359
|
};
|
|
344
|
-
|
|
345
|
-
|
|
346
|
-
|
|
360
|
+
async function compressImage(src, quality = 80) {
|
|
361
|
+
if (Taro.getEnv() === "WEB") {
|
|
362
|
+
try {
|
|
363
|
+
const compressedUrl = await compressImageWithCanvas(src, quality);
|
|
364
|
+
return { tempFilePath: compressedUrl };
|
|
365
|
+
} catch (error) {
|
|
366
|
+
console.error("\u56FE\u7247\u538B\u7F29\u5931\u8D25:", error);
|
|
367
|
+
return { tempFilePath: src };
|
|
368
|
+
}
|
|
369
|
+
} else {
|
|
347
370
|
return new Promise((resolve, reject) => {
|
|
348
|
-
|
|
349
|
-
|
|
350
|
-
|
|
351
|
-
|
|
352
|
-
|
|
353
|
-
objectNo: `min${Date.now()}`
|
|
354
|
-
},
|
|
355
|
-
header: {
|
|
356
|
-
...config.headers,
|
|
357
|
-
token: appkitOptions.tempToken() || appkitOptions.token()
|
|
371
|
+
Taro.compressImage({
|
|
372
|
+
src,
|
|
373
|
+
quality,
|
|
374
|
+
success: (res) => {
|
|
375
|
+
resolve(res);
|
|
358
376
|
},
|
|
359
|
-
|
|
360
|
-
|
|
361
|
-
try {
|
|
362
|
-
const response = JSON.parse(data);
|
|
363
|
-
console.log("===response", response);
|
|
364
|
-
resolve(transformFields(response.result));
|
|
365
|
-
} catch (e) {
|
|
366
|
-
reject({
|
|
367
|
-
message: "\u6587\u4EF6\u4E0A\u4F20\u5F02\u5E38"
|
|
368
|
-
});
|
|
369
|
-
}
|
|
377
|
+
fail: (res) => {
|
|
378
|
+
reject(res);
|
|
370
379
|
}
|
|
371
380
|
});
|
|
372
381
|
});
|
|
373
|
-
}
|
|
374
|
-
|
|
375
|
-
|
|
376
|
-
|
|
377
|
-
|
|
382
|
+
}
|
|
383
|
+
}
|
|
384
|
+
function getCompressQuality(size) {
|
|
385
|
+
let quality = 100;
|
|
386
|
+
const curSize = size / (1024 * 1024);
|
|
387
|
+
if (curSize > 6) {
|
|
388
|
+
quality = quality - (curSize - 6) / curSize * 100;
|
|
389
|
+
}
|
|
390
|
+
return quality;
|
|
391
|
+
}
|
|
378
392
|
|
|
379
393
|
const defaultCryptoConfig = {
|
|
380
394
|
maskField: "mask",
|
|
@@ -415,6 +429,25 @@ function useCrypto(config) {
|
|
|
415
429
|
};
|
|
416
430
|
}
|
|
417
431
|
|
|
432
|
+
const globalData = {};
|
|
433
|
+
|
|
434
|
+
const appKitOptions = {
|
|
435
|
+
app: () => "",
|
|
436
|
+
tenant: () => "",
|
|
437
|
+
token: () => "",
|
|
438
|
+
tempToken: () => "",
|
|
439
|
+
baseUrl: () => "",
|
|
440
|
+
401() {
|
|
441
|
+
},
|
|
442
|
+
gray: () => ""
|
|
443
|
+
};
|
|
444
|
+
const useAppKitOptions = () => {
|
|
445
|
+
if (!globalData.$appKitOptions) {
|
|
446
|
+
globalData.$appKitOptions = appKitOptions;
|
|
447
|
+
}
|
|
448
|
+
return globalData.$appKitOptions;
|
|
449
|
+
};
|
|
450
|
+
|
|
418
451
|
const defaultLogOptions = {
|
|
419
452
|
projectName: "ddyk-dev",
|
|
420
453
|
logStore: "ddjf-internet-web",
|
|
@@ -548,11 +581,59 @@ function useWxAuth() {
|
|
|
548
581
|
};
|
|
549
582
|
}
|
|
550
583
|
|
|
584
|
+
const mappings$1 = {
|
|
585
|
+
downloadUrl: "thrumb",
|
|
586
|
+
fileId: "id",
|
|
587
|
+
fileName: "name",
|
|
588
|
+
fileSize: "size",
|
|
589
|
+
fileSuffix: "ext",
|
|
590
|
+
fileType: "type",
|
|
591
|
+
originalUrl: "url"
|
|
592
|
+
};
|
|
593
|
+
const transformFields = (row) => {
|
|
594
|
+
return Object.fromEntries(Object.entries(row).map(([k, v]) => [mappings$1[k] || k, v]));
|
|
595
|
+
};
|
|
596
|
+
const useUpload = (config) => {
|
|
597
|
+
const appkitOptions = useAppKitOptions();
|
|
598
|
+
const upload = (url, file) => {
|
|
599
|
+
return new Promise((resolve, reject) => {
|
|
600
|
+
uploadFile({
|
|
601
|
+
url: config.baseUrl + url,
|
|
602
|
+
filePath: file.path,
|
|
603
|
+
name: "file",
|
|
604
|
+
formData: {
|
|
605
|
+
objectNo: `min${Date.now()}`,
|
|
606
|
+
appCode: config.headers?.appcode || appkitOptions.app()
|
|
607
|
+
},
|
|
608
|
+
header: {
|
|
609
|
+
...config.headers,
|
|
610
|
+
token: appkitOptions.tempToken() || appkitOptions.token()
|
|
611
|
+
},
|
|
612
|
+
success: (rsp) => {
|
|
613
|
+
const { data } = rsp;
|
|
614
|
+
try {
|
|
615
|
+
const response = JSON.parse(data);
|
|
616
|
+
console.log("===response", response);
|
|
617
|
+
resolve(transformFields(response.result));
|
|
618
|
+
} catch (e) {
|
|
619
|
+
reject({
|
|
620
|
+
message: "\u6587\u4EF6\u4E0A\u4F20\u5F02\u5E38"
|
|
621
|
+
});
|
|
622
|
+
}
|
|
623
|
+
}
|
|
624
|
+
});
|
|
625
|
+
});
|
|
626
|
+
};
|
|
627
|
+
return {
|
|
628
|
+
upload
|
|
629
|
+
};
|
|
630
|
+
};
|
|
631
|
+
|
|
551
632
|
const _hoisted_1$F = {
|
|
552
633
|
key: 0,
|
|
553
634
|
class: "page-title"
|
|
554
635
|
};
|
|
555
|
-
var script$
|
|
636
|
+
var script$N = /* @__PURE__ */ defineComponent({
|
|
556
637
|
__name: "PageHeader",
|
|
557
638
|
props: {
|
|
558
639
|
title: { type: String, required: false, default: "" },
|
|
@@ -609,10 +690,10 @@ var script$L = /* @__PURE__ */ defineComponent({
|
|
|
609
690
|
}
|
|
610
691
|
});
|
|
611
692
|
|
|
612
|
-
script$
|
|
693
|
+
script$N.__file = "src/shared/components/PageHeader.vue";
|
|
613
694
|
|
|
614
695
|
const _hoisted_1$E = { class: "drawer-body" };
|
|
615
|
-
var script$
|
|
696
|
+
var script$M = /* @__PURE__ */ defineComponent({
|
|
616
697
|
__name: "AppDrawer",
|
|
617
698
|
props: {
|
|
618
699
|
modelValue: { type: Boolean, required: true },
|
|
@@ -636,7 +717,7 @@ var script$K = /* @__PURE__ */ defineComponent({
|
|
|
636
717
|
"onUpdate:visible": onVisibleChange
|
|
637
718
|
}, {
|
|
638
719
|
default: withCtx(() => [
|
|
639
|
-
createVNode(script$
|
|
720
|
+
createVNode(script$N, {
|
|
640
721
|
title: __props.title,
|
|
641
722
|
style: normalizeStyle(unref(Taro).getEnv() !== "WEB" ? "" : "--height: 40px"),
|
|
642
723
|
onClose: onPageHeaderClose
|
|
@@ -652,18 +733,18 @@ var script$K = /* @__PURE__ */ defineComponent({
|
|
|
652
733
|
}
|
|
653
734
|
});
|
|
654
735
|
|
|
655
|
-
script$
|
|
736
|
+
script$M.__file = "src/shared/components/AppDrawer.vue";
|
|
656
737
|
|
|
657
738
|
const _hoisted_1$D = { class: "app-verify column" };
|
|
658
739
|
const _hoisted_2$s = { class: "caption" };
|
|
659
740
|
const _hoisted_3$m = { class: "number" };
|
|
660
|
-
const _hoisted_4$
|
|
661
|
-
const _hoisted_5$
|
|
741
|
+
const _hoisted_4$i = { class: "form-btn" };
|
|
742
|
+
const _hoisted_5$e = {
|
|
662
743
|
key: 1,
|
|
663
744
|
class: "caption"
|
|
664
745
|
};
|
|
665
746
|
const _hoisted_6$a = { class: "row buttons" };
|
|
666
|
-
var script$
|
|
747
|
+
var script$L = /* @__PURE__ */ defineComponent({
|
|
667
748
|
__name: "AppVerify",
|
|
668
749
|
props: {
|
|
669
750
|
phone: { type: String, required: true },
|
|
@@ -738,7 +819,7 @@ var script$J = /* @__PURE__ */ defineComponent({
|
|
|
738
819
|
method: (value) => value.length === 6
|
|
739
820
|
}]
|
|
740
821
|
}, null, 8, ["modelValue", "rules"]),
|
|
741
|
-
createElementVNode("div", _hoisted_4$
|
|
822
|
+
createElementVNode("div", _hoisted_4$i, [
|
|
742
823
|
!sent.value ? withDirectives((openBlock(), createBlock(
|
|
743
824
|
unref(NsButton),
|
|
744
825
|
{
|
|
@@ -757,7 +838,7 @@ var script$J = /* @__PURE__ */ defineComponent({
|
|
|
757
838
|
]) : createCommentVNode("v-if", true),
|
|
758
839
|
sent.value ? (openBlock(), createElementBlock(
|
|
759
840
|
"div",
|
|
760
|
-
_hoisted_5$
|
|
841
|
+
_hoisted_5$e,
|
|
761
842
|
toDisplayString(countdown.value) + "s\u540E\u91CD\u65B0\u53D1\u9001",
|
|
762
843
|
1
|
|
763
844
|
/* TEXT */
|
|
@@ -770,6 +851,7 @@ var script$J = /* @__PURE__ */ defineComponent({
|
|
|
770
851
|
createElementVNode("div", _hoisted_6$a, [
|
|
771
852
|
withDirectives((openBlock(), createBlock(unref(NsButton), {
|
|
772
853
|
class: "cancel-btn",
|
|
854
|
+
r: 20,
|
|
773
855
|
onClick: _cache[2] || (_cache[2] = ($event) => emits("cancel"))
|
|
774
856
|
}, {
|
|
775
857
|
default: withCtx(() => [..._cache[3] || (_cache[3] = [
|
|
@@ -786,6 +868,7 @@ var script$J = /* @__PURE__ */ defineComponent({
|
|
|
786
868
|
]),
|
|
787
869
|
withDirectives((openBlock(), createBlock(unref(NsButton), {
|
|
788
870
|
color: "primary",
|
|
871
|
+
r: 20,
|
|
789
872
|
onClick: onOk
|
|
790
873
|
}, {
|
|
791
874
|
default: withCtx(() => [..._cache[4] || (_cache[4] = [
|
|
@@ -806,10 +889,10 @@ var script$J = /* @__PURE__ */ defineComponent({
|
|
|
806
889
|
}
|
|
807
890
|
});
|
|
808
891
|
|
|
809
|
-
script$
|
|
892
|
+
script$L.__file = "src/shared/components/AppVerify.vue";
|
|
810
893
|
|
|
811
894
|
const _hoisted_1$C = { key: 0 };
|
|
812
|
-
var script$
|
|
895
|
+
var script$K = /* @__PURE__ */ defineComponent({
|
|
813
896
|
__name: "index",
|
|
814
897
|
props: {
|
|
815
898
|
text: { type: String, required: false },
|
|
@@ -876,7 +959,7 @@ var script$I = /* @__PURE__ */ defineComponent({
|
|
|
876
959
|
}
|
|
877
960
|
});
|
|
878
961
|
|
|
879
|
-
script$
|
|
962
|
+
script$K.__file = "src/components/dd-notice-bar/index.vue";
|
|
880
963
|
|
|
881
964
|
const typeMappings = {
|
|
882
965
|
CZ: "\u5145\u503C",
|
|
@@ -1039,7 +1122,7 @@ function useHttp$3() {
|
|
|
1039
1122
|
const headers = {
|
|
1040
1123
|
Token: appkitOptions.tempToken() || appkitOptions.token(),
|
|
1041
1124
|
Appcode: appkitOptions.app(),
|
|
1042
|
-
|
|
1125
|
+
tid: appkitOptions.tenant(),
|
|
1043
1126
|
gray: appkitOptions.gray ? appkitOptions.gray() : "0"
|
|
1044
1127
|
};
|
|
1045
1128
|
const $http = createHttp({
|
|
@@ -1081,7 +1164,7 @@ function useHttp$3() {
|
|
|
1081
1164
|
return $http;
|
|
1082
1165
|
}
|
|
1083
1166
|
|
|
1084
|
-
var script$
|
|
1167
|
+
var script$J = /* @__PURE__ */ defineComponent({
|
|
1085
1168
|
__name: "DeviceVersion",
|
|
1086
1169
|
props: {
|
|
1087
1170
|
versions: { type: String, required: false, default: "{}" }
|
|
@@ -1128,7 +1211,7 @@ var script$H = /* @__PURE__ */ defineComponent({
|
|
|
1128
1211
|
}
|
|
1129
1212
|
});
|
|
1130
1213
|
return (_ctx, _cache) => {
|
|
1131
|
-
return showAlert.value ? (openBlock(), createBlock(script$
|
|
1214
|
+
return showAlert.value ? (openBlock(), createBlock(script$K, {
|
|
1132
1215
|
key: 0,
|
|
1133
1216
|
showClose: "",
|
|
1134
1217
|
style: normalizeStyle(topStype.value),
|
|
@@ -1139,102 +1222,83 @@ var script$H = /* @__PURE__ */ defineComponent({
|
|
|
1139
1222
|
}
|
|
1140
1223
|
});
|
|
1141
1224
|
|
|
1142
|
-
script$
|
|
1225
|
+
script$J.__file = "src/shared/components/DeviceVersion.vue";
|
|
1143
1226
|
|
|
1144
|
-
var script$
|
|
1227
|
+
var script$I = /* @__PURE__ */ defineComponent({
|
|
1145
1228
|
__name: "OcrIcon",
|
|
1146
1229
|
props: {
|
|
1147
1230
|
disabled: { type: Boolean, required: false, default: false },
|
|
1148
1231
|
side: { type: String, required: false, default: "face" },
|
|
1149
|
-
|
|
1232
|
+
className: { type: String, required: false, default: "" },
|
|
1233
|
+
uploadUrl: { type: String, required: false, default: "/saas-base/file/uploadPublic" },
|
|
1234
|
+
customUpload: { type: Function, required: false },
|
|
1235
|
+
hasUploadVo: { type: Boolean, required: false, default: true },
|
|
1236
|
+
customClick: { type: Boolean, required: false, default: false }
|
|
1150
1237
|
},
|
|
1151
1238
|
emits: ["complete"],
|
|
1152
|
-
setup(__props, { emit: __emit }) {
|
|
1239
|
+
setup(__props, { expose: __expose, emit: __emit }) {
|
|
1153
1240
|
const appKitOptions = useAppKitOptions();
|
|
1241
|
+
const $http = useHttp$3(), $n = useNutshell();
|
|
1154
1242
|
const emits = __emit;
|
|
1155
1243
|
const props = __props;
|
|
1156
|
-
async function taroImgCompress(src, quality = 80) {
|
|
1157
|
-
if (Taro.getEnv() === "WEB") {
|
|
1158
|
-
return src;
|
|
1159
|
-
} else {
|
|
1160
|
-
return new Promise((resolve, reject) => {
|
|
1161
|
-
Taro.compressImage({
|
|
1162
|
-
src,
|
|
1163
|
-
quality,
|
|
1164
|
-
success: (res) => {
|
|
1165
|
-
resolve(res);
|
|
1166
|
-
},
|
|
1167
|
-
fail: (res) => {
|
|
1168
|
-
reject(res);
|
|
1169
|
-
}
|
|
1170
|
-
});
|
|
1171
|
-
});
|
|
1172
|
-
}
|
|
1173
|
-
}
|
|
1174
|
-
function getCompressQuality(size) {
|
|
1175
|
-
let quality = 100;
|
|
1176
|
-
const curSize = size / (1024 * 1024);
|
|
1177
|
-
if (curSize > 6) {
|
|
1178
|
-
quality = quality - (curSize - 6) / curSize * 100;
|
|
1179
|
-
}
|
|
1180
|
-
return quality;
|
|
1181
|
-
}
|
|
1182
1244
|
function allTrim(str) {
|
|
1183
1245
|
return str.replace(/\s+/g, "");
|
|
1184
1246
|
}
|
|
1185
1247
|
async function onUploadFile(csRes) {
|
|
1186
1248
|
let result = null;
|
|
1187
1249
|
try {
|
|
1188
|
-
console.log("===\u4E0A\u4F20", csRes);
|
|
1189
1250
|
let { path, size, tempFilePath } = csRes.tempFiles[0];
|
|
1190
|
-
|
|
1191
|
-
|
|
1192
|
-
|
|
1193
|
-
filePath
|
|
1194
|
-
|
|
1195
|
-
filePath = path || tempFilePath;
|
|
1251
|
+
const compressImg = await compressImage(path || tempFilePath, getCompressQuality(size)) || {};
|
|
1252
|
+
const filePath = compressImg.tempFilePath || path;
|
|
1253
|
+
if (props.customUpload) {
|
|
1254
|
+
props.customUpload(filePath);
|
|
1255
|
+
return;
|
|
1196
1256
|
}
|
|
1197
|
-
|
|
1198
|
-
showLoading({ title: "\u8EAB\u4EFD\u8BC1\u8BC6\u522B\u4E2D.." });
|
|
1257
|
+
showLoading({ title: "\u8EAB\u4EFD\u8BC1\u8BC6\u522B\u4E2D..", mask: true });
|
|
1199
1258
|
const session = appKitOptions.token();
|
|
1200
1259
|
const baseUrl = appKitOptions.baseUrl();
|
|
1201
1260
|
const upRes = await uploadFile({
|
|
1202
|
-
url: baseUrl
|
|
1261
|
+
url: `${baseUrl}${!props.hasUploadVo ? props.uploadUrl : "/hkapprove/ocr/idcard"}`,
|
|
1203
1262
|
filePath,
|
|
1204
1263
|
name: "file",
|
|
1205
1264
|
formData: {
|
|
1206
1265
|
objectNo: `min${Date.now()}`,
|
|
1207
|
-
side: props.side
|
|
1266
|
+
side: props.side,
|
|
1267
|
+
appCode: appKitOptions.app()
|
|
1208
1268
|
},
|
|
1209
1269
|
header: {
|
|
1210
1270
|
token: session || ""
|
|
1211
1271
|
}
|
|
1212
1272
|
});
|
|
1213
|
-
hideLoading();
|
|
1214
1273
|
const res = JSON.parse(upRes.data);
|
|
1215
1274
|
if (res.code === "200") {
|
|
1216
|
-
|
|
1217
|
-
|
|
1218
|
-
|
|
1219
|
-
|
|
1220
|
-
|
|
1221
|
-
|
|
1222
|
-
|
|
1223
|
-
|
|
1224
|
-
|
|
1225
|
-
|
|
1226
|
-
|
|
1227
|
-
|
|
1228
|
-
|
|
1229
|
-
|
|
1230
|
-
|
|
1231
|
-
|
|
1232
|
-
|
|
1233
|
-
|
|
1234
|
-
|
|
1235
|
-
|
|
1275
|
+
if (props.hasUploadVo) {
|
|
1276
|
+
hideLoading();
|
|
1277
|
+
const faceInfo = res.result.faceInfo || {};
|
|
1278
|
+
const backInfo = res.result.backInfo || {};
|
|
1279
|
+
result = {
|
|
1280
|
+
faceInfo: {
|
|
1281
|
+
name: allTrim(faceInfo.name || ""),
|
|
1282
|
+
certNo: allTrim(faceInfo.num || ""),
|
|
1283
|
+
address: allTrim(faceInfo.address || "")
|
|
1284
|
+
},
|
|
1285
|
+
backInfo: {
|
|
1286
|
+
startDate: backInfo?.startDate || "",
|
|
1287
|
+
endDate: backInfo?.endDate || ""
|
|
1288
|
+
},
|
|
1289
|
+
fileUploadVO: res.result.fileUploadVO || {}
|
|
1290
|
+
};
|
|
1291
|
+
if (props.side === "face" && !result.faceInfo.name && !result.faceInfo.certNo) {
|
|
1292
|
+
showToast({ title: "\u8BC6\u522B\u5931\u8D25\uFF0C\u8BF7\u91CD\u8BD5", icon: "none" });
|
|
1293
|
+
}
|
|
1294
|
+
if (props.side === "back" && !result.backInfo?.startDate && !result.backInfo?.endDate) {
|
|
1295
|
+
showToast({ title: "\u8BC6\u522B\u5931\u8D25\uFF0C\u8BF7\u91CD\u8BD5", icon: "none" });
|
|
1296
|
+
}
|
|
1297
|
+
} else {
|
|
1298
|
+
await getOcrInfo(res.result);
|
|
1236
1299
|
}
|
|
1237
1300
|
} else {
|
|
1301
|
+
hideLoading();
|
|
1238
1302
|
showToast({
|
|
1239
1303
|
title: res.msg,
|
|
1240
1304
|
icon: "error"
|
|
@@ -1244,7 +1308,42 @@ var script$G = /* @__PURE__ */ defineComponent({
|
|
|
1244
1308
|
hideLoading();
|
|
1245
1309
|
console.log(err);
|
|
1246
1310
|
}
|
|
1247
|
-
emits("complete", result);
|
|
1311
|
+
props.hasUploadVo && (result?.faceInfo.name || result?.backInfo.startDate) && emits("complete", result);
|
|
1312
|
+
}
|
|
1313
|
+
async function getOcrInfo(file) {
|
|
1314
|
+
try {
|
|
1315
|
+
const res = await $http.get("/hkbase/common/idCard", {
|
|
1316
|
+
fileUrl: typeof file === "string" ? file : file.originalUrl,
|
|
1317
|
+
side: props.side
|
|
1318
|
+
});
|
|
1319
|
+
hideLoading();
|
|
1320
|
+
if (props.side === "face" && !res?.name || props.side === "back" && !res?.signDate) {
|
|
1321
|
+
$n.dialog({
|
|
1322
|
+
title: "\u8BC6\u522B\u5931\u8D25",
|
|
1323
|
+
message: `\u60A8\u4E0A\u4F20\u7684\u56FE\u7247\u53EF\u80FD\u4E0D\u591F\u6E05\u6670\u6216\u4E0E\u5F53\u524D\u529F\u80FD\u4E0D\u7B26\uFF0C\u8BF7\u91CD\u65B0\u4E0A\u4F20\u4E00\u5F20\u6E05\u6670\u3001\u5B8C\u6574\u7684\u56FE\u7247\u3002\u8C22\u8C22\uFF01`,
|
|
1324
|
+
okText: "\u6211\u77E5\u9053\u4E86",
|
|
1325
|
+
cancelText: ""
|
|
1326
|
+
});
|
|
1327
|
+
return;
|
|
1328
|
+
}
|
|
1329
|
+
emits("complete", {
|
|
1330
|
+
faceInfo: {
|
|
1331
|
+
name: allTrim(res?.name || ""),
|
|
1332
|
+
certNo: allTrim(res?.cardNumber || ""),
|
|
1333
|
+
address: allTrim(res?.address || "")
|
|
1334
|
+
},
|
|
1335
|
+
backInfo: {
|
|
1336
|
+
startDate: res?.expireDate || "",
|
|
1337
|
+
endDate: res?.signDate || ""
|
|
1338
|
+
},
|
|
1339
|
+
fileUploadVO: {
|
|
1340
|
+
fileUrl: typeof file === "string" ? file : file.originalUrl,
|
|
1341
|
+
fileKey: typeof file === "string" ? file : file.fileId
|
|
1342
|
+
}
|
|
1343
|
+
});
|
|
1344
|
+
} catch (err) {
|
|
1345
|
+
hideLoading();
|
|
1346
|
+
}
|
|
1248
1347
|
}
|
|
1249
1348
|
const activeSheetVisible = ref(false);
|
|
1250
1349
|
const actionSheetMenus = [
|
|
@@ -1282,21 +1381,545 @@ var script$G = /* @__PURE__ */ defineComponent({
|
|
|
1282
1381
|
onUploadFile(csRes);
|
|
1283
1382
|
}
|
|
1284
1383
|
}
|
|
1285
|
-
async function
|
|
1384
|
+
async function onUpload() {
|
|
1385
|
+
if (props.disabled) return;
|
|
1386
|
+
if (Taro.getEnv() === "WEB") {
|
|
1387
|
+
const csRes = await chooseMedia({
|
|
1388
|
+
count: 1,
|
|
1389
|
+
sourceType: ["album"],
|
|
1390
|
+
// "camera" | "album"
|
|
1391
|
+
maxDuration: 60
|
|
1392
|
+
// 使用duration属性判断是图片还是视频,图片没有该属性
|
|
1393
|
+
});
|
|
1394
|
+
onUploadFile(csRes);
|
|
1395
|
+
return;
|
|
1396
|
+
}
|
|
1397
|
+
activeSheetVisible.value = true;
|
|
1398
|
+
}
|
|
1399
|
+
__expose({
|
|
1400
|
+
onUpload
|
|
1401
|
+
});
|
|
1402
|
+
return (_ctx, _cache) => {
|
|
1403
|
+
const _component_nut_action_sheet = ActionSheet;
|
|
1404
|
+
const _directive_track_click = resolveDirective("track-click");
|
|
1405
|
+
return openBlock(), createElementBlock(
|
|
1406
|
+
Fragment,
|
|
1407
|
+
null,
|
|
1408
|
+
[
|
|
1409
|
+
withDirectives((openBlock(), createElementBlock(
|
|
1410
|
+
"div",
|
|
1411
|
+
{
|
|
1412
|
+
class: normalizeClass(["ocr-icon", [__props.disabled ? "disabled" : "", __props.className]]),
|
|
1413
|
+
onClick: _cache[0] || (_cache[0] = ($event) => !__props.customClick ? onUpload() : null)
|
|
1414
|
+
},
|
|
1415
|
+
[
|
|
1416
|
+
renderSlot(_ctx.$slots, "icon", {}, () => [
|
|
1417
|
+
createVNode(unref(NsIcon), { name: "https://cdn.ddjf.com/static/images/beidouxing/ocr-icon.png" })
|
|
1418
|
+
])
|
|
1419
|
+
],
|
|
1420
|
+
2
|
|
1421
|
+
/* CLASS */
|
|
1422
|
+
)), [
|
|
1423
|
+
[_directive_track_click, "\u8EAB\u4EFD\u8BC1\u8BC6\u522B-\u70B9\u51FB"]
|
|
1424
|
+
]),
|
|
1425
|
+
createVNode(_component_nut_action_sheet, {
|
|
1426
|
+
visible: activeSheetVisible.value,
|
|
1427
|
+
"onUpdate:visible": _cache[1] || (_cache[1] = ($event) => activeSheetVisible.value = $event),
|
|
1428
|
+
"menu-items": actionSheetMenus,
|
|
1429
|
+
onChoose: chooseImages,
|
|
1430
|
+
"cancel-txt": "\u53D6\u6D88"
|
|
1431
|
+
}, null, 8, ["visible"])
|
|
1432
|
+
],
|
|
1433
|
+
64
|
|
1434
|
+
/* STABLE_FRAGMENT */
|
|
1435
|
+
);
|
|
1436
|
+
};
|
|
1437
|
+
}
|
|
1438
|
+
});
|
|
1439
|
+
|
|
1440
|
+
script$I.__file = "src/shared/components/OcrIcon.vue";
|
|
1441
|
+
|
|
1442
|
+
var script$H = /* @__PURE__ */ defineComponent({
|
|
1443
|
+
__name: "OcrBank",
|
|
1444
|
+
props: {
|
|
1445
|
+
disabled: { type: Boolean, required: false, default: false },
|
|
1446
|
+
class: { type: String, required: false, default: "" },
|
|
1447
|
+
uploadUrl: { type: String, required: false, default: "/hkbase/file/uploadFile" },
|
|
1448
|
+
customClick: { type: Boolean, required: false, default: false }
|
|
1449
|
+
},
|
|
1450
|
+
emits: ["complete"],
|
|
1451
|
+
setup(__props, { expose: __expose, emit: __emit }) {
|
|
1452
|
+
const appKitOptions = useAppKitOptions();
|
|
1453
|
+
const $http = useHttp$3(), $n = useNutshell();
|
|
1454
|
+
const emits = __emit;
|
|
1455
|
+
const props = __props;
|
|
1456
|
+
async function onUploadFile(csRes) {
|
|
1457
|
+
try {
|
|
1458
|
+
let { path, size, tempFilePath } = csRes.tempFiles[0];
|
|
1459
|
+
const compressImg = await compressImage(path || tempFilePath, getCompressQuality(size)) || {};
|
|
1460
|
+
const filePath = compressImg.tempFilePath || path;
|
|
1461
|
+
showLoading({ title: "\u94F6\u884C\u5361\u8BC6\u522B\u4E2D..", mask: true });
|
|
1462
|
+
const session = appKitOptions.token();
|
|
1463
|
+
const baseUrl = appKitOptions.baseUrl();
|
|
1464
|
+
const upRes = await uploadFile({
|
|
1465
|
+
url: baseUrl + props.uploadUrl,
|
|
1466
|
+
filePath,
|
|
1467
|
+
name: "file",
|
|
1468
|
+
formData: {
|
|
1469
|
+
objectNo: `min${Date.now()}`,
|
|
1470
|
+
appCode: appKitOptions.app()
|
|
1471
|
+
},
|
|
1472
|
+
header: {
|
|
1473
|
+
token: session || ""
|
|
1474
|
+
}
|
|
1475
|
+
});
|
|
1476
|
+
const res = JSON.parse(upRes.data);
|
|
1477
|
+
if (res.code === "200") {
|
|
1478
|
+
await getBankCardInfo(res.result);
|
|
1479
|
+
} else {
|
|
1480
|
+
hideLoading();
|
|
1481
|
+
showToast({
|
|
1482
|
+
title: res.msg,
|
|
1483
|
+
icon: "error"
|
|
1484
|
+
});
|
|
1485
|
+
}
|
|
1486
|
+
} catch (err) {
|
|
1487
|
+
hideLoading();
|
|
1488
|
+
console.log(err);
|
|
1489
|
+
}
|
|
1490
|
+
}
|
|
1491
|
+
async function getBankCardInfo(file) {
|
|
1492
|
+
try {
|
|
1493
|
+
const res = await $http.get("/hkbase/common/bankCard", {
|
|
1494
|
+
fileUrl: typeof file === "string" ? file : file.originalUrl
|
|
1495
|
+
});
|
|
1496
|
+
hideLoading();
|
|
1497
|
+
if (res && !res.bankCardNumber) {
|
|
1498
|
+
$n.dialog({
|
|
1499
|
+
title: "\u8BC6\u522B\u5931\u8D25",
|
|
1500
|
+
message: `\u60A8\u4E0A\u4F20\u7684\u56FE\u7247\u53EF\u80FD\u4E0D\u591F\u6E05\u6670\u6216\u4E0E\u5F53\u524D\u529F\u80FD\u4E0D\u7B26\uFF0C\u8BF7\u91CD\u65B0\u4E0A\u4F20\u4E00\u5F20\u6E05\u6670\u3001\u5B8C\u6574\u7684\u56FE\u7247\u3002\u8C22\u8C22\uFF01`,
|
|
1501
|
+
okText: "\u6211\u77E5\u9053\u4E86",
|
|
1502
|
+
cancelText: ""
|
|
1503
|
+
});
|
|
1504
|
+
return;
|
|
1505
|
+
}
|
|
1506
|
+
emits("complete", {
|
|
1507
|
+
...res,
|
|
1508
|
+
fileUrl: typeof file === "string" ? file : file.originalUrl,
|
|
1509
|
+
fileKey: typeof file === "string" ? file : file.fileId
|
|
1510
|
+
});
|
|
1511
|
+
} catch (err) {
|
|
1512
|
+
hideLoading();
|
|
1513
|
+
}
|
|
1514
|
+
}
|
|
1515
|
+
const activeSheetVisible = ref(false);
|
|
1516
|
+
const actionSheetMenus = [
|
|
1517
|
+
{
|
|
1518
|
+
name: "\u62CD\u6444",
|
|
1519
|
+
type: "camera"
|
|
1520
|
+
},
|
|
1521
|
+
{
|
|
1522
|
+
name: "\u4ECE\u76F8\u518C\u9009\u62E9",
|
|
1523
|
+
type: "album"
|
|
1524
|
+
},
|
|
1525
|
+
{
|
|
1526
|
+
name: "\u4ECE\u804A\u5929\u4F1A\u8BDD\u9009\u62E9",
|
|
1527
|
+
type: "message"
|
|
1528
|
+
}
|
|
1529
|
+
];
|
|
1530
|
+
if (Taro.getEnv() === "WEB") {
|
|
1531
|
+
actionSheetMenus.pop();
|
|
1532
|
+
}
|
|
1533
|
+
async function chooseImages(item) {
|
|
1534
|
+
if (["camera", "album"].includes(item.type)) {
|
|
1535
|
+
const csRes = await chooseMedia({
|
|
1536
|
+
count: 1,
|
|
1537
|
+
sourceType: [item.type],
|
|
1538
|
+
// "camera" | "album"
|
|
1539
|
+
maxDuration: 60
|
|
1540
|
+
// 使用duration属性判断是图片还是视频,图片没有该属性
|
|
1541
|
+
});
|
|
1542
|
+
onUploadFile(csRes);
|
|
1543
|
+
} else {
|
|
1544
|
+
const csRes = await chooseMessageFile({
|
|
1545
|
+
count: 1,
|
|
1546
|
+
type: "image"
|
|
1547
|
+
});
|
|
1548
|
+
onUploadFile(csRes);
|
|
1549
|
+
}
|
|
1550
|
+
}
|
|
1551
|
+
async function onUpload() {
|
|
1552
|
+
if (props.disabled) return;
|
|
1553
|
+
if (Taro.getEnv() === "WEB") {
|
|
1554
|
+
const csRes = await chooseMedia({
|
|
1555
|
+
count: 1,
|
|
1556
|
+
sourceType: ["album"],
|
|
1557
|
+
// "camera" | "album"
|
|
1558
|
+
maxDuration: 60
|
|
1559
|
+
// 使用duration属性判断是图片还是视频,图片没有该属性
|
|
1560
|
+
});
|
|
1561
|
+
onUploadFile(csRes);
|
|
1562
|
+
return;
|
|
1563
|
+
}
|
|
1564
|
+
activeSheetVisible.value = true;
|
|
1565
|
+
}
|
|
1566
|
+
__expose({
|
|
1567
|
+
onUpload
|
|
1568
|
+
});
|
|
1569
|
+
return (_ctx, _cache) => {
|
|
1570
|
+
const _component_nut_action_sheet = ActionSheet;
|
|
1571
|
+
const _directive_track_click = resolveDirective("track-click");
|
|
1572
|
+
return openBlock(), createElementBlock(
|
|
1573
|
+
Fragment,
|
|
1574
|
+
null,
|
|
1575
|
+
[
|
|
1576
|
+
withDirectives((openBlock(), createElementBlock(
|
|
1577
|
+
"div",
|
|
1578
|
+
{
|
|
1579
|
+
class: normalizeClass(["ocr-bank", [__props.disabled ? "disabled" : ""]]),
|
|
1580
|
+
onClick: _cache[0] || (_cache[0] = ($event) => !__props.customClick ? onUpload() : null)
|
|
1581
|
+
},
|
|
1582
|
+
[
|
|
1583
|
+
renderSlot(_ctx.$slots, "icon", {}, () => [
|
|
1584
|
+
createVNode(unref(NsIcon), { name: "https://cdn.ddjf.com/static/images/beidouxing/ocr-icon.png" })
|
|
1585
|
+
])
|
|
1586
|
+
],
|
|
1587
|
+
2
|
|
1588
|
+
/* CLASS */
|
|
1589
|
+
)), [
|
|
1590
|
+
[_directive_track_click, "\u94F6\u884C\u5361\u8BC6\u522B-\u70B9\u51FB"]
|
|
1591
|
+
]),
|
|
1592
|
+
createVNode(_component_nut_action_sheet, {
|
|
1593
|
+
visible: activeSheetVisible.value,
|
|
1594
|
+
"onUpdate:visible": _cache[1] || (_cache[1] = ($event) => activeSheetVisible.value = $event),
|
|
1595
|
+
"menu-items": actionSheetMenus,
|
|
1596
|
+
onChoose: chooseImages,
|
|
1597
|
+
"cancel-txt": "\u53D6\u6D88"
|
|
1598
|
+
}, null, 8, ["visible"])
|
|
1599
|
+
],
|
|
1600
|
+
64
|
|
1601
|
+
/* STABLE_FRAGMENT */
|
|
1602
|
+
);
|
|
1603
|
+
};
|
|
1604
|
+
}
|
|
1605
|
+
});
|
|
1606
|
+
|
|
1607
|
+
script$H.__file = "src/shared/components/OcrBank.vue";
|
|
1608
|
+
|
|
1609
|
+
var script$G = /* @__PURE__ */ defineComponent({
|
|
1610
|
+
__name: "OcrBusinessLicense",
|
|
1611
|
+
props: {
|
|
1612
|
+
disabled: { type: Boolean, required: true, default: false },
|
|
1613
|
+
customClick: { type: Boolean, required: false, default: false }
|
|
1614
|
+
},
|
|
1615
|
+
emits: ["complete"],
|
|
1616
|
+
setup(__props, { expose: __expose, emit: __emit }) {
|
|
1617
|
+
const appKitOptions = useAppKitOptions();
|
|
1618
|
+
const emits = __emit;
|
|
1619
|
+
const props = __props;
|
|
1620
|
+
function allTrim(str) {
|
|
1621
|
+
return str.replace(/\s+/g, "");
|
|
1622
|
+
}
|
|
1623
|
+
async function onUpload() {
|
|
1624
|
+
if (props.disabled) {
|
|
1625
|
+
return;
|
|
1626
|
+
}
|
|
1627
|
+
let result = null;
|
|
1628
|
+
try {
|
|
1629
|
+
const csRes = await chooseMedia({
|
|
1630
|
+
count: 1,
|
|
1631
|
+
sourceType: ["album", "camera"]
|
|
1632
|
+
});
|
|
1633
|
+
let { size, tempFilePath } = csRes.tempFiles[0];
|
|
1634
|
+
const compressImg = await compressImage(tempFilePath, getCompressQuality(size)) || {};
|
|
1635
|
+
const filePath = compressImg.tempFilePath;
|
|
1636
|
+
showLoading({ title: "\u8425\u4E1A\u6267\u7167\u8BC6\u522B\u4E2D..", mask: true });
|
|
1637
|
+
const session = appKitOptions.token();
|
|
1638
|
+
const baseUrl = appKitOptions.baseUrl();
|
|
1639
|
+
const upRes = await uploadFile({
|
|
1640
|
+
url: baseUrl + "/promoact/common/parseBusinessLicense",
|
|
1641
|
+
filePath,
|
|
1642
|
+
name: "file",
|
|
1643
|
+
formData: {
|
|
1644
|
+
objectNo: `min${Date.now()}`,
|
|
1645
|
+
appCode: appKitOptions.app()
|
|
1646
|
+
},
|
|
1647
|
+
header: {
|
|
1648
|
+
token: session || ""
|
|
1649
|
+
}
|
|
1650
|
+
});
|
|
1651
|
+
hideLoading();
|
|
1652
|
+
const res = JSON.parse(upRes.data);
|
|
1653
|
+
if (res.code === "200") {
|
|
1654
|
+
const faceInfo = res.result || {};
|
|
1655
|
+
result = {
|
|
1656
|
+
companyName: allTrim(faceInfo.companyName || ""),
|
|
1657
|
+
idCardNo: allTrim(faceInfo.idCardNo || ""),
|
|
1658
|
+
legalPersonName: allTrim(faceInfo.legalPersonName || ""),
|
|
1659
|
+
fileId: faceInfo.fileId,
|
|
1660
|
+
originalUrl: faceInfo.originalUrl,
|
|
1661
|
+
downloadUrl: faceInfo.downloadUrl
|
|
1662
|
+
};
|
|
1663
|
+
console.log("===\u8BC6\u522B", result);
|
|
1664
|
+
if (!result.companyName && !result.idCardNo) {
|
|
1665
|
+
showToast({ title: "\u8BC6\u522B\u5931\u8D25\uFF0C\u8BF7\u91CD\u8BD5", icon: "none" });
|
|
1666
|
+
}
|
|
1667
|
+
} else {
|
|
1668
|
+
showToast({
|
|
1669
|
+
title: res.msg,
|
|
1670
|
+
icon: "error"
|
|
1671
|
+
});
|
|
1672
|
+
}
|
|
1673
|
+
} catch (err) {
|
|
1674
|
+
hideLoading();
|
|
1675
|
+
console.log(err);
|
|
1676
|
+
}
|
|
1677
|
+
emits("complete", result);
|
|
1678
|
+
}
|
|
1679
|
+
__expose({
|
|
1680
|
+
onUpload
|
|
1681
|
+
});
|
|
1682
|
+
return (_ctx, _cache) => {
|
|
1683
|
+
const _directive_track_click = resolveDirective("track-click");
|
|
1684
|
+
return withDirectives((openBlock(), createElementBlock(
|
|
1685
|
+
"div",
|
|
1686
|
+
{
|
|
1687
|
+
class: normalizeClass([["ocr-business-license", __props.disabled ? "disabled" : ""], "ocr-icon"]),
|
|
1688
|
+
onClick: _cache[0] || (_cache[0] = ($event) => !__props.customClick ? onUpload() : null)
|
|
1689
|
+
},
|
|
1690
|
+
[
|
|
1691
|
+
renderSlot(_ctx.$slots, "icon", {}, () => [
|
|
1692
|
+
createVNode(unref(NsIcon), { name: "https://cdn.ddjf.com/static/images/beidouxing/ocr-icon.png" })
|
|
1693
|
+
])
|
|
1694
|
+
],
|
|
1695
|
+
2
|
|
1696
|
+
/* CLASS */
|
|
1697
|
+
)), [
|
|
1698
|
+
[_directive_track_click, "\u8425\u4E1A\u6267\u7167\u8BC6\u522B-\u70B9\u51FB"]
|
|
1699
|
+
]);
|
|
1700
|
+
};
|
|
1701
|
+
}
|
|
1702
|
+
});
|
|
1703
|
+
|
|
1704
|
+
script$G.__file = "src/shared/components/OcrBusinessLicense.vue";
|
|
1705
|
+
|
|
1706
|
+
var script$F = /* @__PURE__ */ defineComponent({
|
|
1707
|
+
__name: "OcrInvoice",
|
|
1708
|
+
props: {
|
|
1709
|
+
disabled: { type: Boolean, required: false, default: false },
|
|
1710
|
+
side: { type: String, required: false, default: "face" },
|
|
1711
|
+
className: { type: String, required: false, default: "" },
|
|
1712
|
+
customUpload: { type: Function, required: false },
|
|
1713
|
+
uploadUrl: { type: String, required: false, default: "/hkbase/file/uploadFile" },
|
|
1714
|
+
customClick: { type: Boolean, required: false, default: false }
|
|
1715
|
+
},
|
|
1716
|
+
emits: ["complete"],
|
|
1717
|
+
setup(__props, { expose: __expose, emit: __emit }) {
|
|
1718
|
+
const appKitOptions = useAppKitOptions();
|
|
1719
|
+
const $http = useHttp$3(), $n = useNutshell();
|
|
1720
|
+
const emits = __emit;
|
|
1721
|
+
const props = __props;
|
|
1722
|
+
function getFileType(filePath, fileName) {
|
|
1723
|
+
const lowerPath = filePath.toLowerCase();
|
|
1724
|
+
const lowerName = (fileName || "").toLowerCase();
|
|
1725
|
+
if (lowerPath.endsWith(".pdf") || lowerName.endsWith(".pdf")) {
|
|
1726
|
+
return "pdf";
|
|
1727
|
+
}
|
|
1728
|
+
const imageExtensions = [".jpg", ".jpeg", ".png", ".gif", ".bmp", ".webp"];
|
|
1729
|
+
if (imageExtensions.some((ext) => lowerPath.endsWith(ext) || lowerName.endsWith(ext))) {
|
|
1730
|
+
return "img";
|
|
1731
|
+
}
|
|
1732
|
+
return "img";
|
|
1733
|
+
}
|
|
1734
|
+
async function onUploadFile(csRes, fileType) {
|
|
1735
|
+
try {
|
|
1736
|
+
let { path, size, tempFilePath, name } = csRes.tempFiles[0];
|
|
1737
|
+
const originalPath = path || tempFilePath;
|
|
1738
|
+
const detectedFileType = fileType || getFileType(originalPath, name);
|
|
1739
|
+
let filePath = originalPath;
|
|
1740
|
+
if (detectedFileType === "img") {
|
|
1741
|
+
const compressImg = await compressImage(originalPath, getCompressQuality(size)) || {};
|
|
1742
|
+
filePath = compressImg.tempFilePath || originalPath;
|
|
1743
|
+
}
|
|
1744
|
+
if (props.customUpload) {
|
|
1745
|
+
props.customUpload(filePath, detectedFileType);
|
|
1746
|
+
return;
|
|
1747
|
+
}
|
|
1748
|
+
showLoading({ title: "\u53D1\u7968\u8BC6\u522B\u4E2D..", mask: true });
|
|
1749
|
+
const session = appKitOptions.token();
|
|
1750
|
+
const baseUrl = appKitOptions.baseUrl();
|
|
1751
|
+
const upRes = await uploadFile({
|
|
1752
|
+
url: `${baseUrl}${props.uploadUrl}`,
|
|
1753
|
+
filePath,
|
|
1754
|
+
name: "file",
|
|
1755
|
+
formData: {
|
|
1756
|
+
objectNo: `min${Date.now()}`,
|
|
1757
|
+
appCode: appKitOptions.app()
|
|
1758
|
+
},
|
|
1759
|
+
header: {
|
|
1760
|
+
token: session || ""
|
|
1761
|
+
}
|
|
1762
|
+
});
|
|
1763
|
+
const res = JSON.parse(upRes.data);
|
|
1764
|
+
if (res.code === "200") {
|
|
1765
|
+
await getOcrInfo(res.result, detectedFileType);
|
|
1766
|
+
} else {
|
|
1767
|
+
hideLoading();
|
|
1768
|
+
showToast({
|
|
1769
|
+
title: res.msg,
|
|
1770
|
+
icon: "error"
|
|
1771
|
+
});
|
|
1772
|
+
}
|
|
1773
|
+
} catch (err) {
|
|
1774
|
+
hideLoading();
|
|
1775
|
+
console.log(err);
|
|
1776
|
+
}
|
|
1777
|
+
}
|
|
1778
|
+
async function getOcrInfo(file, fileType = "img") {
|
|
1779
|
+
try {
|
|
1780
|
+
const fileUrl = typeof file === "string" ? file : file.originalUrl;
|
|
1781
|
+
const res = await $http.get("/hkbase/common/vatInvoice", {
|
|
1782
|
+
fileUrl,
|
|
1783
|
+
fileType
|
|
1784
|
+
});
|
|
1785
|
+
hideLoading();
|
|
1786
|
+
if (!res?.purchaserRegisterNum) {
|
|
1787
|
+
$n.dialog({
|
|
1788
|
+
title: "\u8BC6\u522B\u5931\u8D25",
|
|
1789
|
+
message: `\u60A8\u4E0A\u4F20\u7684${fileType === "pdf" ? "\u6587\u4EF6" : "\u56FE\u7247"}\u53EF\u80FD\u4E0D\u591F\u6E05\u6670\u6216\u4E0E\u5F53\u524D\u529F\u80FD\u4E0D\u7B26\uFF0C\u8BF7\u91CD\u65B0\u4E0A\u4F20\u4E00\u5F20\u6E05\u6670\u3001\u5B8C\u6574\u7684${fileType === "pdf" ? "PDF\u6587\u4EF6" : "\u56FE\u7247"}\u3002\u8C22\u8C22\uFF01`,
|
|
1790
|
+
okText: "\u6211\u77E5\u9053\u4E86",
|
|
1791
|
+
cancelText: ""
|
|
1792
|
+
});
|
|
1793
|
+
return;
|
|
1794
|
+
}
|
|
1795
|
+
emits("complete", {
|
|
1796
|
+
invoiceDate: res?.invoiceDate,
|
|
1797
|
+
invoiceNum: res?.invoiceNum,
|
|
1798
|
+
invoiceNumConfirm: res?.invoiceNumConfirm,
|
|
1799
|
+
invoiceType: res?.invoiceType,
|
|
1800
|
+
noteDrawer: res?.noteDrawer,
|
|
1801
|
+
purchaserBank: res?.purchaserBank,
|
|
1802
|
+
purchaserName: res?.purchaserName,
|
|
1803
|
+
purchaserRegisterNum: res?.purchaserRegisterNum,
|
|
1804
|
+
remarks: res?.remarks,
|
|
1805
|
+
sellerName: res?.sellerName,
|
|
1806
|
+
sellerRegisterNum: res?.sellerRegisterNum,
|
|
1807
|
+
serviceType: res?.serviceType,
|
|
1808
|
+
totalAmount: res?.totalAmount,
|
|
1809
|
+
totalTax: res?.totalTax,
|
|
1810
|
+
fileUrl,
|
|
1811
|
+
fileType,
|
|
1812
|
+
fileKey: typeof file === "string" ? file : file.fileId
|
|
1813
|
+
});
|
|
1814
|
+
} catch (err) {
|
|
1815
|
+
hideLoading();
|
|
1816
|
+
}
|
|
1817
|
+
}
|
|
1818
|
+
const activeSheetVisible = ref(false);
|
|
1819
|
+
const actionSheetMenus = [
|
|
1820
|
+
{
|
|
1821
|
+
name: "\u62CD\u6444",
|
|
1822
|
+
type: "camera"
|
|
1823
|
+
},
|
|
1824
|
+
{
|
|
1825
|
+
name: "\u4ECE\u76F8\u518C\u9009\u62E9",
|
|
1826
|
+
type: "album"
|
|
1827
|
+
},
|
|
1828
|
+
{
|
|
1829
|
+
name: "\u4ECE\u804A\u5929\u4F1A\u8BDD\u9009\u62E9",
|
|
1830
|
+
type: "message"
|
|
1831
|
+
},
|
|
1832
|
+
{
|
|
1833
|
+
name: "\u9009\u62E9\u6587\u4EF6",
|
|
1834
|
+
type: "file"
|
|
1835
|
+
}
|
|
1836
|
+
];
|
|
1837
|
+
if (Taro.getEnv() === "WEB") {
|
|
1838
|
+
actionSheetMenus.splice(2, 1);
|
|
1839
|
+
}
|
|
1840
|
+
async function chooseImages(item) {
|
|
1841
|
+
if (["camera", "album"].includes(item.type)) {
|
|
1842
|
+
const csRes = await chooseMedia({
|
|
1843
|
+
count: 1,
|
|
1844
|
+
sourceType: [item.type],
|
|
1845
|
+
// "camera" | "album"
|
|
1846
|
+
maxDuration: 60
|
|
1847
|
+
// 使用duration属性判断是图片还是视频,图片没有该属性
|
|
1848
|
+
});
|
|
1849
|
+
onUploadFile(csRes);
|
|
1850
|
+
} else if (item.type === "message") {
|
|
1851
|
+
const csRes = await chooseMessageFile({
|
|
1852
|
+
count: 1,
|
|
1853
|
+
type: "image"
|
|
1854
|
+
});
|
|
1855
|
+
onUploadFile(csRes);
|
|
1856
|
+
} else if (item.type === "file") {
|
|
1857
|
+
const csRes = await chooseMessageFile({
|
|
1858
|
+
count: 1,
|
|
1859
|
+
type: "file"
|
|
1860
|
+
});
|
|
1861
|
+
onUploadFile(csRes);
|
|
1862
|
+
}
|
|
1863
|
+
}
|
|
1864
|
+
function chooseFileInWeb() {
|
|
1865
|
+
return new Promise((resolve, reject) => {
|
|
1866
|
+
const input = document.createElement("input");
|
|
1867
|
+
input.type = "file";
|
|
1868
|
+
input.accept = "image/*,.pdf";
|
|
1869
|
+
input.style.display = "none";
|
|
1870
|
+
input.onchange = async (e) => {
|
|
1871
|
+
const file = e.target?.files?.[0];
|
|
1872
|
+
if (!file) {
|
|
1873
|
+
document.body.removeChild(input);
|
|
1874
|
+
resolve();
|
|
1875
|
+
return;
|
|
1876
|
+
}
|
|
1877
|
+
let fileType = "img";
|
|
1878
|
+
if (file.type === "application/pdf" || file.name.toLowerCase().endsWith(".pdf")) {
|
|
1879
|
+
fileType = "pdf";
|
|
1880
|
+
}
|
|
1881
|
+
const filePath = URL.createObjectURL(file);
|
|
1882
|
+
try {
|
|
1883
|
+
const csRes = {
|
|
1884
|
+
tempFiles: [{
|
|
1885
|
+
path: filePath,
|
|
1886
|
+
tempFilePath: filePath,
|
|
1887
|
+
size: file.size,
|
|
1888
|
+
name: file.name
|
|
1889
|
+
}]
|
|
1890
|
+
};
|
|
1891
|
+
await onUploadFile(csRes, fileType);
|
|
1892
|
+
resolve();
|
|
1893
|
+
} catch (error) {
|
|
1894
|
+
reject(error);
|
|
1895
|
+
} finally {
|
|
1896
|
+
document.body.removeChild(input);
|
|
1897
|
+
URL.revokeObjectURL(filePath);
|
|
1898
|
+
}
|
|
1899
|
+
};
|
|
1900
|
+
input.oncancel = () => {
|
|
1901
|
+
document.body.removeChild(input);
|
|
1902
|
+
resolve();
|
|
1903
|
+
};
|
|
1904
|
+
document.body.appendChild(input);
|
|
1905
|
+
input.click();
|
|
1906
|
+
});
|
|
1907
|
+
}
|
|
1908
|
+
async function onUpload() {
|
|
1286
1909
|
if (props.disabled) return;
|
|
1287
1910
|
if (Taro.getEnv() === "WEB") {
|
|
1288
|
-
|
|
1289
|
-
|
|
1290
|
-
|
|
1291
|
-
|
|
1292
|
-
|
|
1293
|
-
// 使用duration属性判断是图片还是视频,图片没有该属性
|
|
1294
|
-
});
|
|
1295
|
-
onUploadFile(csRes);
|
|
1911
|
+
try {
|
|
1912
|
+
await chooseFileInWeb();
|
|
1913
|
+
} catch (err) {
|
|
1914
|
+
console.error("\u6587\u4EF6\u9009\u62E9\u5931\u8D25:", err);
|
|
1915
|
+
}
|
|
1296
1916
|
return;
|
|
1297
1917
|
}
|
|
1298
1918
|
activeSheetVisible.value = true;
|
|
1299
1919
|
}
|
|
1920
|
+
__expose({
|
|
1921
|
+
onUpload
|
|
1922
|
+
});
|
|
1300
1923
|
return (_ctx, _cache) => {
|
|
1301
1924
|
const _component_nut_action_sheet = ActionSheet;
|
|
1302
1925
|
const _directive_track_click = resolveDirective("track-click");
|
|
@@ -1307,8 +1930,8 @@ var script$G = /* @__PURE__ */ defineComponent({
|
|
|
1307
1930
|
withDirectives((openBlock(), createElementBlock(
|
|
1308
1931
|
"div",
|
|
1309
1932
|
{
|
|
1310
|
-
class: normalizeClass(["ocr-
|
|
1311
|
-
onClick:
|
|
1933
|
+
class: normalizeClass(["ocr-invoice", [__props.disabled ? "disabled" : "", __props.className]]),
|
|
1934
|
+
onClick: _cache[0] || (_cache[0] = ($event) => !__props.customClick ? onUpload() : null)
|
|
1312
1935
|
},
|
|
1313
1936
|
[
|
|
1314
1937
|
renderSlot(_ctx.$slots, "icon", {}, () => [
|
|
@@ -1318,11 +1941,11 @@ var script$G = /* @__PURE__ */ defineComponent({
|
|
|
1318
1941
|
2
|
|
1319
1942
|
/* CLASS */
|
|
1320
1943
|
)), [
|
|
1321
|
-
[_directive_track_click, "\
|
|
1944
|
+
[_directive_track_click, "\u53D1\u7968\u8BC6\u522B-\u70B9\u51FB"]
|
|
1322
1945
|
]),
|
|
1323
1946
|
createVNode(_component_nut_action_sheet, {
|
|
1324
1947
|
visible: activeSheetVisible.value,
|
|
1325
|
-
"onUpdate:visible": _cache[
|
|
1948
|
+
"onUpdate:visible": _cache[1] || (_cache[1] = ($event) => activeSheetVisible.value = $event),
|
|
1326
1949
|
"menu-items": actionSheetMenus,
|
|
1327
1950
|
onChoose: chooseImages,
|
|
1328
1951
|
"cancel-txt": "\u53D6\u6D88"
|
|
@@ -1335,125 +1958,7 @@ var script$G = /* @__PURE__ */ defineComponent({
|
|
|
1335
1958
|
}
|
|
1336
1959
|
});
|
|
1337
1960
|
|
|
1338
|
-
script$
|
|
1339
|
-
|
|
1340
|
-
var script$F = /* @__PURE__ */ defineComponent({
|
|
1341
|
-
__name: "OcrBusinessLicense",
|
|
1342
|
-
props: {
|
|
1343
|
-
disabled: { type: Boolean, required: true }
|
|
1344
|
-
},
|
|
1345
|
-
emits: ["complete"],
|
|
1346
|
-
setup(__props, { emit: __emit }) {
|
|
1347
|
-
const appKitOptions = useAppKitOptions();
|
|
1348
|
-
const emits = __emit;
|
|
1349
|
-
const props = __props;
|
|
1350
|
-
async function taroImgCompress(src, quality = 80) {
|
|
1351
|
-
return new Promise((resolve, reject) => {
|
|
1352
|
-
Taro.compressImage({
|
|
1353
|
-
src,
|
|
1354
|
-
quality,
|
|
1355
|
-
success: (res) => {
|
|
1356
|
-
resolve(res);
|
|
1357
|
-
},
|
|
1358
|
-
fail: (res) => {
|
|
1359
|
-
reject(res);
|
|
1360
|
-
}
|
|
1361
|
-
});
|
|
1362
|
-
});
|
|
1363
|
-
}
|
|
1364
|
-
function getCompressQuality(size) {
|
|
1365
|
-
let quality = 100;
|
|
1366
|
-
const curSize = size / (1024 * 1024);
|
|
1367
|
-
if (curSize > 6) {
|
|
1368
|
-
quality = quality - (curSize - 6) / curSize * 100;
|
|
1369
|
-
}
|
|
1370
|
-
return quality;
|
|
1371
|
-
}
|
|
1372
|
-
function allTrim(str) {
|
|
1373
|
-
return str.replace(/\s+/g, "");
|
|
1374
|
-
}
|
|
1375
|
-
async function onIconClick() {
|
|
1376
|
-
if (props.disabled) {
|
|
1377
|
-
return;
|
|
1378
|
-
}
|
|
1379
|
-
console.log("===onIconClick");
|
|
1380
|
-
let result = null;
|
|
1381
|
-
try {
|
|
1382
|
-
const csRes = await chooseMedia({
|
|
1383
|
-
count: 1,
|
|
1384
|
-
sourceType: ["album", "camera"]
|
|
1385
|
-
});
|
|
1386
|
-
let { size, tempFilePath } = csRes.tempFiles[0];
|
|
1387
|
-
let filePath;
|
|
1388
|
-
if (Taro.getEnv() !== "WEB") {
|
|
1389
|
-
const compressImg = await taroImgCompress(tempFilePath, getCompressQuality(size)) || {};
|
|
1390
|
-
filePath = compressImg.tempFilePath;
|
|
1391
|
-
} else {
|
|
1392
|
-
filePath = tempFilePath;
|
|
1393
|
-
}
|
|
1394
|
-
showLoading({ title: "\u8425\u4E1A\u6267\u7167\u8BC6\u522B\u4E2D.." });
|
|
1395
|
-
const session = appKitOptions.token();
|
|
1396
|
-
const baseUrl = appKitOptions.baseUrl();
|
|
1397
|
-
const upRes = await uploadFile({
|
|
1398
|
-
url: baseUrl + "/promoact/common/parseBusinessLicense",
|
|
1399
|
-
filePath,
|
|
1400
|
-
name: "file",
|
|
1401
|
-
formData: {
|
|
1402
|
-
objectNo: `min${Date.now()}`
|
|
1403
|
-
},
|
|
1404
|
-
header: {
|
|
1405
|
-
token: session || ""
|
|
1406
|
-
}
|
|
1407
|
-
});
|
|
1408
|
-
hideLoading();
|
|
1409
|
-
const res = JSON.parse(upRes.data);
|
|
1410
|
-
if (res.code === "200") {
|
|
1411
|
-
const faceInfo = res.result || {};
|
|
1412
|
-
result = {
|
|
1413
|
-
companyName: allTrim(faceInfo.companyName || ""),
|
|
1414
|
-
idCardNo: allTrim(faceInfo.idCardNo || ""),
|
|
1415
|
-
legalPersonName: allTrim(faceInfo.legalPersonName || ""),
|
|
1416
|
-
fileId: faceInfo.fileId,
|
|
1417
|
-
originalUrl: faceInfo.originalUrl,
|
|
1418
|
-
downloadUrl: faceInfo.downloadUrl
|
|
1419
|
-
};
|
|
1420
|
-
console.log("===\u8BC6\u522B", result);
|
|
1421
|
-
if (!result.companyName && !result.idCardNo) {
|
|
1422
|
-
showToast({ title: "\u8BC6\u522B\u5931\u8D25\uFF0C\u8BF7\u91CD\u8BD5", icon: "none" });
|
|
1423
|
-
}
|
|
1424
|
-
} else {
|
|
1425
|
-
showToast({
|
|
1426
|
-
title: res.msg,
|
|
1427
|
-
icon: "error"
|
|
1428
|
-
});
|
|
1429
|
-
}
|
|
1430
|
-
} catch (err) {
|
|
1431
|
-
hideLoading();
|
|
1432
|
-
console.log(err);
|
|
1433
|
-
}
|
|
1434
|
-
emits("complete", result);
|
|
1435
|
-
}
|
|
1436
|
-
return (_ctx, _cache) => {
|
|
1437
|
-
const _directive_track_click = resolveDirective("track-click");
|
|
1438
|
-
return withDirectives((openBlock(), createElementBlock(
|
|
1439
|
-
"div",
|
|
1440
|
-
{
|
|
1441
|
-
class: normalizeClass([["ocr-business-license", __props.disabled ? "disabled" : ""], "ocr-icon"]),
|
|
1442
|
-
onClick: onIconClick
|
|
1443
|
-
},
|
|
1444
|
-
[
|
|
1445
|
-
createVNode(unref(NsIcon), { name: "https://cdn.ddjf.com/static/images/beidouxing/ocr-icon.png" })
|
|
1446
|
-
],
|
|
1447
|
-
2
|
|
1448
|
-
/* CLASS */
|
|
1449
|
-
)), [
|
|
1450
|
-
[_directive_track_click, "\u8425\u4E1A\u6267\u7167\u8BC6\u522B-\u70B9\u51FB"]
|
|
1451
|
-
]);
|
|
1452
|
-
};
|
|
1453
|
-
}
|
|
1454
|
-
});
|
|
1455
|
-
|
|
1456
|
-
script$F.__file = "src/shared/components/OcrBusinessLicense.vue";
|
|
1961
|
+
script$F.__file = "src/shared/components/OcrInvoice.vue";
|
|
1457
1962
|
|
|
1458
1963
|
var HttpMethod = /* @__PURE__ */ ((HttpMethod2) => {
|
|
1459
1964
|
HttpMethod2["get"] = "GET";
|
|
@@ -1501,6 +2006,7 @@ const request = (config) => {
|
|
|
1501
2006
|
}
|
|
1502
2007
|
}).catch((e) => {
|
|
1503
2008
|
console.log("request.catch===", e);
|
|
2009
|
+
reject(e);
|
|
1504
2010
|
});
|
|
1505
2011
|
});
|
|
1506
2012
|
};
|
|
@@ -2008,7 +2514,6 @@ class TrackingSDK {
|
|
|
2008
2514
|
* 发送埋点数据
|
|
2009
2515
|
*/
|
|
2010
2516
|
async flush() {
|
|
2011
|
-
console.log(this.eventQueue.length, "this.eventQueue.length");
|
|
2012
2517
|
if (this.eventQueue.length === 0) return;
|
|
2013
2518
|
const events = [...this.eventQueue];
|
|
2014
2519
|
this.eventQueue = [];
|
|
@@ -2698,9 +3203,11 @@ const endpointsList$2 = {
|
|
|
2698
3203
|
certificateNo: params.user,
|
|
2699
3204
|
accountAuthFlag: params.accountAuthFlag || false,
|
|
2700
3205
|
channelCode: params.channelCode || null,
|
|
2701
|
-
payFinishJumpUrl: params.payFinishJumpUrl || null
|
|
3206
|
+
payFinishJumpUrl: params.payFinishJumpUrl || null,
|
|
3207
|
+
useCloudBean: params.useCloudBean || false
|
|
2702
3208
|
}),
|
|
2703
3209
|
transform: (data) => {
|
|
3210
|
+
console.log(data, "data-----");
|
|
2704
3211
|
let json = null;
|
|
2705
3212
|
try {
|
|
2706
3213
|
json = JSON.parse(data.prePayStr);
|
|
@@ -2778,6 +3285,7 @@ const vendor$2 = {
|
|
|
2778
3285
|
title: data.msg,
|
|
2779
3286
|
icon: "none"
|
|
2780
3287
|
});
|
|
3288
|
+
reject(data.msg);
|
|
2781
3289
|
}
|
|
2782
3290
|
}).catch((e) => {
|
|
2783
3291
|
reject(e);
|
|
@@ -2790,7 +3298,7 @@ function useHttp$2(defaultHeader) {
|
|
|
2790
3298
|
const headers = {
|
|
2791
3299
|
Token: appkitOptions.tempToken() || appkitOptions.token(),
|
|
2792
3300
|
Appcode: defaultHeader?.Appcode || appkitOptions.app(),
|
|
2793
|
-
|
|
3301
|
+
tid: defaultHeader?.Tenant || appkitOptions.tenant(),
|
|
2794
3302
|
gray: appkitOptions.gray ? appkitOptions.gray() : "0"
|
|
2795
3303
|
};
|
|
2796
3304
|
const $http = createHttp({
|
|
@@ -2895,12 +3403,14 @@ const requestBrandWCPay = (params, Appcode = "") => {
|
|
|
2895
3403
|
$http.post(endpoints$1.\u83B7\u53D6\u5FAE\u4FE1\u652F\u4ED8\u53C2\u6570\u5305, {
|
|
2896
3404
|
...params
|
|
2897
3405
|
}).then((response) => {
|
|
2898
|
-
if (!response.json) {
|
|
3406
|
+
if (!response.json && !response.prePayStr) {
|
|
2899
3407
|
showToast({
|
|
2900
3408
|
title: response.message,
|
|
2901
3409
|
icon: "none"
|
|
2902
3410
|
});
|
|
2903
3411
|
resolve(false);
|
|
3412
|
+
} else if (!response.json && response.prePayStr) {
|
|
3413
|
+
resolve(response);
|
|
2904
3414
|
} else if (params.fromMini) {
|
|
2905
3415
|
resolve(response.json);
|
|
2906
3416
|
} else {
|
|
@@ -2924,12 +3434,14 @@ const requestBrandWCPayByBean = (params, Appcode = "") => {
|
|
|
2924
3434
|
$http.post(endpoints$1.\u83B7\u53D6\u6743\u76CA\u5FAE\u4FE1\u652F\u4ED8, {
|
|
2925
3435
|
...params
|
|
2926
3436
|
}).then((response) => {
|
|
2927
|
-
if (!response.json) {
|
|
3437
|
+
if (!response.json && !response.prePayStr) {
|
|
2928
3438
|
showToast({
|
|
2929
3439
|
title: response.message,
|
|
2930
3440
|
icon: "none"
|
|
2931
3441
|
});
|
|
2932
3442
|
resolve(false);
|
|
3443
|
+
} else if (!response.json && response.prePayStr) {
|
|
3444
|
+
resolve(response);
|
|
2933
3445
|
} else if (params.fromMini) {
|
|
2934
3446
|
resolve(response.json);
|
|
2935
3447
|
} else {
|
|
@@ -2941,6 +3453,8 @@ const requestBrandWCPayByBean = (params, Appcode = "") => {
|
|
|
2941
3453
|
}
|
|
2942
3454
|
});
|
|
2943
3455
|
}
|
|
3456
|
+
}).catch(() => {
|
|
3457
|
+
resolve(false);
|
|
2944
3458
|
});
|
|
2945
3459
|
});
|
|
2946
3460
|
};
|
|
@@ -2993,7 +3507,7 @@ function isChrome() {
|
|
|
2993
3507
|
const _hoisted_1$B = { class: "view recharge-view" };
|
|
2994
3508
|
const _hoisted_2$r = { class: "flex-grow" };
|
|
2995
3509
|
const _hoisted_3$l = { class: "amount-footer" };
|
|
2996
|
-
const _hoisted_4$
|
|
3510
|
+
const _hoisted_4$h = { class: "agreement" };
|
|
2997
3511
|
var script$E = /* @__PURE__ */ defineComponent({
|
|
2998
3512
|
__name: "RechargeView",
|
|
2999
3513
|
props: {
|
|
@@ -3110,7 +3624,7 @@ var script$E = /* @__PURE__ */ defineComponent({
|
|
|
3110
3624
|
const _directive_track_click = resolveDirective("track-click");
|
|
3111
3625
|
return openBlock(), createElementBlock("view", _hoisted_1$B, [
|
|
3112
3626
|
createElementVNode("view", _hoisted_2$r, [
|
|
3113
|
-
createVNode(script$
|
|
3627
|
+
createVNode(script$O, {
|
|
3114
3628
|
items: amounts.value,
|
|
3115
3629
|
selected: state.selected,
|
|
3116
3630
|
onChange: onAmountSelect
|
|
@@ -3118,7 +3632,7 @@ var script$E = /* @__PURE__ */ defineComponent({
|
|
|
3118
3632
|
renderSlot(_ctx.$slots, "banner")
|
|
3119
3633
|
]),
|
|
3120
3634
|
createElementVNode("view", _hoisted_3$l, [
|
|
3121
|
-
createElementVNode("view", _hoisted_4$
|
|
3635
|
+
createElementVNode("view", _hoisted_4$h, [
|
|
3122
3636
|
createVNode(_component_nut_checkbox, {
|
|
3123
3637
|
modelValue: state.agreed,
|
|
3124
3638
|
"onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => state.agreed = $event)
|
|
@@ -3191,7 +3705,7 @@ const _hoisted_3$k = {
|
|
|
3191
3705
|
key: 0,
|
|
3192
3706
|
class: "caption"
|
|
3193
3707
|
};
|
|
3194
|
-
const _hoisted_4$
|
|
3708
|
+
const _hoisted_4$g = {
|
|
3195
3709
|
key: 1,
|
|
3196
3710
|
class: "caption"
|
|
3197
3711
|
};
|
|
@@ -3232,7 +3746,7 @@ var script$C = /* @__PURE__ */ defineComponent({
|
|
|
3232
3746
|
),
|
|
3233
3747
|
__props.payMethod == "bean" ? (openBlock(), createElementBlock("div", _hoisted_3$k, "\u6743\u76CA\u5DF2\u5230\u8D26")) : (openBlock(), createElementBlock(
|
|
3234
3748
|
"div",
|
|
3235
|
-
_hoisted_4$
|
|
3749
|
+
_hoisted_4$g,
|
|
3236
3750
|
toDisplayString(views[__props.type][1]) + "\u5C06\u57281\u5206\u949F\u4E4B\u5185\u5230\u8D26",
|
|
3237
3751
|
1
|
|
3238
3752
|
/* TEXT */
|
|
@@ -3379,8 +3893,8 @@ const _hoisted_3$i = {
|
|
|
3379
3893
|
key: 0,
|
|
3380
3894
|
class: "bean-buy"
|
|
3381
3895
|
};
|
|
3382
|
-
const _hoisted_4$
|
|
3383
|
-
const _hoisted_5$
|
|
3896
|
+
const _hoisted_4$f = { class: "left" };
|
|
3897
|
+
const _hoisted_5$d = {
|
|
3384
3898
|
key: 0,
|
|
3385
3899
|
class: "amount"
|
|
3386
3900
|
};
|
|
@@ -3390,24 +3904,33 @@ const _hoisted_6$9 = {
|
|
|
3390
3904
|
};
|
|
3391
3905
|
const _hoisted_7$6 = { class: "amount" };
|
|
3392
3906
|
const _hoisted_8$5 = ["src"];
|
|
3393
|
-
const _hoisted_9$4 = {
|
|
3907
|
+
const _hoisted_9$4 = {
|
|
3908
|
+
key: 0,
|
|
3909
|
+
class: "balance-warning"
|
|
3910
|
+
};
|
|
3394
3911
|
const _hoisted_10$3 = {
|
|
3912
|
+
key: 1,
|
|
3913
|
+
class: "balance-warning-tip"
|
|
3914
|
+
};
|
|
3915
|
+
const _hoisted_11$3 = { class: "amount-footer" };
|
|
3916
|
+
const _hoisted_12$3 = {
|
|
3395
3917
|
key: 0,
|
|
3396
3918
|
class: "agreement"
|
|
3397
3919
|
};
|
|
3398
|
-
const
|
|
3399
|
-
const
|
|
3400
|
-
const
|
|
3401
|
-
const _hoisted_14$2 = { class: "item" };
|
|
3402
|
-
const _hoisted_15$2 = { class: "item" };
|
|
3920
|
+
const _hoisted_13$2 = { class: "buy-amount" };
|
|
3921
|
+
const _hoisted_14$2 = { class: "left" };
|
|
3922
|
+
const _hoisted_15$2 = { class: "amount" };
|
|
3403
3923
|
const _hoisted_16$2 = { class: "item" };
|
|
3924
|
+
const _hoisted_17$2 = { class: "item" };
|
|
3925
|
+
const _hoisted_18$2 = { class: "item" };
|
|
3404
3926
|
var script$A = /* @__PURE__ */ defineComponent({
|
|
3405
3927
|
__name: "TradeView",
|
|
3406
3928
|
props: {
|
|
3407
3929
|
headerApp: { type: String, required: true },
|
|
3408
3930
|
app: { type: String, required: true },
|
|
3409
3931
|
tenant: { type: String, required: true },
|
|
3410
|
-
payFinishJumpUrl: { type: String, required: false }
|
|
3932
|
+
payFinishJumpUrl: { type: String, required: false },
|
|
3933
|
+
apps: { type: String, required: false }
|
|
3411
3934
|
},
|
|
3412
3935
|
emits: ["complete", "agree", "loaded"],
|
|
3413
3936
|
setup(__props, { expose: __expose, emit: __emit }) {
|
|
@@ -3434,8 +3957,28 @@ var script$A = /* @__PURE__ */ defineComponent({
|
|
|
3434
3957
|
state.selected = selected;
|
|
3435
3958
|
selectBean.value = false;
|
|
3436
3959
|
};
|
|
3960
|
+
const extraPaymentAmount = computed(() => {
|
|
3961
|
+
if (!selectBean.value || !amounts.value[state.selected]) {
|
|
3962
|
+
return 0;
|
|
3963
|
+
}
|
|
3964
|
+
const paymentAmount = amounts.value[state.selected].paymentAmount || 0;
|
|
3965
|
+
const currentBalance = balance.value || 0;
|
|
3966
|
+
return Math.max(0, paymentAmount - currentBalance);
|
|
3967
|
+
});
|
|
3437
3968
|
const currentAmount = computed(() => {
|
|
3438
|
-
|
|
3969
|
+
if (!amounts.value[state.selected]) {
|
|
3970
|
+
return 0;
|
|
3971
|
+
}
|
|
3972
|
+
if (selectBean.value) {
|
|
3973
|
+
if (balance.value < amounts.value[state.selected].paymentAmount) {
|
|
3974
|
+
return extraPaymentAmount.value;
|
|
3975
|
+
}
|
|
3976
|
+
return 0;
|
|
3977
|
+
}
|
|
3978
|
+
return amounts.value[state.selected].paymentAmount || 0;
|
|
3979
|
+
});
|
|
3980
|
+
const isCombinedPayment = computed(() => {
|
|
3981
|
+
return selectBean.value && amounts.value[state.selected] && balance.value < amounts.value[state.selected].paymentAmount;
|
|
3439
3982
|
});
|
|
3440
3983
|
onMounted(() => {
|
|
3441
3984
|
const $http = useHttp$2({ Appcode: props.headerApp, Tenant: props.tenant });
|
|
@@ -3451,24 +3994,28 @@ var script$A = /* @__PURE__ */ defineComponent({
|
|
|
3451
3994
|
const showDialog = ref(false);
|
|
3452
3995
|
async function beanPay() {
|
|
3453
3996
|
const $http = useHttp$2({ Appcode: props.headerApp, Tenant: props.tenant });
|
|
3454
|
-
|
|
3997
|
+
try {
|
|
3998
|
+
const response = await $http.post(
|
|
3999
|
+
`/payment/paymentCaseConfig/purchase/${amounts.value[state.selected].id}`
|
|
4000
|
+
);
|
|
3455
4001
|
if (response) {
|
|
3456
4002
|
showDialog.value = false;
|
|
3457
4003
|
emit("complete", { result: response, type: "bean" });
|
|
3458
4004
|
} else {
|
|
3459
4005
|
showToast({
|
|
3460
|
-
title: response
|
|
4006
|
+
title: response?.message || "\u652F\u4ED8\u5931\u8D25",
|
|
3461
4007
|
icon: "none"
|
|
3462
4008
|
});
|
|
3463
4009
|
}
|
|
3464
|
-
})
|
|
3465
|
-
|
|
3466
|
-
|
|
3467
|
-
|
|
3468
|
-
|
|
3469
|
-
return;
|
|
4010
|
+
} catch (error) {
|
|
4011
|
+
showToast({
|
|
4012
|
+
title: error?.message || "\u652F\u4ED8\u5931\u8D25",
|
|
4013
|
+
icon: "none"
|
|
4014
|
+
});
|
|
3470
4015
|
}
|
|
3471
|
-
|
|
4016
|
+
}
|
|
4017
|
+
function proceedWechatPayment() {
|
|
4018
|
+
if (!state.agreed) {
|
|
3472
4019
|
showToast({
|
|
3473
4020
|
title: "\u8BF7\u52FE\u9009\u300A\u5927\u9053\u4E91\u5E73\u53F0\u4E91\u8C46\u5145\u503C\u534F\u8BAE\u300B",
|
|
3474
4021
|
icon: "none"
|
|
@@ -3479,13 +4026,14 @@ var script$A = /* @__PURE__ */ defineComponent({
|
|
|
3479
4026
|
if (Taro.getEnv() === "WEB") {
|
|
3480
4027
|
requestBrandWCPayByBean({
|
|
3481
4028
|
caseConfigId: amounts.value[state.selected].id,
|
|
3482
|
-
amount:
|
|
4029
|
+
amount: currentAmount.value,
|
|
3483
4030
|
app: "loankitMp",
|
|
3484
4031
|
tenant: props.tenant,
|
|
3485
4032
|
accountAuthFlag: false,
|
|
3486
4033
|
channelCode: getChannelCode(),
|
|
3487
4034
|
payFinishJumpUrl: props.payFinishJumpUrl,
|
|
3488
|
-
fromMini: !!params.from
|
|
4035
|
+
fromMini: !!params.from,
|
|
4036
|
+
useCloudBean: isCombinedPayment.value
|
|
3489
4037
|
}).then((result) => {
|
|
3490
4038
|
state.buttonLoading = false;
|
|
3491
4039
|
if (typeof result === "boolean" && result) {
|
|
@@ -3494,28 +4042,56 @@ var script$A = /* @__PURE__ */ defineComponent({
|
|
|
3494
4042
|
state.thirdPayId = result?.thirdPayId || "";
|
|
3495
4043
|
window.location.href = result?.prePayStr;
|
|
3496
4044
|
} else {
|
|
3497
|
-
emit("complete", {
|
|
4045
|
+
emit("complete", {
|
|
4046
|
+
result,
|
|
4047
|
+
type: isCombinedPayment.value ? "combined" : "wePay"
|
|
4048
|
+
});
|
|
3498
4049
|
}
|
|
4050
|
+
}).catch((error) => {
|
|
4051
|
+
state.buttonLoading = false;
|
|
4052
|
+
showToast({
|
|
4053
|
+
title: error.message || "\u652F\u4ED8\u5931\u8D25",
|
|
4054
|
+
icon: "none"
|
|
4055
|
+
});
|
|
3499
4056
|
});
|
|
3500
4057
|
} else {
|
|
3501
4058
|
wx.login({
|
|
3502
4059
|
success({ code }) {
|
|
3503
|
-
requestPaymentByBean(
|
|
3504
|
-
|
|
3505
|
-
|
|
3506
|
-
|
|
3507
|
-
|
|
3508
|
-
|
|
3509
|
-
|
|
4060
|
+
requestPaymentByBean(
|
|
4061
|
+
{
|
|
4062
|
+
caseConfigId: amounts.value[state.selected].id,
|
|
4063
|
+
amount: currentAmount.value,
|
|
4064
|
+
app: props.app,
|
|
4065
|
+
tenant: props.tenant,
|
|
4066
|
+
user: code
|
|
4067
|
+
},
|
|
4068
|
+
props.headerApp
|
|
4069
|
+
).then((result) => {
|
|
3510
4070
|
state.buttonLoading = false;
|
|
3511
4071
|
if (result) {
|
|
3512
|
-
emit("complete", {
|
|
4072
|
+
emit("complete", {
|
|
4073
|
+
result: true,
|
|
4074
|
+
type: isCombinedPayment.value ? "combined" : "wePay"
|
|
4075
|
+
});
|
|
3513
4076
|
}
|
|
4077
|
+
}).catch((error) => {
|
|
4078
|
+
state.buttonLoading = false;
|
|
4079
|
+
showToast({
|
|
4080
|
+
title: error.message || "\u652F\u4ED8\u5931\u8D25",
|
|
4081
|
+
icon: "none"
|
|
4082
|
+
});
|
|
4083
|
+
});
|
|
4084
|
+
},
|
|
4085
|
+
fail() {
|
|
4086
|
+
state.buttonLoading = false;
|
|
4087
|
+
showToast({
|
|
4088
|
+
title: "\u767B\u5F55\u5931\u8D25\uFF0C\u8BF7\u91CD\u8BD5",
|
|
4089
|
+
icon: "none"
|
|
3514
4090
|
});
|
|
3515
4091
|
}
|
|
3516
4092
|
});
|
|
3517
4093
|
}
|
|
3518
|
-
}
|
|
4094
|
+
}
|
|
3519
4095
|
function getChannelCode() {
|
|
3520
4096
|
if (isWechat()) {
|
|
3521
4097
|
return "centergzh";
|
|
@@ -3525,6 +4101,46 @@ var script$A = /* @__PURE__ */ defineComponent({
|
|
|
3525
4101
|
return "distributor";
|
|
3526
4102
|
}
|
|
3527
4103
|
}
|
|
4104
|
+
const onPayClick = async () => {
|
|
4105
|
+
if (selectBean.value && !isCombinedPayment.value) {
|
|
4106
|
+
showDialog.value = true;
|
|
4107
|
+
return;
|
|
4108
|
+
}
|
|
4109
|
+
if (isCombinedPayment.value) {
|
|
4110
|
+
const res = await checkBalance();
|
|
4111
|
+
if (!res) return;
|
|
4112
|
+
}
|
|
4113
|
+
proceedWechatPayment();
|
|
4114
|
+
};
|
|
4115
|
+
async function checkBalance() {
|
|
4116
|
+
const $http = useHttp$2();
|
|
4117
|
+
return new Promise((resolve, reject) => {
|
|
4118
|
+
state.buttonLoading = true;
|
|
4119
|
+
$http.get(endpoints$2.\u83B7\u53D6\u4F59\u989D\u660E\u7EC6, {
|
|
4120
|
+
app: props.apps
|
|
4121
|
+
}).then((data) => {
|
|
4122
|
+
state.buttonLoading = false;
|
|
4123
|
+
if (data.commonAccount < balance.value) {
|
|
4124
|
+
showModal({
|
|
4125
|
+
title: "\u6E29\u99A8\u63D0\u793A",
|
|
4126
|
+
content: "\u4E91\u8C46\u4E0D\u8DB3\uFF0C\u8BF7\u5237\u65B0\u540E\u518D\u6B21\u786E\u8BA4",
|
|
4127
|
+
showCancel: false,
|
|
4128
|
+
confirmText: "\u5237\u65B0",
|
|
4129
|
+
confirmColor: "#017fff",
|
|
4130
|
+
success: () => {
|
|
4131
|
+
balance.value = data.commonAccount;
|
|
4132
|
+
}
|
|
4133
|
+
});
|
|
4134
|
+
resolve(false);
|
|
4135
|
+
} else {
|
|
4136
|
+
resolve(true);
|
|
4137
|
+
}
|
|
4138
|
+
}).catch((error) => {
|
|
4139
|
+
state.buttonLoading = false;
|
|
4140
|
+
resolve(false);
|
|
4141
|
+
});
|
|
4142
|
+
});
|
|
4143
|
+
}
|
|
3528
4144
|
const payResultCheck = () => {
|
|
3529
4145
|
if (!state.thirdPayId) return;
|
|
3530
4146
|
const $http = useHttp$2();
|
|
@@ -3534,7 +4150,7 @@ var script$A = /* @__PURE__ */ defineComponent({
|
|
|
3534
4150
|
if (response.payStatus === "paid") {
|
|
3535
4151
|
emit("complete", {
|
|
3536
4152
|
result: true,
|
|
3537
|
-
type: "wePay"
|
|
4153
|
+
type: isCombinedPayment.value ? "combined" : "wePay"
|
|
3538
4154
|
});
|
|
3539
4155
|
}
|
|
3540
4156
|
});
|
|
@@ -3555,7 +4171,7 @@ var script$A = /* @__PURE__ */ defineComponent({
|
|
|
3555
4171
|
onChange: onAmountSelect
|
|
3556
4172
|
}, null, 8, ["items", "selected"]),
|
|
3557
4173
|
amounts.value[state.selected] ? (openBlock(), createElementBlock("div", _hoisted_3$i, [
|
|
3558
|
-
createElementVNode("div", _hoisted_4$
|
|
4174
|
+
createElementVNode("div", _hoisted_4$f, [
|
|
3559
4175
|
_cache[4] || (_cache[4] = createElementVNode(
|
|
3560
4176
|
"div",
|
|
3561
4177
|
{ class: "title" },
|
|
@@ -3563,29 +4179,28 @@ var script$A = /* @__PURE__ */ defineComponent({
|
|
|
3563
4179
|
-1
|
|
3564
4180
|
/* CACHED */
|
|
3565
4181
|
)),
|
|
3566
|
-
!selectBean.value ? (openBlock(), createElementBlock(
|
|
4182
|
+
!selectBean.value || isCombinedPayment.value ? (openBlock(), createElementBlock(
|
|
3567
4183
|
"div",
|
|
3568
|
-
_hoisted_5$
|
|
3569
|
-
"\u4F59\u989D " + toDisplayString(unref(formatAmount)(balance.value || 0)),
|
|
4184
|
+
_hoisted_5$d,
|
|
4185
|
+
" \u4F59\u989D " + toDisplayString(unref(formatAmount)(balance.value || 0)),
|
|
3570
4186
|
1
|
|
3571
4187
|
/* TEXT */
|
|
3572
4188
|
)) : (openBlock(), createElementBlock(
|
|
3573
4189
|
"div",
|
|
3574
4190
|
_hoisted_6$9,
|
|
3575
|
-
"\u6263\u51CF\u540E\u4F59\u989D " + toDisplayString(unref(formatAmount)(balance.value - amounts.value[state.selected].paymentAmount)),
|
|
4191
|
+
" \u6263\u51CF\u540E\u4F59\u989D " + toDisplayString(unref(formatAmount)(balance.value - amounts.value[state.selected].paymentAmount)),
|
|
3576
4192
|
1
|
|
3577
4193
|
/* TEXT */
|
|
3578
4194
|
))
|
|
3579
4195
|
]),
|
|
3580
|
-
|
|
3581
|
-
key: 0,
|
|
4196
|
+
createElementVNode("div", {
|
|
3582
4197
|
class: "right",
|
|
3583
4198
|
onClick: _cache[0] || (_cache[0] = ($event) => selectBean.value = !selectBean.value)
|
|
3584
4199
|
}, [
|
|
3585
4200
|
createElementVNode(
|
|
3586
4201
|
"div",
|
|
3587
4202
|
_hoisted_7$6,
|
|
3588
|
-
"-" + toDisplayString(unref(formatAmount)(amounts.value[state.selected].paymentAmount || 0)),
|
|
4203
|
+
" -" + toDisplayString(unref(formatAmount)(amounts.value[state.selected].paymentAmount || 0)),
|
|
3589
4204
|
1
|
|
3590
4205
|
/* TEXT */
|
|
3591
4206
|
),
|
|
@@ -3593,12 +4208,20 @@ var script$A = /* @__PURE__ */ defineComponent({
|
|
|
3593
4208
|
class: "icon",
|
|
3594
4209
|
src: selectBean.value ? "https://cdn.ddjf.com/static/images/appkit/select.svg" : "https://cdn.ddjf.com/static/images/appkit/not-select.svg"
|
|
3595
4210
|
}, null, 8, _hoisted_8$5)
|
|
3596
|
-
])
|
|
4211
|
+
]),
|
|
4212
|
+
isCombinedPayment.value ? (openBlock(), createElementBlock(
|
|
4213
|
+
"div",
|
|
4214
|
+
_hoisted_9$4,
|
|
4215
|
+
" \u4E91\u8C46\u4F59\u989D\u4E0D\u8DB3,\u8FD8\u9700\u989D\u5916\u652F\u4ED8" + toDisplayString(unref(formatAmount)(extraPaymentAmount.value)) + "\u5143 ",
|
|
4216
|
+
1
|
|
4217
|
+
/* TEXT */
|
|
4218
|
+
)) : createCommentVNode("v-if", true)
|
|
3597
4219
|
])) : createCommentVNode("v-if", true),
|
|
4220
|
+
isCombinedPayment.value ? (openBlock(), createElementBlock("div", _hoisted_10$3, " \u8BF7\u5728\u652F\u4ED8\u5B8C\u6210\u524D\u786E\u4FDD\u5143\u8C46\u4F59\u989D\u4E0D\u88AB\u6D88\u8017,\u5426\u5219\u672C\u6B21\u6743\u76CA\u53EF\u80FD\u8D2D\u4E70\u5931\u8D25 ")) : createCommentVNode("v-if", true),
|
|
3598
4221
|
renderSlot(_ctx.$slots, "banner")
|
|
3599
4222
|
]),
|
|
3600
|
-
createElementVNode("view",
|
|
3601
|
-
!selectBean.value ? (openBlock(), createElementBlock("view",
|
|
4223
|
+
createElementVNode("view", _hoisted_11$3, [
|
|
4224
|
+
!selectBean.value || isCombinedPayment.value ? (openBlock(), createElementBlock("view", _hoisted_12$3, [
|
|
3602
4225
|
createVNode(_component_nut_checkbox, {
|
|
3603
4226
|
modelValue: state.agreed,
|
|
3604
4227
|
"onUpdate:modelValue": _cache[1] || (_cache[1] = ($event) => state.agreed = $event)
|
|
@@ -3626,14 +4249,14 @@ var script$A = /* @__PURE__ */ defineComponent({
|
|
|
3626
4249
|
/* STABLE */
|
|
3627
4250
|
}, 8, ["modelValue"])
|
|
3628
4251
|
])) : createCommentVNode("v-if", true),
|
|
3629
|
-
createElementVNode("div",
|
|
3630
|
-
createElementVNode("div",
|
|
4252
|
+
createElementVNode("div", _hoisted_13$2, [
|
|
4253
|
+
createElementVNode("div", _hoisted_14$2, [
|
|
3631
4254
|
_cache[8] || (_cache[8] = createTextVNode(
|
|
3632
4255
|
" \u5F85\u652F\u4ED8\uFF1A ",
|
|
3633
4256
|
-1
|
|
3634
4257
|
/* CACHED */
|
|
3635
4258
|
)),
|
|
3636
|
-
createElementVNode("span",
|
|
4259
|
+
createElementVNode("span", _hoisted_15$2, [
|
|
3637
4260
|
_cache[7] || (_cache[7] = createElementVNode(
|
|
3638
4261
|
"i",
|
|
3639
4262
|
null,
|
|
@@ -3684,22 +4307,22 @@ var script$A = /* @__PURE__ */ defineComponent({
|
|
|
3684
4307
|
[
|
|
3685
4308
|
createElementVNode(
|
|
3686
4309
|
"div",
|
|
3687
|
-
|
|
3688
|
-
"\u4E91\u8C46\u6263\u51CF\uFF1A" + toDisplayString(unref(formatAmount)(amounts.value[state.selected].paymentAmount || 0)),
|
|
4310
|
+
_hoisted_16$2,
|
|
4311
|
+
" \u4E91\u8C46\u6263\u51CF\uFF1A" + toDisplayString(unref(formatAmount)(amounts.value[state.selected].paymentAmount || 0)),
|
|
3689
4312
|
1
|
|
3690
4313
|
/* TEXT */
|
|
3691
4314
|
),
|
|
3692
4315
|
createElementVNode(
|
|
3693
4316
|
"div",
|
|
3694
|
-
|
|
3695
|
-
"\u6743\u76CA\u589E\u52A0\uFF1A" + toDisplayString(unref(formatAmount)(amounts.value[state.selected].priceRightNum || 0)) + "\u7B14",
|
|
4317
|
+
_hoisted_17$2,
|
|
4318
|
+
" \u6743\u76CA\u589E\u52A0\uFF1A" + toDisplayString(unref(formatAmount)(amounts.value[state.selected].priceRightNum || 0)) + "\u7B14 ",
|
|
3696
4319
|
1
|
|
3697
4320
|
/* TEXT */
|
|
3698
4321
|
),
|
|
3699
4322
|
createElementVNode(
|
|
3700
4323
|
"div",
|
|
3701
|
-
|
|
3702
|
-
"\u6263\u51CF\u540E\u4E91\u8C46\u4F59\u989D\uFF1A" + toDisplayString(unref(formatAmount)(balance.value - amounts.value[state.selected].paymentAmount)),
|
|
4324
|
+
_hoisted_18$2,
|
|
4325
|
+
" \u6263\u51CF\u540E\u4E91\u8C46\u4F59\u989D\uFF1A" + toDisplayString(unref(formatAmount)(balance.value - amounts.value[state.selected].paymentAmount)),
|
|
3703
4326
|
1
|
|
3704
4327
|
/* TEXT */
|
|
3705
4328
|
)
|
|
@@ -3719,7 +4342,7 @@ var script$A = /* @__PURE__ */ defineComponent({
|
|
|
3719
4342
|
script$A.__file = "src/payment/components/TradeView.vue";
|
|
3720
4343
|
|
|
3721
4344
|
const components = {
|
|
3722
|
-
AmountPicker: script$
|
|
4345
|
+
AmountPicker: script$O,
|
|
3723
4346
|
RechargeView: script$E,
|
|
3724
4347
|
UserAgreement: script$D,
|
|
3725
4348
|
RechargeResult: script$C,
|
|
@@ -3729,8 +4352,8 @@ const components = {
|
|
|
3729
4352
|
const _hoisted_1$w = { class: "account-card" };
|
|
3730
4353
|
const _hoisted_2$n = { class: "card" };
|
|
3731
4354
|
const _hoisted_3$h = { class: "card-row" };
|
|
3732
|
-
const _hoisted_4$
|
|
3733
|
-
const _hoisted_5$
|
|
4355
|
+
const _hoisted_4$e = { class: "card-row-left" };
|
|
4356
|
+
const _hoisted_5$c = { class: "bean-nums number" };
|
|
3734
4357
|
const _hoisted_6$8 = { class: "card-row-right" };
|
|
3735
4358
|
var script$z = /* @__PURE__ */ defineComponent({
|
|
3736
4359
|
__name: "BalanceCard",
|
|
@@ -3777,7 +4400,7 @@ var script$z = /* @__PURE__ */ defineComponent({
|
|
|
3777
4400
|
return openBlock(), createElementBlock("div", _hoisted_1$w, [
|
|
3778
4401
|
createElementVNode("div", _hoisted_2$n, [
|
|
3779
4402
|
createElementVNode("div", _hoisted_3$h, [
|
|
3780
|
-
createElementVNode("div", _hoisted_4$
|
|
4403
|
+
createElementVNode("div", _hoisted_4$e, [
|
|
3781
4404
|
_cache[0] || (_cache[0] = createElementVNode(
|
|
3782
4405
|
"div",
|
|
3783
4406
|
{ class: "bean-box" },
|
|
@@ -3795,7 +4418,7 @@ var script$z = /* @__PURE__ */ defineComponent({
|
|
|
3795
4418
|
)),
|
|
3796
4419
|
createElementVNode(
|
|
3797
4420
|
"div",
|
|
3798
|
-
_hoisted_5$
|
|
4421
|
+
_hoisted_5$c,
|
|
3799
4422
|
toDisplayString(unref(formatAmount)(balance.value.total || 0)),
|
|
3800
4423
|
1
|
|
3801
4424
|
/* TEXT */
|
|
@@ -3857,8 +4480,8 @@ const consumptionDirections = ["\u5168\u90E8", "\u6536\u5165", "\u652F\u51FA"];
|
|
|
3857
4480
|
const _hoisted_1$v = { class: "consumption-filter" };
|
|
3858
4481
|
const _hoisted_2$m = { class: "consumption-filter-content" };
|
|
3859
4482
|
const _hoisted_3$g = { class: "title" };
|
|
3860
|
-
const _hoisted_4$
|
|
3861
|
-
const _hoisted_5$
|
|
4483
|
+
const _hoisted_4$d = { class: "info" };
|
|
4484
|
+
const _hoisted_5$b = ["onClick"];
|
|
3862
4485
|
const _hoisted_6$7 = { class: "consumption-filter-btn spa-between" };
|
|
3863
4486
|
var script$y = /* @__PURE__ */ defineComponent({
|
|
3864
4487
|
__name: "ConsumptionFilter",
|
|
@@ -3937,7 +4560,7 @@ var script$y = /* @__PURE__ */ defineComponent({
|
|
|
3937
4560
|
1
|
|
3938
4561
|
/* TEXT */
|
|
3939
4562
|
),
|
|
3940
|
-
createElementVNode("div", _hoisted_4$
|
|
4563
|
+
createElementVNode("div", _hoisted_4$d, [
|
|
3941
4564
|
(openBlock(true), createElementBlock(
|
|
3942
4565
|
Fragment,
|
|
3943
4566
|
null,
|
|
@@ -3946,7 +4569,7 @@ var script$y = /* @__PURE__ */ defineComponent({
|
|
|
3946
4569
|
onClick: () => onFilterSectionClick(index, it.code),
|
|
3947
4570
|
class: normalizeClass([getItemClass(index, it.code), "info-item"]),
|
|
3948
4571
|
key: i
|
|
3949
|
-
}, toDisplayString(typeof it === "string" ? it : it.name), 11, _hoisted_5$
|
|
4572
|
+
}, toDisplayString(typeof it === "string" ? it : it.name), 11, _hoisted_5$b);
|
|
3950
4573
|
}),
|
|
3951
4574
|
128
|
|
3952
4575
|
/* KEYED_FRAGMENT */
|
|
@@ -3996,7 +4619,7 @@ script$y.__file = "src/balance/components/ConsumptionFilter.vue";
|
|
|
3996
4619
|
const _hoisted_1$u = { class: "appkit-date-filter" };
|
|
3997
4620
|
const _hoisted_2$l = { class: "content" };
|
|
3998
4621
|
const _hoisted_3$f = { class: "time" };
|
|
3999
|
-
const _hoisted_4$
|
|
4622
|
+
const _hoisted_4$c = { class: "buttons spa-between" };
|
|
4000
4623
|
var script$x = /* @__PURE__ */ defineComponent({
|
|
4001
4624
|
__name: "DateFilter",
|
|
4002
4625
|
props: {
|
|
@@ -4119,7 +4742,7 @@ var script$x = /* @__PURE__ */ defineComponent({
|
|
|
4119
4742
|
)
|
|
4120
4743
|
])
|
|
4121
4744
|
]),
|
|
4122
|
-
createElementVNode("div", _hoisted_4$
|
|
4745
|
+
createElementVNode("div", _hoisted_4$c, [
|
|
4123
4746
|
createElementVNode("div", {
|
|
4124
4747
|
class: "btn",
|
|
4125
4748
|
onClick: reset
|
|
@@ -4295,8 +4918,8 @@ script$u.__file = "src/balance/components/Tip.vue";
|
|
|
4295
4918
|
const _hoisted_1$q = { class: "account-view" };
|
|
4296
4919
|
const _hoisted_2$k = { class: "scroll-content" };
|
|
4297
4920
|
const _hoisted_3$e = { class: "row jusify-right" };
|
|
4298
|
-
const _hoisted_4$
|
|
4299
|
-
const _hoisted_5$
|
|
4921
|
+
const _hoisted_4$b = { class: "balance" };
|
|
4922
|
+
const _hoisted_5$a = { class: "bean-box spa-between" };
|
|
4300
4923
|
const _hoisted_6$6 = { class: "bean-counts spa-between" };
|
|
4301
4924
|
const _hoisted_7$5 = { class: "counts number" };
|
|
4302
4925
|
const _hoisted_8$4 = {
|
|
@@ -4537,7 +5160,7 @@ var script$t = /* @__PURE__ */ defineComponent({
|
|
|
4537
5160
|
[
|
|
4538
5161
|
createElementVNode("div", _hoisted_1$q, [
|
|
4539
5162
|
createElementVNode("div", _hoisted_2$k, [
|
|
4540
|
-
createVNode(unref(script$
|
|
5163
|
+
createVNode(unref(script$N), {
|
|
4541
5164
|
title: unref(Taro).getEnv() !== "WEB" ? "\u6211\u7684\u8D26\u6237" : "",
|
|
4542
5165
|
class: normalizeClass({ "with-background": scrolled.value > 0 }),
|
|
4543
5166
|
onClose: onPageHeaderClose
|
|
@@ -4558,8 +5181,8 @@ var script$t = /* @__PURE__ */ defineComponent({
|
|
|
4558
5181
|
[_directive_track_click]
|
|
4559
5182
|
])
|
|
4560
5183
|
]),
|
|
4561
|
-
createElementVNode("div", _hoisted_4$
|
|
4562
|
-
createElementVNode("div", _hoisted_5$
|
|
5184
|
+
createElementVNode("div", _hoisted_4$b, [
|
|
5185
|
+
createElementVNode("div", _hoisted_5$a, [
|
|
4563
5186
|
_cache[9] || (_cache[9] = createElementVNode(
|
|
4564
5187
|
"div",
|
|
4565
5188
|
{ class: "bean-img" },
|
|
@@ -4842,7 +5465,7 @@ var script$t = /* @__PURE__ */ defineComponent({
|
|
|
4842
5465
|
_: 1
|
|
4843
5466
|
/* STABLE */
|
|
4844
5467
|
}, 8, ["visible"]),
|
|
4845
|
-
createVNode(unref(script$
|
|
5468
|
+
createVNode(unref(script$M), {
|
|
4846
5469
|
modelValue: secondBalanceOpen.value,
|
|
4847
5470
|
"onUpdate:modelValue": _cache[6] || (_cache[6] = ($event) => secondBalanceOpen.value = $event),
|
|
4848
5471
|
title: "\u6536\u652F\u660E\u7EC6"
|
|
@@ -5032,8 +5655,8 @@ script$t.__file = "src/balance/components/AccountView.vue";
|
|
|
5032
5655
|
const _hoisted_1$p = { class: "balance-reminder" };
|
|
5033
5656
|
const _hoisted_2$j = { class: "body" };
|
|
5034
5657
|
const _hoisted_3$d = { class: "footer" };
|
|
5035
|
-
const _hoisted_4$
|
|
5036
|
-
const _hoisted_5$
|
|
5658
|
+
const _hoisted_4$a = { class: "col" };
|
|
5659
|
+
const _hoisted_5$9 = { class: "col" };
|
|
5037
5660
|
var script$s = /* @__PURE__ */ defineComponent({
|
|
5038
5661
|
__name: "BalanceReminder",
|
|
5039
5662
|
props: {
|
|
@@ -5074,7 +5697,7 @@ var script$s = /* @__PURE__ */ defineComponent({
|
|
|
5074
5697
|
)
|
|
5075
5698
|
]),
|
|
5076
5699
|
createElementVNode("div", _hoisted_3$d, [
|
|
5077
|
-
createElementVNode("div", _hoisted_4$
|
|
5700
|
+
createElementVNode("div", _hoisted_4$a, [
|
|
5078
5701
|
createVNode(_component_nut_button, {
|
|
5079
5702
|
class: "cancel-button",
|
|
5080
5703
|
onClick: _cache[0] || (_cache[0] = ($event) => emit("update:modelValue", false)),
|
|
@@ -5091,7 +5714,7 @@ var script$s = /* @__PURE__ */ defineComponent({
|
|
|
5091
5714
|
/* STABLE */
|
|
5092
5715
|
})
|
|
5093
5716
|
]),
|
|
5094
|
-
createElementVNode("div", _hoisted_5$
|
|
5717
|
+
createElementVNode("div", _hoisted_5$9, [
|
|
5095
5718
|
withDirectives((openBlock(), createBlock(_component_nut_button, {
|
|
5096
5719
|
block: "",
|
|
5097
5720
|
class: "recharge-button",
|
|
@@ -5229,8 +5852,8 @@ script$r.__file = "src/balance/components/DateRange.vue";
|
|
|
5229
5852
|
const _hoisted_1$n = { class: "list-filter-picker" };
|
|
5230
5853
|
const _hoisted_2$i = { class: "list-filter-picker-content" };
|
|
5231
5854
|
const _hoisted_3$c = { class: "title" };
|
|
5232
|
-
const _hoisted_4$
|
|
5233
|
-
const _hoisted_5$
|
|
5855
|
+
const _hoisted_4$9 = { class: "info" };
|
|
5856
|
+
const _hoisted_5$8 = ["onClick"];
|
|
5234
5857
|
const _hoisted_6$5 = { class: "list-filter-picker-btn spa-between" };
|
|
5235
5858
|
var script$q = /* @__PURE__ */ defineComponent({
|
|
5236
5859
|
__name: "ListFilterPicker",
|
|
@@ -5307,7 +5930,7 @@ var script$q = /* @__PURE__ */ defineComponent({
|
|
|
5307
5930
|
1
|
|
5308
5931
|
/* TEXT */
|
|
5309
5932
|
),
|
|
5310
|
-
createElementVNode("div", _hoisted_4$
|
|
5933
|
+
createElementVNode("div", _hoisted_4$9, [
|
|
5311
5934
|
(openBlock(true), createElementBlock(
|
|
5312
5935
|
Fragment,
|
|
5313
5936
|
null,
|
|
@@ -5316,7 +5939,7 @@ var script$q = /* @__PURE__ */ defineComponent({
|
|
|
5316
5939
|
onClick: () => onFilterSectionClick(item.name, it.value),
|
|
5317
5940
|
class: normalizeClass([getItemClass(item.name, it.value), "info-item"]),
|
|
5318
5941
|
key: i
|
|
5319
|
-
}, toDisplayString(typeof it === "string" ? it : it.label), 11, _hoisted_5$
|
|
5942
|
+
}, toDisplayString(typeof it === "string" ? it : it.label), 11, _hoisted_5$8);
|
|
5320
5943
|
}),
|
|
5321
5944
|
128
|
|
5322
5945
|
/* KEYED_FRAGMENT */
|
|
@@ -5432,8 +6055,8 @@ const _hoisted_1$m = {
|
|
|
5432
6055
|
};
|
|
5433
6056
|
const _hoisted_2$h = { class: "promoter-card-hd-num number" };
|
|
5434
6057
|
const _hoisted_3$b = ["src"];
|
|
5435
|
-
const _hoisted_4$
|
|
5436
|
-
const _hoisted_5$
|
|
6058
|
+
const _hoisted_4$8 = { class: "promoter-card-ft" };
|
|
6059
|
+
const _hoisted_5$7 = {
|
|
5437
6060
|
key: 0,
|
|
5438
6061
|
class: "promoter-card-ft-item"
|
|
5439
6062
|
};
|
|
@@ -5529,6 +6152,7 @@ var script$o = /* @__PURE__ */ defineComponent({
|
|
|
5529
6152
|
showModal({
|
|
5530
6153
|
content: toastMap[type],
|
|
5531
6154
|
showCancel: false,
|
|
6155
|
+
confirmColor: "#017fff",
|
|
5532
6156
|
confirmText: "\u77E5\u9053\u4E86"
|
|
5533
6157
|
});
|
|
5534
6158
|
}
|
|
@@ -5591,8 +6215,8 @@ var script$o = /* @__PURE__ */ defineComponent({
|
|
|
5591
6215
|
])), [
|
|
5592
6216
|
[_directive_track_click]
|
|
5593
6217
|
]) : createCommentVNode("v-if", true),
|
|
5594
|
-
createElementVNode("div", _hoisted_4$
|
|
5595
|
-
__props.applyRecord.accessCheckStatus === "Y" ? (openBlock(), createElementBlock("div", _hoisted_5$
|
|
6218
|
+
createElementVNode("div", _hoisted_4$8, [
|
|
6219
|
+
__props.applyRecord.accessCheckStatus === "Y" ? (openBlock(), createElementBlock("div", _hoisted_5$7, [
|
|
5596
6220
|
__props.\u663E\u793A\u4E0B\u7EA7\u5206\u9500\u5546 ? (openBlock(), createElementBlock(
|
|
5597
6221
|
Fragment,
|
|
5598
6222
|
{ key: 0 },
|
|
@@ -6034,8 +6658,8 @@ script$l.__file = "src/components/dd-selector/index.vue";
|
|
|
6034
6658
|
const _hoisted_1$j = { class: "self-registration" };
|
|
6035
6659
|
const _hoisted_2$f = { class: "self-registration-body" };
|
|
6036
6660
|
const _hoisted_3$a = ["src"];
|
|
6037
|
-
const _hoisted_4$
|
|
6038
|
-
const _hoisted_5$
|
|
6661
|
+
const _hoisted_4$7 = { class: "self-registration__input" };
|
|
6662
|
+
const _hoisted_5$6 = { class: "self-registration-bottom" };
|
|
6039
6663
|
var script$k = /* @__PURE__ */ defineComponent({
|
|
6040
6664
|
__name: "SelfRegistration",
|
|
6041
6665
|
props: {
|
|
@@ -6195,7 +6819,7 @@ var script$k = /* @__PURE__ */ defineComponent({
|
|
|
6195
6819
|
required: ""
|
|
6196
6820
|
}, {
|
|
6197
6821
|
default: withCtx(() => [
|
|
6198
|
-
createElementVNode("div", _hoisted_4$
|
|
6822
|
+
createElementVNode("div", _hoisted_4$7, [
|
|
6199
6823
|
withDirectives(createElementVNode(
|
|
6200
6824
|
"input",
|
|
6201
6825
|
{
|
|
@@ -6211,7 +6835,10 @@ var script$k = /* @__PURE__ */ defineComponent({
|
|
|
6211
6835
|
), [
|
|
6212
6836
|
[vModelText, formState.name]
|
|
6213
6837
|
]),
|
|
6214
|
-
createVNode(script$
|
|
6838
|
+
createVNode(script$I, {
|
|
6839
|
+
"has-upload-vo": false,
|
|
6840
|
+
onComplete: onOCRInfo
|
|
6841
|
+
}, {
|
|
6215
6842
|
icon: withCtx(() => [..._cache[9] || (_cache[9] = [
|
|
6216
6843
|
createElementVNode(
|
|
6217
6844
|
"img",
|
|
@@ -6346,7 +6973,7 @@ var script$k = /* @__PURE__ */ defineComponent({
|
|
|
6346
6973
|
/* STABLE */
|
|
6347
6974
|
})
|
|
6348
6975
|
]),
|
|
6349
|
-
createElementVNode("div", _hoisted_5$
|
|
6976
|
+
createElementVNode("div", _hoisted_5$6, [
|
|
6350
6977
|
withDirectives((openBlock(), createBlock(_component_nut_button, {
|
|
6351
6978
|
block: "",
|
|
6352
6979
|
type: "primary",
|
|
@@ -6468,7 +7095,7 @@ function useHttp$1() {
|
|
|
6468
7095
|
const headers = {
|
|
6469
7096
|
Token: appkitOptions.tempToken() || appkitOptions.token(),
|
|
6470
7097
|
Appcode: appkitOptions.app(),
|
|
6471
|
-
|
|
7098
|
+
tid: appkitOptions.tenant(),
|
|
6472
7099
|
gray: appkitOptions.gray ? appkitOptions.gray() : "0"
|
|
6473
7100
|
};
|
|
6474
7101
|
const $http = createHttp({
|
|
@@ -6782,7 +7409,7 @@ var script$i = /* @__PURE__ */ defineComponent({
|
|
|
6782
7409
|
Fragment,
|
|
6783
7410
|
null,
|
|
6784
7411
|
renderList(bannerMessages.value, (item, key) => {
|
|
6785
|
-
return withDirectives((openBlock(), createBlock(script$
|
|
7412
|
+
return withDirectives((openBlock(), createBlock(script$K, {
|
|
6786
7413
|
class: normalizeClass({ show: key === activeKey.value }),
|
|
6787
7414
|
key,
|
|
6788
7415
|
showClose: item.noticeType === 0,
|
|
@@ -7053,7 +7680,8 @@ function useCommonList(api, query, loading = true, method = "GET") {
|
|
|
7053
7680
|
const isLoading = ref(false);
|
|
7054
7681
|
async function fetchData(loading2) {
|
|
7055
7682
|
loading2 && showLoading({
|
|
7056
|
-
title: "\u52A0\u8F7D\u4E2D..."
|
|
7683
|
+
title: "\u52A0\u8F7D\u4E2D...",
|
|
7684
|
+
mask: true
|
|
7057
7685
|
});
|
|
7058
7686
|
isLoading.value = true;
|
|
7059
7687
|
const $http = useHttp$1();
|
|
@@ -7110,8 +7738,8 @@ const _hoisted_3$7 = {
|
|
|
7110
7738
|
key: 0,
|
|
7111
7739
|
class: "wrapper"
|
|
7112
7740
|
};
|
|
7113
|
-
const _hoisted_4$
|
|
7114
|
-
const _hoisted_5$
|
|
7741
|
+
const _hoisted_4$6 = ["onClick"];
|
|
7742
|
+
const _hoisted_5$5 = { class: "time" };
|
|
7115
7743
|
const _hoisted_6$3 = {
|
|
7116
7744
|
key: 0,
|
|
7117
7745
|
class: "notice-list-label"
|
|
@@ -7244,7 +7872,7 @@ var script$f = /* @__PURE__ */ defineComponent({
|
|
|
7244
7872
|
createElementVNode("div", null, [
|
|
7245
7873
|
createElementVNode(
|
|
7246
7874
|
"div",
|
|
7247
|
-
_hoisted_5$
|
|
7875
|
+
_hoisted_5$5,
|
|
7248
7876
|
toDisplayString(formatMinutes(item.receiveTime)),
|
|
7249
7877
|
1
|
|
7250
7878
|
/* TEXT */
|
|
@@ -7301,7 +7929,7 @@ var script$f = /* @__PURE__ */ defineComponent({
|
|
|
7301
7929
|
/* CLASS */
|
|
7302
7930
|
)
|
|
7303
7931
|
])
|
|
7304
|
-
], 10, _hoisted_4$
|
|
7932
|
+
], 10, _hoisted_4$6)), [
|
|
7305
7933
|
[_directive_track_click, "\u6D88\u606F\u8BE6\u60C5"]
|
|
7306
7934
|
]);
|
|
7307
7935
|
}),
|
|
@@ -7343,16 +7971,21 @@ var script$f = /* @__PURE__ */ defineComponent({
|
|
|
7343
7971
|
|
|
7344
7972
|
script$f.__file = "src/notice/components/NoticeList.vue";
|
|
7345
7973
|
|
|
7346
|
-
const _hoisted_1$d =
|
|
7974
|
+
const _hoisted_1$d = ["onClick"];
|
|
7975
|
+
const _hoisted_2$9 = {
|
|
7976
|
+
key: 0,
|
|
7977
|
+
class: "custom-title-dot"
|
|
7978
|
+
};
|
|
7979
|
+
const _hoisted_3$6 = {
|
|
7347
7980
|
key: 0,
|
|
7348
7981
|
class: "read-all"
|
|
7349
7982
|
};
|
|
7350
|
-
const
|
|
7983
|
+
const _hoisted_4$5 = {
|
|
7351
7984
|
key: 0,
|
|
7352
7985
|
class: "news-item-title-icon",
|
|
7353
|
-
src: "https://cdn.ddjf.com/static/images/
|
|
7986
|
+
src: "https://cdn.ddjf.com/static/images/fnfundkit/ic_msg_system_notice.png"
|
|
7354
7987
|
};
|
|
7355
|
-
const
|
|
7988
|
+
const _hoisted_5$4 = { class: "news-item-time" };
|
|
7356
7989
|
var script$e = /* @__PURE__ */ defineComponent({
|
|
7357
7990
|
__name: "NoticeList2",
|
|
7358
7991
|
props: {
|
|
@@ -7363,9 +7996,28 @@ var script$e = /* @__PURE__ */ defineComponent({
|
|
|
7363
7996
|
emits: ["itemClick"],
|
|
7364
7997
|
setup(__props, { expose: __expose, emit: __emit }) {
|
|
7365
7998
|
const props = __props;
|
|
7999
|
+
const tabList = ref([
|
|
8000
|
+
{
|
|
8001
|
+
label: "\u5168\u90E8",
|
|
8002
|
+
value: "\u5168\u90E8"
|
|
8003
|
+
},
|
|
8004
|
+
{
|
|
8005
|
+
label: "\u4E1A\u52A1\u6D88\u606F",
|
|
8006
|
+
value: "\u4E1A\u52A1\u6D88\u606F"
|
|
8007
|
+
},
|
|
8008
|
+
{
|
|
8009
|
+
label: "\u7CFB\u7EDF\u516C\u544A",
|
|
8010
|
+
value: "\u7CFB\u7EDF\u516C\u544A"
|
|
8011
|
+
},
|
|
8012
|
+
{
|
|
8013
|
+
label: "\u672A\u8BFB",
|
|
8014
|
+
value: "\u672A\u8BFB"
|
|
8015
|
+
}
|
|
8016
|
+
]);
|
|
7366
8017
|
const $http = useHttp$1(), \u663E\u793A\u9AA8\u67B6\u5C4F = ref(true);
|
|
7367
8018
|
useDidShow(() => {
|
|
7368
8019
|
nextPage(1);
|
|
8020
|
+
getNotice();
|
|
7369
8021
|
});
|
|
7370
8022
|
const state = reactive({
|
|
7371
8023
|
search: "",
|
|
@@ -7418,6 +8070,7 @@ var script$e = /* @__PURE__ */ defineComponent({
|
|
|
7418
8070
|
}
|
|
7419
8071
|
function itemClick(item) {
|
|
7420
8072
|
read(item);
|
|
8073
|
+
getNotice();
|
|
7421
8074
|
emits("itemClick", item);
|
|
7422
8075
|
}
|
|
7423
8076
|
function read(item) {
|
|
@@ -7430,7 +8083,8 @@ var script$e = /* @__PURE__ */ defineComponent({
|
|
|
7430
8083
|
async function readAll() {
|
|
7431
8084
|
try {
|
|
7432
8085
|
showLoading({
|
|
7433
|
-
title: "\u8BF7\u7A0D\u540E..."
|
|
8086
|
+
title: "\u8BF7\u7A0D\u540E...",
|
|
8087
|
+
mask: true
|
|
7434
8088
|
});
|
|
7435
8089
|
const appkitOptions = useAppKitOptions();
|
|
7436
8090
|
const ep = endpoints["\u5168\u90E8\u5DF2\u8BFB"];
|
|
@@ -7445,9 +8099,26 @@ var script$e = /* @__PURE__ */ defineComponent({
|
|
|
7445
8099
|
});
|
|
7446
8100
|
});
|
|
7447
8101
|
} finally {
|
|
8102
|
+
setTimeout(() => {
|
|
8103
|
+
getNotice();
|
|
8104
|
+
}, 300);
|
|
7448
8105
|
hideLoading();
|
|
7449
8106
|
}
|
|
7450
8107
|
}
|
|
8108
|
+
const noticeShow = ref(false);
|
|
8109
|
+
async function getNotice() {
|
|
8110
|
+
const appkitOptions = useAppKitOptions();
|
|
8111
|
+
const $http2 = useHttp$1();
|
|
8112
|
+
$http2.get("/cas/msg/count-unread", {
|
|
8113
|
+
deviceType: 2,
|
|
8114
|
+
appCode: props.app,
|
|
8115
|
+
tenantId: appkitOptions.tenant(),
|
|
8116
|
+
userId: props.userId
|
|
8117
|
+
}).then((result) => {
|
|
8118
|
+
if (typeof result === "object") return;
|
|
8119
|
+
noticeShow.value = result > 0;
|
|
8120
|
+
});
|
|
8121
|
+
}
|
|
7451
8122
|
const emits = __emit;
|
|
7452
8123
|
__expose({
|
|
7453
8124
|
readAll
|
|
@@ -7463,7 +8134,7 @@ var script$e = /* @__PURE__ */ defineComponent({
|
|
|
7463
8134
|
class: normalizeClass(["tabContainer", { inH5: unref(isWeb)() }])
|
|
7464
8135
|
},
|
|
7465
8136
|
[
|
|
7466
|
-
createCommentVNode(' <ns-
|
|
8137
|
+
createCommentVNode(' <ns-tabs\n v-model="state.tab"\n fill="#fff"\n square\n size="xl"\n style="height: 46px"\n @change="onTabChange"\n >\n <ns-tabs-item key="\u5168\u90E8" tab="\u5168\u90E8"></ns-tabs-item>\n <ns-tabs-item key="\u4E1A\u52A1\u6D88\u606F" tab="\u4E1A\u52A1\u6D88\u606F"></ns-tabs-item>\n <ns-tabs-item key="\u7CFB\u7EDF\u516C\u544A" tab="\u7CFB\u7EDF\u516C\u544A"></ns-tabs-item>\n <ns-tabs-item key="\u672A\u8BFB" tab="\u672A\u8BFB"></ns-tabs-item>\n </ns-tabs> '),
|
|
7467
8138
|
createVNode(unref(NsTabs), {
|
|
7468
8139
|
modelValue: state.tab,
|
|
7469
8140
|
"onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => state.tab = $event),
|
|
@@ -7471,30 +8142,50 @@ var script$e = /* @__PURE__ */ defineComponent({
|
|
|
7471
8142
|
square: "",
|
|
7472
8143
|
size: "xl",
|
|
7473
8144
|
style: { "height": "46px" },
|
|
7474
|
-
|
|
8145
|
+
class: "news-tab",
|
|
8146
|
+
items: tabList.value
|
|
7475
8147
|
}, {
|
|
7476
|
-
|
|
7477
|
-
|
|
7478
|
-
|
|
7479
|
-
|
|
7480
|
-
|
|
7481
|
-
|
|
7482
|
-
|
|
7483
|
-
|
|
7484
|
-
|
|
7485
|
-
|
|
7486
|
-
|
|
7487
|
-
|
|
7488
|
-
|
|
7489
|
-
|
|
7490
|
-
|
|
7491
|
-
|
|
7492
|
-
|
|
8148
|
+
titles: withCtx(() => [
|
|
8149
|
+
(openBlock(true), createElementBlock(
|
|
8150
|
+
Fragment,
|
|
8151
|
+
null,
|
|
8152
|
+
renderList(tabList.value, (item) => {
|
|
8153
|
+
return openBlock(), createElementBlock("div", {
|
|
8154
|
+
class: normalizeClass([{ customLine: state.tab === item.value }, "nut-tabs__titles-item custom-tab-item"]),
|
|
8155
|
+
key: item.value,
|
|
8156
|
+
onClick: ($event) => {
|
|
8157
|
+
state.tab = item.value;
|
|
8158
|
+
onTabChange();
|
|
8159
|
+
}
|
|
8160
|
+
}, [
|
|
8161
|
+
createElementVNode(
|
|
8162
|
+
"div",
|
|
8163
|
+
{
|
|
8164
|
+
class: normalizeClass(["custom-title", { active: state.tab === item.value }])
|
|
8165
|
+
},
|
|
8166
|
+
[
|
|
8167
|
+
createElementVNode(
|
|
8168
|
+
"div",
|
|
8169
|
+
null,
|
|
8170
|
+
toDisplayString(item.label),
|
|
8171
|
+
1
|
|
8172
|
+
/* TEXT */
|
|
8173
|
+
),
|
|
8174
|
+
item.value === "\u672A\u8BFB" && noticeShow.value ? (openBlock(), createElementBlock("div", _hoisted_2$9, " \u2022\u2022\u2022 ")) : createCommentVNode("v-if", true)
|
|
8175
|
+
],
|
|
8176
|
+
2
|
|
8177
|
+
/* CLASS */
|
|
8178
|
+
)
|
|
8179
|
+
], 10, _hoisted_1$d);
|
|
8180
|
+
}),
|
|
8181
|
+
128
|
|
8182
|
+
/* KEYED_FRAGMENT */
|
|
8183
|
+
))
|
|
7493
8184
|
]),
|
|
7494
8185
|
_: 1
|
|
7495
8186
|
/* STABLE */
|
|
7496
|
-
}, 8, ["modelValue"]),
|
|
7497
|
-
state.list.length > 0 ? (openBlock(), createElementBlock("div",
|
|
8187
|
+
}, 8, ["modelValue", "items"]),
|
|
8188
|
+
state.list.length > 0 ? (openBlock(), createElementBlock("div", _hoisted_3$6, [
|
|
7498
8189
|
withDirectives((openBlock(), createElementBlock("div", {
|
|
7499
8190
|
class: "btn",
|
|
7500
8191
|
onClick: readAll
|
|
@@ -7551,7 +8242,7 @@ var script$e = /* @__PURE__ */ defineComponent({
|
|
|
7551
8242
|
class: "news-item-title"
|
|
7552
8243
|
},
|
|
7553
8244
|
[
|
|
7554
|
-
item.\u662F\u516C\u544A ? (openBlock(), createElementBlock("img",
|
|
8245
|
+
item.\u662F\u516C\u544A ? (openBlock(), createElementBlock("img", _hoisted_4$5)) : createCommentVNode("v-if", true),
|
|
7555
8246
|
createTextVNode(
|
|
7556
8247
|
" " + toDisplayString(item.\u6807\u9898),
|
|
7557
8248
|
1
|
|
@@ -7572,7 +8263,7 @@ var script$e = /* @__PURE__ */ defineComponent({
|
|
|
7572
8263
|
}, null, 8, ["style", "content"]),
|
|
7573
8264
|
createElementVNode(
|
|
7574
8265
|
"div",
|
|
7575
|
-
|
|
8266
|
+
_hoisted_5$4,
|
|
7576
8267
|
toDisplayString(item.\u65F6\u95F4),
|
|
7577
8268
|
1
|
|
7578
8269
|
/* TEXT */
|
|
@@ -7853,7 +8544,7 @@ function useHttp() {
|
|
|
7853
8544
|
const headers = {
|
|
7854
8545
|
Token: appkitOptions.tempToken() || appkitOptions.token(),
|
|
7855
8546
|
Appcode: appkitOptions.app(),
|
|
7856
|
-
|
|
8547
|
+
tid: appkitOptions.tenant(),
|
|
7857
8548
|
gray: appkitOptions.gray ? appkitOptions.gray() : "0"
|
|
7858
8549
|
};
|
|
7859
8550
|
const $http = createHttp({
|
|
@@ -8029,7 +8720,8 @@ var script$b = /* @__PURE__ */ defineComponent({
|
|
|
8029
8720
|
}
|
|
8030
8721
|
async function updateImage(filePath) {
|
|
8031
8722
|
showLoading({
|
|
8032
|
-
title: "\u4E0A\u4F20\u4E2D..."
|
|
8723
|
+
title: "\u4E0A\u4F20\u4E2D...",
|
|
8724
|
+
mask: true
|
|
8033
8725
|
});
|
|
8034
8726
|
const appkitOptions = useAppKitOptions();
|
|
8035
8727
|
const $http = useHttp();
|
|
@@ -8142,6 +8834,7 @@ var script$b = /* @__PURE__ */ defineComponent({
|
|
|
8142
8834
|
title: "\u63D0\u793A",
|
|
8143
8835
|
content: "\u786E\u5B9A\u8981\u9000\u51FA\u767B\u5F55\u5417\uFF1F",
|
|
8144
8836
|
confirmText: "\u786E\u5B9A",
|
|
8837
|
+
confirmColor: "#017fff",
|
|
8145
8838
|
success: async (e) => {
|
|
8146
8839
|
if (e.confirm) {
|
|
8147
8840
|
emits("logout");
|
|
@@ -10005,7 +10698,8 @@ var script$6 = /* @__PURE__ */ defineComponent({
|
|
|
10005
10698
|
const $http = useHttp();
|
|
10006
10699
|
const appkitOptions = useAppKitOptions();
|
|
10007
10700
|
showLoading({
|
|
10008
|
-
title: "\u53CD\u9988\u4E2D..."
|
|
10701
|
+
title: "\u53CD\u9988\u4E2D...",
|
|
10702
|
+
mask: true
|
|
10009
10703
|
});
|
|
10010
10704
|
const attachment = JSON.parse(
|
|
10011
10705
|
JSON.stringify(
|
|
@@ -10715,8 +11409,9 @@ var script$2 = /* @__PURE__ */ defineComponent({
|
|
|
10715
11409
|
rules: ["required"]
|
|
10716
11410
|
}, {
|
|
10717
11411
|
append: withCtx(() => [
|
|
10718
|
-
!\u5DF2\u8BA4\u8BC1.value ? (openBlock(), createBlock(unref(script$
|
|
11412
|
+
!\u5DF2\u8BA4\u8BC1.value ? (openBlock(), createBlock(unref(script$I), {
|
|
10719
11413
|
key: 0,
|
|
11414
|
+
"has-upload-vo": false,
|
|
10720
11415
|
onComplete: onOcrComplete
|
|
10721
11416
|
})) : createCommentVNode("v-if", true)
|
|
10722
11417
|
]),
|
|
@@ -11325,4 +12020,4 @@ const AppKit = {
|
|
|
11325
12020
|
}
|
|
11326
12021
|
};
|
|
11327
12022
|
|
|
11328
|
-
export { script$t as AccountView, script$
|
|
12023
|
+
export { script$t as AccountView, script$O as AmountPicker, script$M as AppDrawer, script$L as AppVerify, script$z as BalanceCard, script$s as BalanceReminder, script$r as DateRange, script$J as DeviceVersion, script$p as ListFilter, script$4 as LoginSetting, script$i as NoticeBanner, script$h as NoticeEntry, script$f as NoticeList, script$e as NoticeList2, script$H as OcrBank, script$G as OcrBusinessLicense, script$I as OcrIcon, script$F as OcrInvoice, script$N as PageHeader, script$o as PromoterCard, script$C as RechargeResult, script$E as RechargeView, script$k as SelfRegistration, script as SharePoster, script$A as TradeView, script$D as UserAgreement, script$2 as UserAuth, script$a as UserBinding, script$9 as UserBindingSuccess, script$d as UserEntry, script$6 as UserFeedback, script$5 as UserFeedbackEntry, script$7 as UserHeadCrop, script$b as UserInfo, script$3 as UserResourceEmpty, components, compressImage, compressImageWithCanvas, createHttp, AppKit as default, defaultCryptoConfig, generateUniqueId, getCompressQuality, getSdkConfig, initTracking, installTrackingPlugin, jssdkServices, requestPayment$2 as requestPayment, requestWxH5Pay, services$1 as services, trackingSDK, useAppKit, useCountdown, useCrypto, useEncode, useLogger, usePageTracking, useSafeArea, useTabbar, useUpload, useValidator, useWxAuth };
|