@uxda/appkit 1.0.4 → 1.0.8

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/index.js CHANGED
@@ -1,1770 +1,1799 @@
1
- (function (global, factory) {
2
- typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('vue'), require('@tarojs/taro'), require('@nutui/nutui-taro')) :
3
- typeof define === 'function' && define.amd ? define(['exports', 'vue', '@tarojs/taro', '@nutui/nutui-taro'], factory) :
4
- (global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory((global.index = global.index || {}, global.index.ts = {}), global.vue, global.Taro, global.nutuiTaro));
5
- })(this, (function (exports, vue, Taro, nutuiTaro) { 'use strict';
1
+ import { defineComponent, reactive, resolveComponent, openBlock, createBlock, withCtx, createElementBlock, Fragment, renderList, normalizeClass, createElementVNode, toDisplayString, createStaticVNode, createCommentVNode, renderSlot, createVNode, ref, onMounted, createTextVNode, unref, computed, withDirectives, vShow } from 'vue';
2
+ import Taro, { usePageScroll } from '@tarojs/taro';
3
+ import { Grid, GridItem, Button, Checkbox, Popup, OverLay, Icon, DatePicker } from '@nutui/nutui-taro';
6
4
 
7
- const _hoisted_1$9 = { class: "token-line" };
8
- var script$a = /* @__PURE__ */ vue.defineComponent({
9
- __name: "AmountPicker",
10
- props: {
11
- items: { type: Array, required: true, default: () => [
12
- {
13
- token: 1e3,
14
- amount: 100
15
- }
16
- ] },
17
- selected: { type: Number, required: false, default: () => 0 }
18
- },
19
- setup(__props) {
20
- const state = vue.reactive({
21
- selected: 0
5
+ const _hoisted_1$9 = { class: "token-line" };
6
+ var script$a = /* @__PURE__ */ defineComponent({
7
+ __name: "AmountPicker",
8
+ props: {
9
+ items: { type: Array, required: true, default: () => [
10
+ {
11
+ token: 1e3,
12
+ amount: 100
13
+ }
14
+ ] },
15
+ selected: { type: Number, required: false, default: () => 0 }
16
+ },
17
+ setup(__props) {
18
+ const state = reactive({
19
+ selected: 0
20
+ });
21
+ const onGridItemClick = (index) => {
22
+ state.selected = index;
23
+ };
24
+ return (_ctx, _cache) => {
25
+ const _component_nut_grid_item = resolveComponent("nut-grid-item");
26
+ const _component_nut_grid = resolveComponent("nut-grid");
27
+ return openBlock(), createBlock(_component_nut_grid, {
28
+ class: "amounts-picker",
29
+ "column-num": 3,
30
+ gutter: 10,
31
+ border: false
32
+ }, {
33
+ default: withCtx(() => [
34
+ (openBlock(true), createElementBlock(
35
+ Fragment,
36
+ null,
37
+ renderList(_ctx.items, (amount, index) => {
38
+ return openBlock(), createBlock(_component_nut_grid_item, {
39
+ class: normalizeClass(["tile", { selected: state.selected === index }]),
40
+ onClick: () => onGridItemClick(index),
41
+ key: index
42
+ }, {
43
+ default: withCtx(() => [
44
+ createElementVNode(
45
+ "h4",
46
+ _hoisted_1$9,
47
+ toDisplayString(amount.token),
48
+ 1
49
+ /* TEXT */
50
+ ),
51
+ createElementVNode(
52
+ "h5",
53
+ null,
54
+ "\xA5" + toDisplayString(amount.amount),
55
+ 1
56
+ /* TEXT */
57
+ )
58
+ ]),
59
+ _: 2
60
+ /* DYNAMIC */
61
+ }, 1032, ["class", "onClick"]);
62
+ }),
63
+ 128
64
+ /* KEYED_FRAGMENT */
65
+ ))
66
+ ]),
67
+ _: 1
68
+ /* STABLE */
22
69
  });
23
- const onGridItemClick = (index) => {
24
- state.selected = index;
25
- };
26
- return (_ctx, _cache) => {
27
- const _component_nut_grid_item = vue.resolveComponent("nut-grid-item");
28
- const _component_nut_grid = vue.resolveComponent("nut-grid");
29
- return vue.openBlock(), vue.createBlock(_component_nut_grid, {
30
- class: "amounts-picker",
31
- "column-num": 3,
32
- gutter: 10,
33
- border: false
34
- }, {
35
- default: vue.withCtx(() => [
36
- (vue.openBlock(true), vue.createElementBlock(
37
- vue.Fragment,
38
- null,
39
- vue.renderList(_ctx.items, (amount, index) => {
40
- return vue.openBlock(), vue.createBlock(_component_nut_grid_item, {
41
- class: vue.normalizeClass(["tile", { selected: state.selected === index }]),
42
- onClick: () => onGridItemClick(index),
43
- key: index
44
- }, {
45
- default: vue.withCtx(() => [
46
- vue.createElementVNode(
47
- "h4",
48
- _hoisted_1$9,
49
- vue.toDisplayString(amount.token),
50
- 1
51
- /* TEXT */
52
- ),
53
- vue.createElementVNode(
54
- "h5",
55
- null,
56
- "\xA5" + vue.toDisplayString(amount.amount),
57
- 1
58
- /* TEXT */
59
- )
60
- ]),
61
- _: 2
62
- /* DYNAMIC */
63
- }, 1032, ["class", "onClick"]);
64
- }),
65
- 128
66
- /* KEYED_FRAGMENT */
67
- ))
68
- ]),
69
- _: 1
70
- /* STABLE */
71
- });
72
- };
73
- }
74
- });
70
+ };
71
+ }
72
+ });
75
73
 
76
- function styleInject(css, ref) {
77
- if ( ref === void 0 ) ref = {};
78
- var insertAt = ref.insertAt;
74
+ function styleInject(css, ref) {
75
+ if ( ref === void 0 ) ref = {};
76
+ var insertAt = ref.insertAt;
79
77
 
80
- if (!css || typeof document === 'undefined') { return; }
78
+ if (!css || typeof document === 'undefined') { return; }
81
79
 
82
- var head = document.head || document.getElementsByTagName('head')[0];
83
- var style = document.createElement('style');
84
- style.type = 'text/css';
80
+ var head = document.head || document.getElementsByTagName('head')[0];
81
+ var style = document.createElement('style');
82
+ style.type = 'text/css';
85
83
 
86
- if (insertAt === 'top') {
87
- if (head.firstChild) {
88
- head.insertBefore(style, head.firstChild);
89
- } else {
90
- head.appendChild(style);
91
- }
84
+ if (insertAt === 'top') {
85
+ if (head.firstChild) {
86
+ head.insertBefore(style, head.firstChild);
92
87
  } else {
93
88
  head.appendChild(style);
94
89
  }
90
+ } else {
91
+ head.appendChild(style);
92
+ }
95
93
 
96
- if (style.styleSheet) {
97
- style.styleSheet.cssText = css;
98
- } else {
99
- style.appendChild(document.createTextNode(css));
100
- }
94
+ if (style.styleSheet) {
95
+ style.styleSheet.cssText = css;
96
+ } else {
97
+ style.appendChild(document.createTextNode(css));
101
98
  }
99
+ }
102
100
 
103
- var css_248z$b = ".amounts-picker .nut-grid-item__content {\n border-radius: 10px;\n border: 1px solid rgba(204, 204, 204, 0.8);\n background: #F5F5F5;\n}\n.amounts-picker .tile {\n height: 80px;\n}\n.amounts-picker .tile.selected .nut-grid-item__content {\n border-width: 2px;\n border-color: #EFD082;\n background: linear-gradient(180deg, #FFF7E3 0%, #FEFDE6 100%);\n}\n.amounts-picker h4 {\n color: #d00;\n font-size: 18px;\n}\n.amounts-picker h5 {\n font-size: 12px;\n}";
104
- styleInject(css_248z$b);
101
+ var css_248z$b = ".amounts-picker .nut-grid-item__content {\n border-radius: 10px;\n border: 1px solid rgba(204, 204, 204, 0.8);\n background: #F5F5F5;\n}\n.amounts-picker .tile {\n height: 80px;\n}\n.amounts-picker .tile.selected .nut-grid-item__content {\n border-width: 2px;\n border-color: #EFD082;\n background: linear-gradient(180deg, #FFF7E3 0%, #FEFDE6 100%);\n}\n.amounts-picker h4 {\n color: #d00;\n font-size: 18px;\n}\n.amounts-picker h5 {\n font-size: 12px;\n}";
102
+ styleInject(css_248z$b);
105
103
 
106
- var css_248z$a = ".amounts-picker {\n padding-top: 10px;\n}\n.amounts-picker .nut-grid-item__content {\n border-radius: 8px;\n}\n.amounts-picker h4.token-line {\n background-image: url(\"https://cdn.ddjf.com/static/images/appkit/yundou.png\");\n background-size: 20px;\n background-repeat: no-repeat;\n background-position: left center;\n padding-left: 24px;\n color: #FD6701;\n font-size: 18px;\n font-weight: 600;\n line-height: 25px;\n}\n.amounts-picker h5 {\n font-size: 14px;\n line-height: 18px;\n color: #353535;\n font-weight: 600;\n opacity: 0.6;\n margin-top: 4px;\n}";
107
- styleInject(css_248z$a);
104
+ var css_248z$a = ".amounts-picker {\n padding-top: 10px;\n}\n.amounts-picker .nut-grid-item__content {\n border-radius: 8px;\n}\n.amounts-picker h4.token-line {\n background-image: url(\"https://cdn.ddjf.com/static/images/appkit/yundou.png\");\n background-size: 20px;\n background-repeat: no-repeat;\n background-position: left center;\n padding-left: 24px;\n color: #FD6701;\n font-size: 18px;\n font-weight: 600;\n line-height: 25px;\n}\n.amounts-picker h5 {\n font-size: 14px;\n line-height: 18px;\n color: #353535;\n font-weight: 600;\n opacity: 0.6;\n margin-top: 4px;\n}";
105
+ styleInject(css_248z$a);
108
106
 
109
- script$a.__file = "src/payment/components/AmountPicker.vue";
107
+ script$a.__file = "src/payment/components/AmountPicker.vue";
110
108
 
111
- const _hoisted_1$8 = { class: "agreement-doc" };
112
- const _hoisted_2$7 = /* @__PURE__ */ vue.createStaticVNode("<h1>\u5927\u9053\u4E91\u5E73\u53F0\u4E91\u8C46\u5145\u503C\u670D\u52A1\u534F\u8BAE</h1><p>2023-12-01</p><p>\xA0</p><p>\u6B22\u8FCE\u60A8\u4F7F\u7528\u5927\u9053\u4E91\u5E73\u53F0\u4E91\u8C46\u5145\u503C\u670D\u52A1\uFF01</p><h2>\u3010\u63D0\u793A\u6761\u6B3E\u3011</h2><p>\u6B22\u8FCE\u60A8\u4E0E\u5927\u9053\u4E91\u5E73\u53F0\u670D\u52A1\u63D0\u4F9B\u8005\u7B7E\u7F72\u300A\u5927\u9053\u4E91\u5E73\u53F0\u4E91\u8C46\u5145\u503C\u670D\u52A1\u534F\u8BAE\u300B\uFF08\u4EE5\u4E0B\u7B80\u79F0\u201C\u672C\u534F\u8BAE\u201D\uFF09\u5E76\u4F7F\u7528\u5927\u9053\u4E91\u5E73\u53F0\u4E91\u8C46\u503C\u670D\u52A1\uFF01\u60A8\u7406\u89E3\u548C\u540C\u610F\u672C\u534F\u8BAE\u7CFB\u6839\u636E\u300A\u7528\u6237\u6CE8\u518C\u534F\u8BAE\u300B\u7B49\u534F\u8BAE\u5236\u5B9A\uFF0C\u672C\u534F\u8BAE\u4E3A\u524D\u8FF0\u534F\u8BAE\u4E0D\u53EF\u5206\u5272\u7684\u4E00\u90E8\u5206\uFF0C\u672C\u534F\u8BAE\u672A\u89C4\u5B9A\u7684\uFF0C\u9002\u7528\u300A\u7528\u6237\u6CE8\u518C\u534F\u8BAE\u300B\u7B49\u534F\u8BAE\u4E2D\u7684\u76F8\u5173\u7EA6\u5B9A\u3002</p><p>\xA0</p><p><h2>\u3010\u5BA1\u614E\u9605\u8BFB\u3011</h2></p><p>\u5728\u4F7F\u7528\u672C\u670D\u52A1\u524D\uFF0C\u8BF7\u60A8\u52A1\u5FC5\u5BA1\u614E\u9605\u8BFB\u3001\u5145\u5206\u7406\u89E3\u5404\u6761\u6B3E\u5185\u5BB9\uFF0C\u7279\u522B\u662F\u514D\u9664\u6216\u9650\u5236\u8D23\u4EFB\u7684\u76F8\u5E94\u6761\u6B3E\uFF0C\u4EE5\u53CA\u5F00\u901A\u6216\u4F7F\u7528\u67D0\u9879\u670D\u52A1\u7684\u5355\u72EC\u534F\u8BAE\uFF0C\u60A8\u4F7F\u7528\u6B64\u670D\u52A1\u5373\u8868\u793A\u60A8\u63A5\u53D7\u672C\u534F\u8BAE\u3002\u9650\u5236\u6216\u514D\u9664\u8D23\u4EFB\u6761\u6B3E\u53EF\u80FD\u4EE5\u52A0\u7C97\u5F62\u5F0F\u63D0\u793A\u60A8\u6CE8\u610F\u3002</p><p>\xA0</p><p>\u3010\u7279\u522B\u63D0\u793A\u3011</p><p>\u5145\u503C\u7528\u6237\u786E\u8BA4\uFF0C\u81EA\u5DF1\u4E3A\u5E74\u6EE118\u5468\u5C81\u4E14\u5177\u6709\u5B8C\u5168\u6C11\u4E8B\u884C\u4E3A\u80FD\u529B\u7684\u6210\u5E74\u4EBA\uFF0C\u9664\u975E\u60A8\u5DF2\u9605\u8BFB\u5E76\u63A5\u53D7\u672C\u534F\u8BAE\u6240\u6709\u6761\u6B3E\uFF0C\u5426\u5219\u60A8\u65E0\u6743\u4F7F\u7528\u5927\u9053\u4E91\u5E73\u53F0\u5145\u503C\u670D\u52A1\uFF08\u4EE5\u4E0B\u7B80\u79F0\u201C\u672C\u670D\u52A1\u201D\uFF09\u3002\u60A8\u5BF9\u672C\u670D\u52A1\u7684\u4EFB\u4F55\u8D2D\u4E70\u3001\u767B\u5F55\u3001\u67E5\u770B\u7B49\u4F7F\u7528\u884C\u4E3A\u5373\u89C6\u4E3A\u60A8\u5DF2\u9605\u8BFB\u5E76\u540C\u610F\u672C\u534F\u8BAE\u7684\u7EA6\u675F\u3002</p><p>\xA0</p><p>\u4E00\u3001\u534F\u8BAE\u7684\u8303\u56F4</p><p>\xA0</p><p>1.1\u3010\u534F\u8BAE\u9002\u7528\u4E3B\u4F53\u8303\u56F4\u3011</p><p>\u672C\u534F\u8BAE\u662F\u60A8\u4E0E\u5927\u9053\u4E91\u5E73\u53F0\u4E4B\u95F4\u5173\u4E8E\u60A8\u4F7F\u7528\u672C\u670D\u52A1\u6240\u8BA2\u7ACB\u7684\u534F\u8BAE\u3002</p><p>\xA0</p><p>1.2\u3010\u670D\u52A1\u5185\u5BB9\u3011</p><p>\u672C\u534F\u8BAE\u9879\u4E0B\u7684\u670D\u52A1\u662F\u6307\u5927\u9053\u4E91\u5E73\u53F0\u5411\u7528\u6237\u63D0\u4F9B\u7684\u4E91\u8C46\u5145\u503C\u670D\u52A1\uFF08\u4EE5\u4E0B\u7B80\u79F0\u201C\u672C\u670D\u52A1\u201D\uFF09\u3002\u672C\u534F\u8BAE\u5185\u5BB9\u540C\u65F6\u5305\u62EC\u5927\u9053\u4E91\u5E73\u53F0\u53EF\u80FD\u4E0D\u65AD\u53D1\u5E03\u7684\u5173\u4E8E\u672C\u670D\u52A1\u7684\u76F8\u5173\u534F\u8BAE\u3001\u4E1A\u52A1\u89C4\u5219\u7B49\u5185\u5BB9\u3002\u4E0A\u8FF0\u5185\u5BB9\u4E00\u7ECF\u6B63\u5F0F\u53D1\u5E03\uFF0C\u5373\u4E3A\u672C\u534F\u8BAE\u4E0D\u53EF\u5206\u5272\u7684\u7EC4\u6210\u90E8\u5206\uFF0C\u60A8\u540C\u6837\u5E94\u5F53\u9075\u5B88\u3002</p><p>\xA0</p><p>\xA0</p><p>\u4E8C\u3001\u540D\u8BCD\u5B9A\u4E49</p><p>\xA0</p><p>2.1\u3010\u4E91\u8C46\u3011</p><p>2.1.1 \u4E91\u8C46\u7CFB\u5927\u9053\u4E91\u5E73\u53F0\u4E3A\u7528\u6237\u63D0\u4F9B\u7684\u6570\u5B57\u5316\u5546\u54C1\uFF0C\u7528\u4E8E\u5927\u9053\u4E91\u5E73\u53F0\u4E0A\u7684\u4EA7\u54C1\u6743\u76CA\u4F7F\u7528\u62B5\u6263\u3002</p><p>2.1.2 \u4E91\u8C46\u5C5E\u4E8E\u5728\u7EBF\u4EA4\u4ED8\u7684\u6570\u5B57\u5316\u5546\u54C1\uFF0C\u4E91\u8C46\u7684\u8D2D\u4E70\u8D39\u7528\u7CFB\u6570\u5B57\u5316\u5546\u54C1\u4EF7\u683C\uFF0C\u800C\u4E0D\u5177\u6709\u9884\u4ED8\u6B3E\u6027\u8D28\u6216\u8005\u5B9A\u91D1\u3001\u50A8\u503C\u7B49\u6027\u8D28\uFF0C\u4E91\u8C46\u8D2D\u4E70\u6210\u529F\u540E\u4E0D\u53EF\u8F6C\u8BA9\u6216\u8005\u9006\u5411\u5151\u6362\u4E3A\u4EBA\u6C11\u5E01\u6216\u5176\u4ED6\u8D27\u5E01\u3002</p><p>2.1.3 \u4E91\u8C46\u4EC5\u9650\u4E8E\u7528\u6237\u81EA\u5DF1\u8D26\u53F7\u5728\u5927\u9053\u4E91\u5E73\u53F0\u4F7F\u7528\uFF0C\u4E0D\u5F97\u4EE5\u76C8\u5229\u7B49\u975E\u4E2A\u4EBA\u4F7F\u7528\u76EE\u7684\u4F7F\u7528\u4E91\u8C46\uFF0C\u6216\u901A\u8FC7\u8D60\u4E0E\u3001\u51FA\u501F\u3001\u8F6C\u8BA9\u3001\u9500\u552E\u3001\u62B5\u62BC\u3001\u8BB8\u53EF\u4ED6\u4EBA\u4F7F\u7528\u7B49\u65B9\u5F0F\u83B7\u53D6\u6216\u5904\u7F6E\u4E91\u8C46\u3002</p><p>2.1.4 \u4EBA\u6C11\u5E01\u548C\u4E91\u8C46\u5151\u6362\u7684\u6BD4\u4F8B\u4E3A1:10\uFF08\u53731\u5143\u4EBA\u6C11\u5E01=10\u4E91\u8C46\uFF09\uFF0C\u4E91\u8C46\u5728\u4EFB\u4F55\u60C5\u51B5\u4E0B\u90FD\u4E0D\u5177\u6709\u6CD5\u5B9A\u8D27\u5E01\u7684\u6D41\u8F6C\u53CA\u652F\u4ED8\u529F\u80FD\uFF0C\u4E0D\u5F97\u53CD\u5411\u5151\u6362\u4E3A\u4EBA\u6C11\u5E01\u6216\u5176\u4ED6\u6CD5\u5B9A\u8D27\u5E01\u3001\u5B9E\u7269\u548C\u5176\u4ED6\u865A\u62DF\u8D27\u5E01\uFF0C\u8BF7\u60A8\u6839\u636E\u5B9E\u9645\u9700\u6C42\u8D2D\u4E70\u76F8\u5E94\u6570\u91CF\u7684\u4E91\u8C46\u3002</p><p>2.2\u3010\u5927\u9053\u4E91\u5E73\u53F0\u3011</p><p>\u6307\u7531\u5927\u9053\u4E91\u5E73\u53F0\u6240\u62E5\u6709\u3001\u63A7\u5236\u3001\u7ECF\u8425\u7684\u5927\u9053\u4E91\u5FAE\u4FE1\u5C0F\u7A0B\u5E8F\u3001\u8702\u9E1F\u6C47\u4E91\u5FAE\u4FE1\u5C0F\u7A0B\u5E8F\u3001\u8702\u9E1F\u5C45\u95F4\u7CFB\u7EDF\u3001\u8702\u9E1F\u5468\u8F6C\u7CFB\u7EDF\u3002</p><p>\xA0</p><p>\u4E09\u3001\u6743\u5229\u4E49\u52A1</p><p>\xA0</p><p>3.1.1\u60A8\u627F\u8BFA\u5177\u5907\u4F7F\u7528\u672C\u670D\u52A1\u6240\u5FC5\u9700\u7684\u6C11\u4E8B\u80FD\u529B\u548C\u5408\u6CD5\u8D44\u683C\uFF0C\u6709\u6743\u4E14\u6709\u80FD\u529B\u540C\u610F\u672C\u534F\u8BAE\u53CA\u76F8\u5173\u534F\u8BAE\u7684\u5168\u90E8\u5185\u5BB9\u3002</p><p>3.1.2 \u60A8\u5E94\u59A5\u5584\u4FDD\u7BA1\u5927\u9053\u4E91\u5E73\u53F0\u8D26\u53F7\u7684\u7528\u6237\u540D\u53CA\u5176\u5BC6\u7801\uFF0C\u5E76\u5BF9\u8BE5\u8D26\u53F7\u4E0B\u7684\u4E00\u5207\u64CD\u4F5C\u884C\u4E3A\u8D1F\u8D23\u3002\u5982\u60A8\u7684\u5927\u9053\u4E91\u8D26\u53F7\u5B58\u5728\u5F02\u5E38\u60C5\u5F62\uFF0C\u60A8\u53EF\u4EE5\u8054\u7CFB\u5BA2\u670D\u6302\u5931\u6216\u51BB\u7ED3\u60A8\u7684\u8D26\u6237\u3002\u6B64\u65F6\uFF0C\u5927\u9053\u4E91\u5E73\u53F0\u9700\u8981\u60A8\u63D0\u4F9B\u5927\u9053\u4E91\u8D26\u53F7\u7684\u6CE8\u518C\u4FE1\u606F\u4EE5\u5B8C\u6210\u8EAB\u4EFD\u6838\u9A8C\u3002\u60A8\u7406\u89E3\u5E76\u786E\u8BA4\uFF0C\u7531\u4E8E\u6280\u672F\u5C40\u9650\uFF0C\u5927\u9053\u4E91\u5E73\u53F0\u65E0\u6CD5\u4FDD\u8BC1\u8EAB\u4EFD\u6838\u9A8C\u7684\u51C6\u786E\u6027\u548C\u771F\u5B9E\u6027\u3002</p><p>3.1.3 \u60A8\u627F\u8BFA\u4E0D\u5F97\u901A\u8FC7\u975E\u5927\u9053\u4E91\u5E73\u53F0\u6307\u5B9A\u9014\u5F84\u6216\u4EFB\u4F55\u8FDD\u53CD\u76F8\u5173\u6CD5\u89C4\u3001\u8FDD\u53CD\u672C\u534F\u8BAE\u3001\u4E0D\u6B63\u5F53\u624B\u6BB5\u7B49\u8D2D\u4E70\u4E91\u8C46\u3002</p><p>3.1.4\u5927\u9053\u4E91\u5E73\u53F0\u53EF\u80FD\u4F1A\u6839\u636E\u672C\u670D\u52A1\u7684\u6574\u4F53\u89C4\u5212\uFF0C\u5BF9\u672C\u670D\u52A1\u7684\u6536\u8D39\u6807\u51C6\u3001\u65B9\u5F0F\u7B49\u8FDB\u884C\u4FEE\u6539\u548C\u53D8\u66F4\uFF0C\u524D\u8FF0\u4FEE\u6539\u3001\u53D8\u66F4\uFF0C\u5927\u9053\u4E91\u5E73\u53F0\u5C06\u5728\u76F8\u5E94\u670D\u52A1\u9875\u9762\u8FDB\u884C\u901A\u77E5\u6216\u516C\u544A\u3002\u5982\u679C\u60A8\u4E0D\u540C\u610F\u4E0A\u8FF0\u4FEE\u6539\u3001\u53D8\u66F4\uFF0C\u5219\u5E94\u505C\u6B62\u4F7F\u7528\u672C\u670D\u52A1\u3002\u5426\u5219\uFF0C\u60A8\u7684\u4EFB\u4F55\u8D2D\u4E70\u3001\u767B\u5F55\u3001\u67E5\u770B\u7B49\u4F7F\u7528\u884C\u4E3A\uFF0C\u5373\u89C6\u4E3A\u60A8\u540C\u610F\u4E0A\u8FF0\u4FEE\u6539\u3001\u53D8\u66F4\u3002</p><p>3.1.5 \u5927\u9053\u4E91\u5E73\u53F0\u5728\u76EE\u524D\u6280\u672F\u6C34\u5E73\u4E0B\uFF0C\u6700\u5927\u7A0B\u5EA6\u5730\u4FDD\u969C\u672C\u529F\u80FD\u7684\u6B63\u5E38\u8FD0\u884C\uFF0C\u4EE5\u7EF4\u62A4\u4F60\u7684\u5229\u76CA\u3002\u5927\u9053\u4E91\u5E73\u53F0\u5BF9\u672C\u670D\u52A1\u4E0D\u4F5C\u4EFB\u4F55\u660E\u793A\u6216\u6697\u793A\u7684\u4FDD\u8BC1\uFF0C\u5305\u62EC\u4F46\u4E0D\u9650\u4E8E\u5BF9\u672C\u670D\u52A1\u7684\u53EF\u9002\u7528\u6027\u3001\u6301\u7EED\u6027\u7B49\u3002</p><p>\xA0</p><p>\u56DB\u3001\u4E91\u8C46\u4F7F\u7528\u89C4\u5219\u53CA\u7279\u522B\u7EA6\u5B9A</p><p>\xA0</p><p>4.1 \u5927\u9053\u4E91\u5E73\u53F0\u5411\u60A8\u63D0\u4F9B\u8D2D\u4E70\u3001\u7BA1\u7406\u4E91\u8C46\u6709\u5173\u7684\u7F51\u7EDC\u589E\u503C\u670D\u52A1\uFF0C\u5305\u62EC\u4F46\u4E0D\u9650\u4E8E\u4E91\u8C46\u7684\u8D2D\u4E70\u3001\u8D26\u6237\u7BA1\u7406\u9875\u9762\u3001\u4EA4\u6613\u660E\u7EC6\u67E5\u8BE2\u670D\u52A1\uFF08\u4EE5\u4E0B\u79F0\u201C\u4E91\u8C46\u670D\u52A1\u201D\uFF09\u3002\u4E91\u8C46\u670D\u52A1\u7684\u5177\u4F53\u5185\u5BB9\u8BF7\u4EE5\u76F8\u5173\u9875\u9762\u7684\u4FE1\u606F\u4E3A\u51C6\u3002\u60A8\u540C\u610F\u4EE5\u5927\u9053\u4E91\u5E73\u53F0\u7559\u5B58\u7684\u4EA4\u6613\u8BB0\u5F55\u4F5C\u4E3A\u4E91\u8C46\u8D2D\u4E70\u7684\u552F\u4E00\u6709\u6548\u4F9D\u636E\uFF0C\u5982\u60A8\u5BF9\u5927\u9053\u4E91\u5E73\u53F0\u7559\u5B58\u7684\u4EA4\u6613\u8BB0\u5F55\u6709\u5F02\u8BAE\uFF0C\u60A8\u5E94\u7ACB\u5373\u5411\u5927\u9053\u4E91\u5E73\u53F0\u63D0\u51FA\uFF0C\u5927\u9053\u4E91\u5E73\u53F0\u7ECF\u6838\u5BF9\u540E\u53D1\u73B0\u786E\u6709\u9519\u8BEF\u7684\uFF0C\u5C06\u4E88\u4EE5\u6539\u6B63\u3002</p><p>4.2.\u60A8\u5E94\u8BE5\u901A\u8FC7\u5927\u9053\u4E91\u5E73\u53F0\u5B98\u65B9\u6307\u5B9A\u7684\u5305\u62EC\u4F46\u4E0D\u9650\u4E8E\u652F\u4ED8\u5B9D\u3001\u8D22\u4ED8\u901A\u7B49\u65B9\u5F0F\u4F9D\u7EA6\u652F\u4ED8\u4E00\u5B9A\u8D39\u7528\u540E\u8D2D\u4E70\u4E91\u8C46\u3002</p><p>4.3 \u60A8\u5FC5\u987B\u4E3A\u7ED1\u5B9A\u7684\u652F\u4ED8\u6E20\u9053\u8D26\u6237\u5F00\u6237\u4EBA/\u6301\u6709\u4EBA\uFF0C\u53EF\u5408\u6CD5\u3001\u6709\u6548\u4F7F\u7528\u8BE5\u8D26\u6237\u4E14\u672A\u4FB5\u72AF\u4EFB\u4F55\u7B2C\u4E09\u65B9\u6743\u76CA\uFF0C\u5426\u5219\u56E0\u6B64\u9020\u6210\u652F\u4ED8\u8D26\u6237\u5B9E\u9645\u6240\u6709\u4EBA\u635F\u5931\u7684\uFF0C\u5E94\u7531\u60A8\u5355\u72EC\u8D1F\u8D23\u89E3\u51B3\u7531\u6B64\u4EA7\u751F\u7684\u7EA0\u7EB7\u5E76\u627F\u62C5\u5168\u90E8\u6CD5\u5F8B\u8D23\u4EFB\u3002</p><p>4.4 \u60A8\u5E94\u5728\u8D2D\u4E70\u4E91\u8C46\u65F6\u4ED4\u7EC6\u786E\u8BA4\u8D26\u53F7\u3001\u652F\u4ED8\u8D26\u6237\u3001\u8D2D\u4E70\u6570\u91CF\u3001\u8D2D\u4E70\u8D39\u7528\u7B49\u4EA4\u6613\u4FE1\u606F\u51C6\u786E\u65E0\u8BEF\uFF0C\u5982\u56E0\u60A8\u81EA\u8EAB\u539F\u56E0\uFF08\u5305\u62EC\u4F46\u4E0D\u9650\u4E8E\u8D26\u53F7\u9519\u8BEF\u3001\u652F\u4ED8\u8D26\u6237\u9519\u8BEF\u3001\u64CD\u4F5C\u4E0D\u5F53\u3001\u8D26\u53F7/\u652F\u4ED8\u8D26\u6237\u5B58\u5728\u5F02\u5E38\u60C5\u51B5\u7B49\uFF09\u5BFC\u81F4\u7684\u4EFB\u4F55\u635F\u5931\u5E94\u7531\u60A8\u81EA\u884C\u627F\u62C5\u3002</p><p>4.5 \u5927\u9053\u4E91\u5E73\u53F0\u6709\u6743\u51B3\u5B9A\u4E91\u8C46\u5982\u4F55\u88AB\u4F7F\u7528\uFF08\u5305\u62EC\u5151\u6362\u865A\u62DF\u5546\u54C1\u7B49\u4E8E\u5927\u9053\u4E91\u5E73\u53F0\u4E0A\u4F7F\u7528\u7684\u4EA7\u54C1\u6216\u670D\u52A1\uFF09\u3002</p><p>\xA0</p><p>\u4E94\u3001\u884C\u4E3A\u89C4\u8303</p><p>\xA0</p><p>5.1\u3010\u7528\u6237\u7981\u6B62\u884C\u4E3A\u3011</p><p>\u672C\u670D\u52A1\u4EC5\u4F9B\u60A8\u4E2A\u4EBA\u4F7F\u7528\uFF0C\u9664\u975E\u7ECF\u5927\u9053\u4E91\u5E73\u53F0\u4E66\u9762\u8BB8\u53EF\uFF0C\u60A8\u4E0D\u5F97\u8FDB\u884C\u4EE5\u4E0B\u884C\u4E3A\uFF1A</p><p>5.1.1 \u5C06\u672C\u670D\u52A1\u8F6C\u8BA9\u8BB8\u53EF\u4ED6\u4EBA\u4F7F\u7528\uFF1B</p><p>5.1.2 \u5176\u4ED6\u672A\u7ECF\u5927\u9053\u4E91\u5E73\u53F0\u4E66\u9762\u8BB8\u53EF\u7684\u884C\u4E3A\u3002</p><p>5.2\u3010\u884C\u4E3A\u8D23\u4EFB\u3011</p><p>\u60A8\u5145\u5206\u4E86\u89E3\u5E76\u540C\u610F\uFF0C\u60A8\u7528\u4EE5\u53C2\u4E0E\u672C\u670D\u52A1\u7684\u5927\u9053\u4E91\u8D26\u53F7\u7531\u60A8\u72EC\u7ACB\u7EF4\u62A4\u3001\u4F7F\u7528\u5E76\u72EC\u7ACB\u627F\u62C5\u5168\u90E8\u8D23\u4EFB\uFF0C\u5927\u9053\u4E91\u5E73\u53F0\u4E0D\u4F1A\u3001\u4E5F\u4E0D\u53EF\u80FD\u53C2\u4E0E\u8BE5\u8D26\u53F7\u7684\u4F7F\u7528\u7B49\u4EFB\u4F55\u6D3B\u52A8\u3002\u60A8\u5E94\u5BF9\u672C\u670D\u52A1\u4E2D\u7684\u5185\u5BB9\u81EA\u884C\u52A0\u4EE5\u5224\u65AD\uFF0C\u5E76\u627F\u62C5\u56E0\u4F7F\u7528\u5185\u5BB9\u800C\u5F15\u8D77\u7684\u6240\u6709\u98CE\u9669\uFF0C\u5305\u62EC\u56E0\u5BF9\u5185\u5BB9\u7684\u6B63\u786E\u6027\u3001\u5B8C\u6574\u6027\u6216\u5B9E\u7528\u6027\u7684\u4F9D\u8D56\u800C\u4EA7\u751F\u7684\u98CE\u9669\u3002\u5927\u9053\u4E91\u5E73\u53F0\u65E0\u6CD5\u4E14\u4E0D\u4F1A\u5BF9\u56E0\u524D\u8FF0\u98CE\u9669\u800C\u5BFC\u81F4\u7684\u4EFB\u4F55\u635F\u5931\u6216\u635F\u5BB3\u627F\u62C5\u4EFB\u4F55\u8D23\u4EFB\u3002</p><p>\xA0</p><p>\u516D\u3001\u670D\u52A1\u7684\u53D8\u66F4\u3001\u4E2D\u6B62\u6216\u7EC8\u6B62</p><p>\xA0</p><p>\u60A8\u5145\u5206\u4E86\u89E3\u5E76\u540C\u610F\uFF0C\u7531\u4E8E\u4E92\u8054\u7F51\u670D\u52A1\u7684\u7279\u6B8A\u6027\uFF0C\u5927\u9053\u4E91\u5E73\u53F0\u53EF\u4EE5\u5728\u4E0D\u63D0\u524D\u901A\u77E5\u60A8\u7684\u60C5\u51B5\u4E4B\u4E0B\uFF0C\u6839\u636E\u672C\u670D\u52A1\u7684\u6574\u4F53\u89C4\u5212\uFF0C\u5355\u65B9\u6709\u6743\u5BF9\u672C\u670D\u52A1\u5185\u5BB9\u8FDB\u884C\u53D8\u66F4\u3001\u4E2D\u6B62\u6216\u7EC8\u6B62\u3002</p><p>\xA0</p><p>\u4E03\u3001\u8FDD\u7EA6\u8D23\u4EFB</p><p>\xA0</p><p>7.1 \u5982\u679C\u5927\u9053\u4E91\u5E73\u53F0\u53D1\u73B0\u6216\u6536\u5230\u4ED6\u4EBA\u4E3E\u62A5\u60A8\u6709\u8FDD\u53CD\u672C\u534F\u8BAE\u4EFB\u4F55\u884C\u4E3A\u7684\uFF0C\u5927\u9053\u4E91\u5E73\u53F0\u6709\u6743\u8FDB\u884C\u72EC\u7ACB\u5224\u65AD\u5E76\u91C7\u53D6\u6280\u672F\u624B\u6BB5\u4E88\u4EE5\u5220\u9664\u3001\u5C4F\u853D\u6216\u65AD\u5F00\u76F8\u5173\u7684\u4FE1\u606F\u3002\u540C\u65F6\uFF0C\u5927\u9053\u4E91\u5E73\u53F0\u6709\u6743\u89C6\u60A8\u7684\u884C\u4E3A\u6027\u8D28\uFF0C\u5BF9\u60A8\u91C7\u53D6\u5305\u62EC\u4F46\u4E0D\u9650\u4E8E\u6682\u505C\u6216\u7EC8\u6B62\u90E8\u5206\u6216\u5168\u90E8\u672C\u670D\u52A1\u3001\u4E2D\u6B62\u6216\u7EC8\u6B62\u60A8\u5BF9\u8D26\u53F7\u7684\u4F7F\u7528\u3001\u8FFD\u7A76\u6CD5\u5F8B\u8D23\u4EFB\u7B49\u63AA\u65BD\uFF0C\u800C\u7531\u6B64\u7ED9\u60A8\u5E26\u6765\u7684\u635F\u5931\uFF08\u5305\u62EC\u4F46\u4E0D\u9650\u4E8E\u901A\u4FE1\u4E2D\u65AD\u3001\u76F8\u5173\u6570\u636E\u6E05\u7A7A\u3001\u670D\u52A1\u8D39\u7528\u4F5C\u4E3A\u8FDD\u7EA6\u91D1\u800C\u5F52\u5927\u9053\u4E91\u5E73\u53F0\u6240\u6709\u7B49\uFF09\uFF0C\u7531\u60A8\u81EA\u884C\u627F\u62C5\uFF0C\u9020\u6210\u5927\u9053\u4E91\u5E73\u53F0\u635F\u5931\u7684\uFF0C\u60A8\u4E5F\u5E94\u4E88\u4EE5\u8D54\u507F\u3002\u82E5\u5927\u9053\u4E91\u5E73\u53F0\u4F9D\u524D\u8FF0\u7EA6\u5B9A\u5BF9\u60A8\u91C7\u53D6\u6682\u505C\u6216\u7EC8\u6B62\u90E8\u5206\u6216\u5168\u90E8\u672C\u670D\u52A1\u7684\uFF0C\u5927\u9053\u4E91\u5E73\u53F0\u65E0\u9700\u5411\u60A8\u9000\u8FD8\u4EFB\u4F55\u8D39\u7528\uFF0C\u5269\u4F59\u7684\u670D\u52A1\u8D39\u7528\uFF0C\u4F5C\u4E3A\u8FDD\u7EA6\u91D1\u800C\u5F52\u5927\u9053\u4E91\u5E73\u53F0\u6240\u6709\u3002</p><p>\xA0</p><p>7.2\u3010\u5BF9\u7B2C\u4E09\u65B9\u635F\u5BB3\u7684\u5904\u7406\u3011</p><p>\u60A8\u6709\u8FDD\u53CD\u672C\u534F\u8BAE\u4EFB\u4F55\u884C\u4E3A\uFF0C\u5BFC\u81F4\u4EFB\u4F55\u7B2C\u4E09\u65B9\u635F\u5BB3\u7684\uFF0C\u60A8\u5E94\u5F53\u72EC\u7ACB\u627F\u62C5\u8D23\u4EFB\uFF1B\u5927\u9053\u4E91\u5E73\u53F0\u56E0\u6B64\u906D\u53D7\u635F\u5931\u7684\uFF0C\u60A8\u4E5F\u5E94\u5F53\u4E00\u5E76\u8D54\u507F\u3002</p><p>\xA0</p><p>7.3\u3010\u5355\u65B9\u63D0\u524D\u7EC8\u6B62\u670D\u52A1\u3011</p><p>\u60A8\u5145\u5206\u4E86\u89E3\u5E76\u540C\u610F\uFF0C\u60A8\u5728\u9009\u62E9\u4F7F\u7528\u672C\u670D\u52A1\u540E\uFF0C\u82E5\u60A8\u5728\u65E0\u4EFB\u4F55\u6CD5\u5B9A\u6216\u7EA6\u5B9A\u7406\u7531\u7684\u60C5\u51B5\u4E4B\u4E0B\uFF0C\u5355\u65B9\u8981\u6C42\u63D0\u524D\u7EC8\u6B62\u672C\u670D\u52A1\u7684\uFF0C\u5927\u9053\u4E91\u5E73\u53F0\u65E0\u9700\u5411\u60A8\u9000\u8FD8\u4EFB\u4F55\u8D39\u7528\uFF0C\u5269\u4F59\u7684\u670D\u52A1\u8D39\u7528\uFF0C\u4F5C\u4E3A\u8FDD\u7EA6\u91D1\u800C\u5F52\u5927\u9053\u4E91\u5E73\u53F0\u6240\u6709\u3002</p><p>\xA0</p><p>\u516B\u3001\u514D\u8D23\u6761\u6B3E</p><p>\xA0</p><p>8.1 \u60A8\u7406\u89E3\u5E76\u540C\u610F\uFF1A\u5728\u4F7F\u7528\u672C\u670D\u52A1\u7684\u8FC7\u7A0B\u4E2D\uFF0C\u53EF\u80FD\u4F1A\u56E0\u4E0D\u53EF\u6297\u529B\u800C\u4F7F\u672C\u670D\u52A1\u53D1\u751F\u4E2D\u65AD\uFF0C\u5E76\u56E0\u6B64\u800C\u5F15\u53D1\u635F\u5BB3\u3002\u4E0D\u53EF\u6297\u529B\u662F\u6307\u4E0D\u80FD\u9884\u89C1\u3001\u4E0D\u80FD\u514B\u670D\u5E76\u4E0D\u80FD\u907F\u514D\u4E14\u5BF9\u4E00\u65B9\u6216\u53CC\u65B9\u9020\u6210\u91CD\u5927\u5F71\u54CD\u7684\u5BA2\u89C2\u4E8B\u4EF6\uFF0C\u5305\u62EC\u4F46\u4E0D\u9650\u4E8E\u81EA\u7136\u707E\u5BB3\u5982\u6D2A\u6C34\u3001\u5730\u9707\u3001\u98CE\u66B4\u3001\u75AB\u60C5\u7B49\u4EE5\u53CA\u793E\u4F1A\u4E8B\u4EF6\u5982\u6218\u4E89\u3001\u52A8\u4E71\u3001\u653F\u5E9C\u884C\u4E3A\u7B49\u3002\u51FA\u73B0\u4E0A\u8FF0\u60C5\u51B5\u65F6\uFF0C\u5927\u9053\u4E91\u5E73\u53F0\u5C06\u52AA\u529B\u5728\u7B2C\u4E00\u65F6\u95F4\u4E0E\u76F8\u5173\u5355\u4F4D\u914D\u5408\uFF0C\u53CA\u65F6\u8FDB\u884C\u4FEE\u590D\uFF0C\u82E5\u7531\u6B64\u7ED9\u60A8\u9020\u6210\u635F\u5931\u7684\uFF0C\u60A8\u540C\u610F\u653E\u5F03\u8FFD\u7A76\u5927\u9053\u4E91\u5E73\u53F0\u7684\u8D23\u4EFB\u3002</p><p>8.2\u60A8\u7406\u89E3\u5E76\u540C\u610F\uFF1A\u82E5\u7531\u4E8E\u4EE5\u4E0B\u60C5\u5F62\u5BFC\u81F4\u7684\u529F\u80FD\u4E2D\u65AD\u6216\u53D7\u963B\uFF0C\u5927\u9053\u4E91\u5E73\u53F0\u5E76\u4E0D\u627F\u62C5\u4EFB\u4F55\u6CD5\u5F8B\u8D23\u4EFB\uFF1A</p><p>8.2.1\u53D7\u5230\u8BA1\u7B97\u673A\u75C5\u6BD2\u3001\u6728\u9A6C\u6216\u5176\u4ED6\u6076\u610F\u7A0B\u5E8F\u3001\u9ED1\u5BA2\u653B\u51FB\u7684\u7834\u574F\uFF1B</p><p>8.2.2\u60A8\u64CD\u4F5C\u4E0D\u5F53\uFF1B</p><p>8.2.3\u5176\u4ED6\u5927\u9053\u4E91\u5E73\u53F0\u65E0\u6CD5\u63A7\u5236\u6216\u5408\u7406\u9884\u89C1\u7684\u60C5\u5F62\u3002</p><p>\xA0</p><p>\u4E5D\u3001\u5176\u4ED6</p><p>\xA0</p><p>9.1\u3010\u534F\u8BAE\u7684\u751F\u6548\u4E0E\u53D8\u66F4\u3011</p><p>\u60A8\u4F7F\u7528\u672C\u670D\u52A1\u5373\u89C6\u4E3A\u60A8\u5DF2\u9605\u8BFB\u5E76\u540C\u610F\u53D7\u672C\u534F\u8BAE\u7684\u7EA6\u675F\u3002\u5927\u9053\u4E91\u5E73\u53F0\u6709\u6743\u5728\u5FC5\u8981\u65F6\u4FEE\u6539\u672C\u534F\u8BAE\u6761\u6B3E\u3002\u60A8\u53EF\u4EE5\u5728\u76F8\u5173\u9875\u9762\u4E2D\u67E5\u9605\u6700\u65B0\u7684\u534F\u8BAE\u6761\u6B3E\u3002\u672C\u534F\u8BAE\u6761\u6B3E\u53D8\u66F4\u540E\uFF0C\u5982\u679C\u60A8\u7EE7\u7EED\u4F7F\u7528\u672C\u670D\u52A1\uFF0C\u5373\u89C6\u4E3A\u60A8\u5DF2\u63A5\u53D7\u4FEE\u6539\u540E\u7684\u534F\u8BAE\u3002\u5982\u679C\u60A8\u4E0D\u63A5\u53D7\u4FEE\u6539\u540E\u7684\u534F\u8BAE\uFF0C\u5E94\u5F53\u505C\u6B62\u4F7F\u7528\u672C\u670D\u52A1\u3002</p><p>9.2\u3010\u534F\u8BAE\u7B7E\u8BA2\u5730\u3011</p><p>\u672C\u534F\u8BAE\u7B7E\u8BA2\u5730\u4E3A\u4E2D\u534E\u4EBA\u6C11\u5171\u548C\u56FD\u6DF1\u5733\u5E02\u5357\u5C71\u533A\u3002</p><p>9.3\u3010\u9002\u7528\u6CD5\u5F8B\u3011</p><p>\u672C\u534F\u8BAE\u7684\u6210\u7ACB\u3001\u751F\u6548\u3001\u5C65\u884C\u3001\u89E3\u91CA\u53CA\u7EA0\u7EB7\u89E3\u51B3\uFF0C\u9002\u7528\u4E2D\u534E\u4EBA\u6C11\u5171\u548C\u56FD\u5927\u9646\u5730\u533A\u6CD5\u5F8B\uFF08\u4E0D\u5305\u62EC\u51B2\u7A81\u6CD5\uFF09\u3002</p><p>9.4\u3010\u4E89\u8BAE\u89E3\u51B3\u3011</p><p>\u82E5\u60A8\u548C\u5927\u9053\u4E91\u5E73\u53F0\u4E4B\u95F4\u53D1\u751F\u4EFB\u4F55\u7EA0\u7EB7\u6216\u4E89\u8BAE\uFF0C\u9996\u5148\u5E94\u53CB\u597D\u534F\u5546\u89E3\u51B3\uFF1B\u534F\u5546\u4E0D\u6210\u7684\uFF0C\u5404\u65B9\u5171\u540C\u7EA6\u5B9A\uFF0C\u51E1\u56E0\u672C\u534F\u8BAE\u5F15\u8D77\u7684\u6216\u4E0E\u672C\u534F\u8BAE\u6709\u5173\u7684\u4EFB\u4F55\u4E89\u8BAE\uFF0C\u5747\u63D0\u4EA4\u6E5B\u6C5F\u4EF2\u88C1\u59D4\u5458\u4F1A\u4F9D\u5176\u89C4\u5219\u548C\u56FD\u5BB6\u6CD5\u5F8B\u6CD5\u89C4\u4ECE\u901F\u4EF2\u88C1\u3002</p><p>9.5\u3010\u6761\u6B3E\u6807\u9898\u3011</p><p>\u672C\u534F\u8BAE\u6240\u6709\u6761\u6B3E\u7684\u6807\u9898\u4EC5\u4E3A\u9605\u8BFB\u65B9\u4FBF\uFF0C\u672C\u8EAB\u5E76\u65E0\u5B9E\u9645\u6DB5\u4E49\uFF0C\u4E0D\u80FD\u4F5C\u4E3A\u672C\u534F\u8BAE\u6DB5\u4E49\u89E3\u91CA\u7684\u4F9D\u636E\u3002</p><p>9.6\u3010\u6761\u6B3E\u6548\u529B\u3011</p><p>\u672C\u534F\u8BAE\u6761\u6B3E\u65E0\u8BBA\u56E0\u4F55\u79CD\u539F\u56E0\u90E8\u5206\u65E0\u6548\u6216\u4E0D\u53EF\u6267\u884C\uFF0C\u5176\u4F59\u6761\u6B3E\u4ECD\u6709\u6548\uFF0C\u5BF9\u53CC\u65B9\u4ECD\u5177\u6709\u7EA6\u675F\u529B\u3002</p>", 93);
113
- const _hoisted_95 = [
114
- _hoisted_2$7
115
- ];
116
- function render(_ctx, _cache) {
117
- return vue.openBlock(), vue.createElementBlock("view", _hoisted_1$8, [..._hoisted_95]);
118
- }
109
+ const _hoisted_1$8 = { class: "agreement-doc" };
110
+ const _hoisted_2$7 = /* @__PURE__ */ createStaticVNode('<p>\u5927\u9053\u4E91\u5E73\u53F0\u4E91\u8C46\u5145\u503C\u670D\u52A1\u534F\u8BAE</p><p>2023-12-01</p><p>\xA0</p><p>\u6B22\u8FCE\u60A8\u4F7F\u7528\u5927\u9053\u4E91\u5E73\u53F0\u4E91\u8C46\u5145\u503C\u670D\u52A1\uFF01</p><p>\xA0</p><p>\u63D0\u793A\u6761\u6B3E\u3011</p><p>\u6B22\u8FCE\u60A8\u4E0E\u5927\u9053\u4E91\u5E73\u53F0\u670D\u52A1\u63D0\u4F9B\u8005\u7B7E\u7F72\u300A\u5927\u9053\u4E91\u5E73\u53F0\u4E91\u8C46\u5145\u503C\u670D\u52A1\u534F\u8BAE\u300B\uFF08\u4EE5\u4E0B\u7B80\u79F0\u201C\u672C\u534F\u8BAE\u201D\uFF09\u5E76\u4F7F\u7528\u5927\u9053\u4E91\u5E73\u53F0\u4E91\u8C46\u503C\u670D\u52A1\uFF01\u60A8\u7406\u89E3\u548C\u540C\u610F\u672C\u534F\u8BAE\u7CFB\u6839\u636E\u300A\u7528\u6237\u6CE8\u518C\u534F\u8BAE\u300B\u7B49\u534F\u8BAE\u5236\u5B9A\uFF0C\u672C\u534F\u8BAE\u4E3A\u524D\u8FF0\u534F\u8BAE\u4E0D\u53EF\u5206\u5272\u7684\u4E00\u90E8\u5206\uFF0C\u672C\u534F\u8BAE\u672A\u89C4\u5B9A\u7684\uFF0C\u9002\u7528\u300A\u7528\u6237\u6CE8\u518C\u534F\u8BAE\u300B\u7B49\u534F\u8BAE\u4E2D\u7684\u76F8\u5173\u7EA6\u5B9A\u3002</p><p>\xA0</p><p>\u3010\u5BA1\u614E\u9605\u8BFB\u3011</p><p><span class="bold">\u5728\u4F7F\u7528\u672C\u670D\u52A1\u524D\uFF0C\u8BF7\u60A8\u52A1\u5FC5\u5BA1\u614E\u9605\u8BFB\u3001\u5145\u5206\u7406\u89E3\u5404\u6761\u6B3E\u5185\u5BB9\uFF0C\u7279\u522B\u662F\u514D\u9664\u6216\u9650\u5236\u8D23\u4EFB\u7684\u76F8\u5E94\u6761\u6B3E\uFF0C\u4EE5\u53CA\u5F00\u901A\u6216\u4F7F\u7528\u67D0\u9879\u670D\u52A1\u7684\u5355\u72EC\u534F\u8BAE\uFF0C\u60A8\u4F7F\u7528\u6B64\u670D\u52A1\u5373\u8868\u793A\u60A8\u63A5\u53D7\u672C\u534F\u8BAE\u3002\u9650\u5236\u6216\u514D\u9664\u8D23\u4EFB\u6761\u6B3E\u53EF\u80FD\u4EE5\u52A0\u7C97\u5F62\u5F0F\u63D0\u793A\u60A8\u6CE8\u610F\u3002</span></p><p>\u3010\u7279\u522B\u63D0\u793A\u3011</p><p><span class="bold">\u5145\u503C\u7528\u6237\u786E\u8BA4\uFF0C\u81EA\u5DF1\u4E3A\u5E74\u6EE118\u5468\u5C81\u4E14\u5177\u6709\u5B8C\u5168\u6C11\u4E8B\u884C\u4E3A\u80FD\u529B\u7684\u6210\u5E74\u4EBA\uFF0C\u9664\u975E\u60A8\u5DF2\u9605\u8BFB\u5E76\u63A5\u53D7\u672C\u534F\u8BAE\u6240\u6709\u6761\u6B3E\uFF0C\u5426\u5219\u60A8\u65E0\u6743\u4F7F\u7528\u5927\u9053\u4E91\u5E73\u53F0\u5145\u503C\u670D\u52A1\uFF08\u4EE5\u4E0B\u7B80\u79F0\u201C\u672C\u670D\u52A1\u201D\uFF09\u3002\u60A8\u5BF9\u672C\u670D\u52A1\u7684\u4EFB\u4F55\u8D2D\u4E70\u3001\u767B\u5F55\u3001\u67E5\u770B\u7B49\u4F7F\u7528\u884C\u4E3A\u5373\u89C6\u4E3A\u60A8\u5DF2\u9605\u8BFB\u5E76\u540C\u610F\u672C\u534F\u8BAE\u7684\u7EA6\u675F\u3002</span></p><p><span class="bold">\u4E00\u3001\u534F\u8BAE\u7684\u8303\u56F4</span></p><p>\xA0</p><p>1.1\u3010\u534F\u8BAE\u9002\u7528\u4E3B\u4F53\u8303\u56F4\u3011</p><p>\u672C\u534F\u8BAE\u662F\u60A8\u4E0E\u5927\u9053\u4E91\u5E73\u53F0\u4E4B\u95F4\u5173\u4E8E\u60A8\u4F7F\u7528\u672C\u670D\u52A1\u6240\u8BA2\u7ACB\u7684\u534F\u8BAE\u3002</p><p>\xA0</p><p>1.2\u3010\u670D\u52A1\u5185\u5BB9\u3011</p><p>\u672C\u534F\u8BAE\u9879\u4E0B\u7684\u670D\u52A1\u662F\u6307\u5927\u9053\u4E91\u5E73\u53F0\u5411\u7528\u6237\u63D0\u4F9B\u7684\u4E91\u8C46\u5145\u503C\u670D\u52A1\uFF08\u4EE5\u4E0B\u7B80\u79F0\u201C\u672C\u670D\u52A1\u201D\uFF09\u3002\u672C\u534F\u8BAE\u5185\u5BB9\u540C\u65F6\u5305\u62EC\u5927\u9053\u4E91\u5E73\u53F0\u53EF\u80FD\u4E0D\u65AD\u53D1\u5E03\u7684\u5173\u4E8E\u672C\u670D\u52A1\u7684\u76F8\u5173\u534F\u8BAE\u3001\u4E1A\u52A1\u89C4\u5219\u7B49\u5185\u5BB9\u3002\u4E0A\u8FF0\u5185\u5BB9\u4E00\u7ECF\u6B63\u5F0F\u53D1\u5E03\uFF0C\u5373\u4E3A\u672C\u534F\u8BAE\u4E0D\u53EF\u5206\u5272\u7684\u7EC4\u6210\u90E8\u5206\uFF0C\u60A8\u540C\u6837\u5E94\u5F53\u9075\u5B88\u3002</p><p>\xA0</p><p><span class="bold">\u4E8C\u3001\u540D\u8BCD\u5B9A\u4E49</span></p><p>\xA0</p><p><span class="bold">2.1\u3010\u4E91\u8C46\u3011</span></p><p>\xA0</p><p><span class="bold">2.1.1 \u4E91\u8C46\u7CFB\u5927\u9053\u4E91\u5E73\u53F0\u4E3A\u7528\u6237\u63D0\u4F9B\u7684\u6570\u5B57\u5316\u5546\u54C1\uFF0C\u7528\u4E8E\u5927\u9053\u4E91\u5E73\u53F0\u4E0A\u7684\u4EA7\u54C1\u6743\u76CA\u4F7F\u7528\u62B5\u6263\u3002</span></p><p>\xA0</p><p><span class="bold">2.1.2 \u4E91\u8C46\u5C5E\u4E8E\u5728\u7EBF\u4EA4\u4ED8\u7684\u6570\u5B57\u5316\u5546\u54C1\uFF0C\u4E91\u8C46\u7684\u8D2D\u4E70\u8D39\u7528\u7CFB\u6570\u5B57\u5316\u5546\u54C1\u4EF7\u683C\uFF0C\u800C\u4E0D\u5177\u6709\u9884\u4ED8\u6B3E\u6027\u8D28\u6216\u8005\u5B9A\u91D1\u3001\u50A8\u503C\u7B49\u6027\u8D28\uFF0C\u4E91\u8C46\u8D2D\u4E70\u6210\u529F\u540E\u4E0D\u53EF\u8F6C\u8BA9\u6216\u8005\u9006\u5411\u5151\u6362\u4E3A\u4EBA\u6C11\u5E01\u6216\u5176\u4ED6\u8D27\u5E01\u3002</span></p><p><span class="bold">2.1.3 \u4E91\u8C46\u4EC5\u9650\u4E8E\u7528\u6237\u81EA\u5DF1\u8D26\u53F7\u5728\u5927\u9053\u4E91\u5E73\u53F0\u4F7F\u7528\uFF0C\u4E0D\u5F97\u4EE5\u76C8\u5229\u7B49\u975E\u4E2A\u4EBA\u4F7F\u7528\u76EE\u7684\u4F7F\u7528\u4E91\u8C46\uFF0C\u6216\u901A\u8FC7\u8D60\u4E0E\u3001\u51FA\u501F\u3001\u8F6C\u8BA9\u3001\u9500\u552E\u3001\u62B5\u62BC\u3001\u8BB8\u53EF\u4ED6\u4EBA\u4F7F\u7528\u7B49\u65B9\u5F0F\u83B7\u53D6\u6216\u5904\u7F6E\u4E91\u8C46\u3002</span></p><p><span class="bold">2.1.4 \u4EBA\u6C11\u5E01\u548C\u4E91\u8C46\u5151\u6362\u7684\u6BD4\u4F8B\u4E3A1:10\uFF08\u53731\u5143\u4EBA\u6C11\u5E01=10\u4E91\u8C46\uFF09\uFF0C\u4E91\u8C46\u5728\u4EFB\u4F55\u60C5\u51B5\u4E0B\u90FD\u4E0D\u5177\u6709\u6CD5\u5B9A\u8D27\u5E01\u7684\u6D41\u8F6C\u53CA\u652F\u4ED8\u529F\u80FD\uFF0C\u4E0D\u5F97\u53CD\u5411\u5151\u6362\u4E3A\u4EBA\u6C11\u5E01\u6216\u5176\u4ED6\u6CD5\u5B9A\u8D27\u5E01\u3001\u5B9E\u7269\u548C\u5176\u4ED6\u865A\u62DF\u8D27\u5E01\uFF0C\u8BF7\u60A8\u6839\u636E\u5B9E\u9645\u9700\u6C42\u8D2D\u4E70\u76F8\u5E94\u6570\u91CF\u7684\u4E91\u8C46\u3002</span></p><p>2.2\u3010\u5927\u9053\u4E91\u5E73\u53F0\u3011</p><p>\u6307\u7531<span class="bold">\u5927\u9053\u4E91\u5E73\u53F0\u6240\u62E5\u6709\u3001\u63A7\u5236\u3001\u7ECF\u8425\u7684\u5927\u9053\u4E91\u5FAE\u4FE1\u5C0F\u7A0B\u5E8F\u3001\u8702\u9E1F\u6C47\u4E91\u5FAE\u4FE1\u5C0F\u7A0B\u5E8F\u3001\u8702\u9E1F\u5C45\u95F4\u7CFB\u7EDF\u3001\u8702\u9E1F\u5468\u8F6C\u7CFB\u7EDF\u3002</span></p><p>\xA0</p><p><span class="bold">\u4E09\u3001\u6743\u5229\u4E49\u52A1</span></p><p>\xA0</p><p>3.1.1 \u60A8\u627F\u8BFA\u5177\u5907\u4F7F\u7528\u672C\u670D\u52A1\u6240\u5FC5\u9700\u7684\u6C11\u4E8B\u80FD\u529B\u548C\u5408\u6CD5\u8D44\u683C\uFF0C\u6709\u6743\u4E14\u6709\u80FD\u529B\u540C\u610F\u672C\u534F\u8BAE\u53CA\u76F8\u5173\u534F\u8BAE\u7684\u5168\u90E8\u5185\u5BB9\u3002</p><p>\xA0</p><p>3.1.2 <span class="bold">\u60A8\u5E94\u59A5\u5584\u4FDD\u7BA1\u5927\u9053\u4E91\u5E73\u53F0\u8D26\u53F7\u7684\u7528\u6237\u540D\u53CA\u5176\u5BC6\u7801\uFF0C\u5E76\u5BF9\u8BE5\u8D26\u53F7\u4E0B\u7684\u4E00\u5207\u64CD\u4F5C\u884C\u4E3A\u8D1F\u8D23\u3002\u5982\u60A8\u7684\u5927\u9053\u4E91\u8D26\u53F7\u5B58\u5728\u5F02\u5E38\u60C5\u5F62\uFF0C\u60A8\u53EF\u4EE5\u8054\u7CFB\u5BA2\u670D\u6302\u5931\u6216\u51BB\u7ED3\u60A8\u7684\u8D26\u6237\u3002\u6B64\u65F6\uFF0C\u5927\u9053\u4E91\u5E73\u53F0\u9700\u8981\u60A8\u63D0\u4F9B\u5927\u9053\u4E91\u8D26\u53F7\u7684\u6CE8\u518C\u4FE1\u606F\u4EE5\u5B8C\u6210\u8EAB\u4EFD\u6838\u9A8C\u3002\u60A8\u7406\u89E3\u5E76\u786E\u8BA4\uFF0C\u7531\u4E8E\u6280\u672F\u5C40\u9650\uFF0C\u5927\u9053\u4E91\u5E73\u53F0\u65E0\u6CD5\u4FDD\u8BC1\u8EAB\u4EFD\u6838\u9A8C\u7684\u51C6\u786E\u6027\u548C\u771F\u5B9E\u6027\u3002</span></p><p>\xA0</p><p>3.1.3 \u60A8\u627F\u8BFA\u4E0D\u5F97\u901A\u8FC7\u975E\u5927\u9053\u4E91\u5E73\u53F0\u6307\u5B9A\u9014\u5F84\u6216\u4EFB\u4F55\u8FDD\u53CD\u76F8\u5173\u6CD5\u89C4\u3001\u8FDD\u53CD\u672C\u534F\u8BAE\u3001\u4E0D\u6B63\u5F53\u624B\u6BB5\u7B49\u8D2D\u4E70\u4E91\u8C46\u3002</p><p>3.1.4 \u5927\u9053\u4E91\u5E73\u53F0\u53EF\u80FD\u4F1A\u6839\u636E\u672C\u670D\u52A1\u7684\u6574\u4F53\u89C4\u5212\uFF0C\u5BF9\u672C\u670D\u52A1\u7684\u6536\u8D39\u6807\u51C6\u3001\u65B9\u5F0F\u7B49\u8FDB\u884C\u4FEE\u6539\u548C\u53D8\u66F4\uFF0C\u524D\u8FF0\u4FEE\u6539\u3001\u53D8\u66F4\uFF0C\u5927\u9053\u4E91\u5E73\u53F0\u5C06\u5728\u76F8\u5E94\u670D\u52A1\u9875\u9762\u8FDB\u884C\u901A\u77E5\u6216\u516C\u544A\u3002\u5982\u679C\u60A8\u4E0D\u540C\u610F\u4E0A\u8FF0\u4FEE\u6539\u3001\u53D8\u66F4\uFF0C\u5219\u5E94\u505C\u6B62\u4F7F\u7528\u672C\u670D\u52A1\u3002\u5426\u5219\uFF0C\u60A8\u7684\u4EFB\u4F55\u8D2D\u4E70\u3001\u767B\u5F55\u3001\u67E5\u770B\u7B49\u4F7F\u7528\u884C\u4E3A\uFF0C\u5373\u89C6\u4E3A\u60A8\u540C\u610F\u4E0A\u8FF0\u4FEE\u6539\u3001\u53D8\u66F4\u3002</p><p>3.1.5 \u5927\u9053\u4E91\u5E73\u53F0\u5728\u76EE\u524D\u6280\u672F\u6C34\u5E73\u4E0B\uFF0C\u6700\u5927\u7A0B\u5EA6\u5730\u4FDD\u969C\u672C\u529F\u80FD\u7684\u6B63\u5E38\u8FD0\u884C\uFF0C\u4EE5\u7EF4\u62A4\u4F60\u7684\u5229\u76CA\u3002\u5927\u9053\u4E91\u5E73\u53F0\u5BF9\u672C\u670D\u52A1\u4E0D\u4F5C\u4EFB\u4F55\u660E\u793A\u6216\u6697\u793A\u7684\u4FDD\u8BC1\uFF0C\u5305\u62EC\u4F46\u4E0D\u9650\u4E8E\u5BF9\u672C\u670D\u52A1\u7684\u53EF\u9002\u7528\u6027\u3001\u6301\u7EED\u6027\u7B49\u3002</p><p>\xA0</p><p><span class="bold">\u56DB\u3001\u4E91\u8C46\u4F7F\u7528\u89C4\u5219\u53CA\u7279\u522B\u7EA6\u5B9A</span></p><p>\xA0</p><p><span class="bold">4.1 \u5927\u9053\u4E91\u5E73\u53F0\u5411\u60A8\u63D0\u4F9B\u8D2D\u4E70\u3001\u7BA1\u7406\u4E91\u8C46\u6709\u5173\u7684\u7F51\u7EDC\u589E\u503C\u670D\u52A1\uFF0C\u5305\u62EC\u4F46\u4E0D\u9650\u4E8E\u4E91\u8C46\u7684\u8D2D\u4E70\u3001\u8D26\u6237\u7BA1\u7406\u9875\u9762\u3001\u4EA4\u6613\u660E\u7EC6\u67E5\u8BE2\u670D\u52A1\uFF08\u4EE5\u4E0B\u79F0\u201C\u4E91\u8C46\u670D\u52A1\u201D\uFF09\u3002\u4E91\u8C46\u670D\u52A1\u7684\u5177\u4F53\u5185\u5BB9\u8BF7\u4EE5\u76F8\u5173\u9875\u9762\u7684\u4FE1\u606F\u4E3A\u51C6\u3002\u60A8\u540C\u610F\u4EE5\u5927\u9053\u4E91\u5E73\u53F0\u7559\u5B58\u7684\u4EA4\u6613\u8BB0\u5F55\u4F5C\u4E3A\u4E91\u8C46\u8D2D\u4E70\u7684\u552F\u4E00\u6709\u6548\u4F9D\u636E\uFF0C\u5982\u60A8\u5BF9\u5927\u9053\u4E91\u5E73\u53F0\u7559\u5B58\u7684\u4EA4\u6613\u8BB0\u5F55\u6709\u5F02\u8BAE\uFF0C\u60A8\u5E94\u7ACB\u5373\u5411\u5927\u9053\u4E91\u5E73\u53F0\u63D0\u51FA\uFF0C\u5927\u9053\u4E91\u5E73\u53F0\u7ECF\u6838\u5BF9\u540E\u53D1\u73B0\u786E\u6709\u9519\u8BEF\u7684\uFF0C\u5C06\u4E88\u4EE5\u6539\u6B63\u3002</span></p><p><span class="bold">4.2. \u60A8\u5E94\u8BE5\u901A\u8FC7\u5927\u9053\u4E91\u5E73\u53F0\u5B98\u65B9\u6307\u5B9A\u7684\u5305\u62EC\u4F46\u4E0D\u9650\u4E8E\u652F\u4ED8\u5B9D\u3001\u8D22\u4ED8\u901A\u7B49\u65B9\u5F0F\u4F9D\u7EA6\u652F\u4ED8\u4E00\u5B9A\u8D39\u7528\u540E\u8D2D\u4E70\u4E91\u8C46\u3002</span></p><p><span class="bold">4.3 \u60A8\u5FC5\u987B\u4E3A\u7ED1\u5B9A\u7684\u652F\u4ED8\u6E20\u9053\u8D26\u6237\u5F00\u6237\u4EBA/\u6301\u6709\u4EBA\uFF0C\u53EF\u5408\u6CD5\u3001\u6709\u6548\u4F7F\u7528\u8BE5\u8D26\u6237\u4E14\u672A\u4FB5\u72AF\u4EFB\u4F55\u7B2C\u4E09\u65B9\u6743\u76CA\uFF0C\u5426\u5219\u56E0\u6B64\u9020\u6210\u652F\u4ED8\u8D26\u6237\u5B9E\u9645\u6240\u6709\u4EBA\u635F\u5931\u7684\uFF0C\u5E94\u7531\u60A8\u5355\u72EC\u8D1F\u8D23\u89E3\u51B3\u7531\u6B64\u4EA7\u751F\u7684\u7EA0\u7EB7\u5E76\u627F\u62C5\u5168\u90E8\u6CD5\u5F8B\u8D23\u4EFB\u3002</span></p><p><span class="bold">4.4 \u60A8\u5E94\u5728\u8D2D\u4E70\u4E91\u8C46\u65F6\u4ED4\u7EC6\u786E\u8BA4\u8D26\u53F7\u3001\u652F\u4ED8\u8D26\u6237\u3001\u8D2D\u4E70\u6570\u91CF\u3001\u8D2D\u4E70\u8D39\u7528\u7B49\u4EA4\u6613\u4FE1\u606F\u51C6\u786E\u65E0\u8BEF\uFF0C\u5982\u56E0\u60A8\u81EA\u8EAB\u539F\u56E0\uFF08\u5305\u62EC\u4F46\u4E0D\u9650\u4E8E\u8D26\u53F7\u9519\u8BEF\u3001\u652F\u4ED8\u8D26\u6237\u9519\u8BEF\u3001\u64CD\u4F5C\u4E0D\u5F53\u3001\u8D26\u53F7/\u652F\u4ED8\u8D26\u6237\u5B58\u5728\u5F02\u5E38\u60C5\u51B5\u7B49\uFF09\u5BFC\u81F4\u7684\u4EFB\u4F55\u635F\u5931\u5E94\u7531\u60A8\u81EA\u884C\u627F\u62C5\u3002</span></p><p><span class="bold">4.5 \u5927\u9053\u4E91\u5E73\u53F0\u6709\u6743\u51B3\u5B9A\u4E91\u8C46\u5982\u4F55\u88AB\u4F7F\u7528\uFF08\u5305\u62EC\u5151\u6362\u865A\u62DF\u5546\u54C1\u7B49\u4E8E\u5927\u9053\u4E91\u5E73\u53F0\u4E0A\u4F7F\u7528\u7684\u4EA7\u54C1\u6216\u670D\u52A1\uFF09\u3002</span></p><p>\xA0</p><p><span class="bold">\u4E94\u3001\u884C\u4E3A\u89C4\u8303</span></p><p>\xA0</p><p>5.1\u3010\u7528\u6237\u7981\u6B62\u884C\u4E3A\u3011</p><p>\u672C\u670D\u52A1\u4EC5\u4F9B\u60A8\u4E2A\u4EBA\u4F7F\u7528\uFF0C\u9664\u975E\u7ECF\u5927\u9053\u4E91\u5E73\u53F0\u4E66\u9762\u8BB8\u53EF\uFF0C\u60A8\u4E0D\u5F97\u8FDB\u884C\u4EE5\u4E0B\u884C\u4E3A\uFF1A</p><p>5.1.1 \u5C06\u672C\u670D\u52A1\u8F6C\u8BA9\u8BB8\u53EF\u4ED6\u4EBA\u4F7F\u7528\uFF1B</p><p>5.1.2 \u5176\u4ED6\u672A\u7ECF\u5927\u9053\u4E91\u5E73\u53F0\u4E66\u9762\u8BB8\u53EF\u7684\u884C\u4E3A\u3002</p><p>5.2\u3010\u884C\u4E3A\u8D23\u4EFB\u3011</p><p><span class="bold">\u60A8\u5145\u5206\u4E86\u89E3\u5E76\u540C\u610F\uFF0C\u60A8\u7528\u4EE5\u53C2\u4E0E\u672C\u670D\u52A1\u7684\u5927\u9053\u4E91\u8D26\u53F7\u7531\u60A8\u72EC\u7ACB\u7EF4\u62A4\u3001\u4F7F\u7528\u5E76\u72EC\u7ACB\u627F\u62C5\u5168\u90E8\u8D23\u4EFB\uFF0C\u5927\u9053\u4E91\u5E73\u53F0\u4E0D\u4F1A\u3001\u4E5F\u4E0D\u53EF\u80FD\u53C2\u4E0E\u8BE5\u8D26\u53F7\u7684\u4F7F\u7528\u7B49\u4EFB\u4F55\u6D3B\u52A8\u3002\u60A8\u5E94\u5BF9\u672C\u670D\u52A1\u4E2D\u7684\u5185\u5BB9\u81EA\u884C\u52A0\u4EE5\u5224\u65AD\uFF0C\u5E76\u627F\u62C5\u56E0\u4F7F\u7528\u5185\u5BB9\u800C\u5F15\u8D77\u7684\u6240\u6709\u98CE\u9669\uFF0C\u5305\u62EC\u56E0\u5BF9\u5185\u5BB9\u7684\u6B63\u786E\u6027\u3001\u5B8C\u6574\u6027\u6216\u5B9E\u7528\u6027\u7684\u4F9D\u8D56\u800C\u4EA7\u751F\u7684\u98CE\u9669\u3002\u5927\u9053\u4E91\u5E73\u53F0\u65E0\u6CD5\u4E14\u4E0D\u4F1A\u5BF9\u56E0\u524D\u8FF0\u98CE\u9669\u800C\u5BFC\u81F4\u7684\u4EFB\u4F55\u635F\u5931\u6216\u635F\u5BB3\u627F\u62C5\u4EFB\u4F55\u8D23\u4EFB\u3002</span></p><p>\xA0</p><p><span class="bold">\u516D\u3001\u670D\u52A1\u7684\u53D8\u66F4\u3001\u4E2D\u6B62\u6216\u7EC8\u6B62</span></p><p>\u60A8\u5145\u5206\u4E86\u89E3\u5E76\u540C\u610F\uFF0C\u7531\u4E8E\u4E92\u8054\u7F51\u670D\u52A1\u7684\u7279\u6B8A\u6027\uFF0C\u5927\u9053\u4E91\u5E73\u53F0\u53EF\u4EE5\u5728\u4E0D\u63D0\u524D\u901A\u77E5\u60A8\u7684\u60C5\u51B5\u4E4B\u4E0B\uFF0C\u6839\u636E\u672C\u670D\u52A1\u7684\u6574\u4F53\u89C4\u5212\uFF0C\u5355\u65B9\u6709\u6743\u5BF9\u672C\u670D\u52A1\u5185\u5BB9\u8FDB\u884C\u53D8\u66F4\u3001\u4E2D\u6B62\u6216\u7EC8\u6B62\u3002</p><p>\xA0</p><p><span class="bold">\u4E03\u3001\u8FDD\u7EA6\u8D23\u4EFB</span></p><p><span class="bold">7.1 \u5982\u679C\u5927\u9053\u4E91\u5E73\u53F0\u53D1\u73B0\u6216\u6536\u5230\u4ED6\u4EBA\u4E3E\u62A5\u60A8\u6709\u8FDD\u53CD\u672C\u534F\u8BAE\u4EFB\u4F55\u884C\u4E3A\u7684\uFF0C\u5927\u9053\u4E91\u5E73\u53F0\u6709\u6743\u8FDB\u884C\u72EC\u7ACB\u5224\u65AD\u5E76\u91C7\u53D6\u6280\u672F\u624B\u6BB5\u4E88\u4EE5\u5220\u9664\u3001\u5C4F\u853D\u6216\u65AD\u5F00\u76F8\u5173\u7684\u4FE1\u606F\u3002\u540C\u65F6\uFF0C\u5927\u9053\u4E91\u5E73\u53F0\u6709\u6743\u89C6\u60A8\u7684\u884C\u4E3A\u6027\u8D28\uFF0C\u5BF9\u60A8\u91C7\u53D6\u5305\u62EC\u4F46\u4E0D\u9650\u4E8E\u6682\u505C\u6216\u7EC8\u6B62\u90E8\u5206\u6216\u5168\u90E8\u672C\u670D\u52A1\u3001\u4E2D\u6B62\u6216\u7EC8\u6B62\u60A8\u5BF9\u8D26\u53F7\u7684\u4F7F\u7528\u3001\u8FFD\u7A76\u6CD5\u5F8B\u8D23\u4EFB\u7B49\u63AA\u65BD\uFF0C\u800C\u7531\u6B64\u7ED9\u60A8\u5E26\u6765\u7684\u635F\u5931\uFF08\u5305\u62EC\u4F46\u4E0D\u9650\u4E8E\u901A\u4FE1\u4E2D\u65AD\u3001\u76F8\u5173\u6570\u636E\u6E05\u7A7A\u3001\u670D\u52A1\u8D39\u7528\u4F5C\u4E3A\u8FDD\u7EA6\u91D1\u800C\u5F52\u5927\u9053\u4E91\u5E73\u53F0\u6240\u6709\u7B49\uFF09\uFF0C\u7531\u60A8\u81EA\u884C\u627F\u62C5\uFF0C\u9020\u6210\u5927\u9053\u4E91\u5E73\u53F0\u635F\u5931\u7684\uFF0C\u60A8\u4E5F\u5E94\u4E88\u4EE5\u8D54\u507F\u3002\u82E5\u5927\u9053\u4E91\u5E73\u53F0\u4F9D\u524D\u8FF0\u7EA6\u5B9A\u5BF9\u60A8\u91C7\u53D6\u6682\u505C\u6216\u7EC8\u6B62\u90E8\u5206\u6216\u5168\u90E8\u672C\u670D\u52A1\u7684\uFF0C\u5927\u9053\u4E91\u5E73\u53F0\u65E0\u9700\u5411\u60A8\u9000\u8FD8\u4EFB\u4F55\u8D39\u7528\uFF0C\u5269\u4F59\u7684\u670D\u52A1\u8D39\u7528\uFF0C\u4F5C\u4E3A\u8FDD\u7EA6\u91D1\u800C\u5F52\u5927\u9053\u4E91\u5E73\u53F0\u6240\u6709\u3002</span></p><p>\xA0</p><p>7.2\u3010\u5BF9\u7B2C\u4E09\u65B9\u635F\u5BB3\u7684\u5904\u7406\u3011</p><p>\u60A8\u6709\u8FDD\u53CD\u672C\u534F\u8BAE\u4EFB\u4F55\u884C\u4E3A\uFF0C\u5BFC\u81F4\u4EFB\u4F55\u7B2C\u4E09\u65B9\u635F\u5BB3\u7684\uFF0C\u60A8\u5E94\u5F53\u72EC\u7ACB\u627F\u62C5\u8D23\u4EFB\uFF1B\u5927\u9053\u4E91\u5E73\u53F0\u56E0\u6B64\u906D\u53D7\u635F\u5931\u7684\uFF0C\u60A8\u4E5F\u5E94\u5F53\u4E00\u5E76\u8D54\u507F\u3002</p><p>\xA0</p><p><span class="bold">7.3\u3010\u5355\u65B9\u63D0\u524D\u7EC8\u6B62\u670D\u52A1\u3011</span></p><p><span class="bold">\u60A8\u5145\u5206\u4E86\u89E3\u5E76\u540C\u610F\uFF0C\u60A8\u5728\u9009\u62E9\u4F7F\u7528\u672C\u670D\u52A1\u540E\uFF0C\u82E5\u60A8\u5728\u65E0\u4EFB\u4F55\u6CD5\u5B9A\u6216\u7EA6\u5B9A\u7406\u7531\u7684\u60C5\u51B5\u4E4B\u4E0B\uFF0C\u5355\u65B9\u8981\u6C42\u63D0\u524D\u7EC8\u6B62\u672C\u670D\u52A1\u7684\uFF0C\u5927\u9053\u4E91\u5E73\u53F0\u65E0\u9700\u5411\u60A8\u9000\u8FD8\u4EFB\u4F55\u8D39\u7528\uFF0C\u5269\u4F59\u7684\u670D\u52A1\u8D39\u7528\uFF0C\u4F5C\u4E3A\u8FDD\u7EA6\u91D1\u800C\u5F52\u5927\u9053\u4E91\u5E73\u53F0\u6240\u6709\u3002</span></p><p>\xA0</p><p><span class="bold">\u516B\u3001\u514D\u8D23\u6761\u6B3E</span></p><p>\xA0</p><p><span class="bold">8.1 \u60A8\u7406\u89E3\u5E76\u540C\u610F\uFF1A\u5728\u4F7F\u7528\u672C\u670D\u52A1\u7684\u8FC7\u7A0B\u4E2D\uFF0C\u53EF\u80FD\u4F1A\u56E0\u4E0D\u53EF\u6297\u529B\u800C\u4F7F\u672C\u670D\u52A1\u53D1\u751F\u4E2D\u65AD\uFF0C\u5E76\u56E0\u6B64\u800C\u5F15\u53D1\u635F\u5BB3\u3002\u4E0D\u53EF\u6297\u529B\u662F\u6307\u4E0D\u80FD\u9884\u89C1\u3001\u4E0D\u80FD\u514B\u670D\u5E76\u4E0D\u80FD\u907F\u514D\u4E14\u5BF9\u4E00\u65B9\u6216\u53CC\u65B9\u9020\u6210\u91CD\u5927\u5F71\u54CD\u7684\u5BA2\u89C2\u4E8B\u4EF6\uFF0C\u5305\u62EC\u4F46\u4E0D\u9650\u4E8E\u81EA\u7136\u707E\u5BB3\u5982\u6D2A\u6C34\u3001\u5730\u9707\u3001\u98CE\u66B4\u3001\u75AB\u60C5\u7B49\u4EE5\u53CA\u793E\u4F1A\u4E8B\u4EF6\u5982\u6218\u4E89\u3001\u52A8\u4E71\u3001\u653F\u5E9C\u884C\u4E3A\u7B49\u3002\u51FA\u73B0\u4E0A\u8FF0\u60C5\u51B5\u65F6\uFF0C\u5927\u9053\u4E91\u5E73\u53F0\u5C06\u52AA\u529B\u5728\u7B2C\u4E00\u65F6\u95F4\u4E0E\u76F8\u5173\u5355\u4F4D\u914D\u5408\uFF0C\u53CA\u65F6\u8FDB\u884C\u4FEE\u590D\uFF0C\u82E5\u7531\u6B64\u7ED9\u60A8\u9020\u6210\u635F\u5931\u7684\uFF0C\u60A8\u540C\u610F\u653E\u5F03\u8FFD\u7A76\u5927\u9053\u4E91\u5E73\u53F0\u7684\u8D23\u4EFB\u3002</span></p><p><span class="bold">8.2 \u60A8\u7406\u89E3\u5E76\u540C\u610F\uFF1A\u82E5\u7531\u4E8E\u4EE5\u4E0B\u60C5\u5F62\u5BFC\u81F4\u7684\u529F\u80FD\u4E2D\u65AD\u6216\u53D7\u963B\uFF0C\u5927\u9053\u4E91\u5E73\u53F0\u5E76\u4E0D\u627F\u62C5\u4EFB\u4F55\u6CD5\u5F8B\u8D23\u4EFB\uFF1A</span></p><p><span class="bold">8.2.1 \u53D7\u5230\u8BA1\u7B97\u673A\u75C5\u6BD2\u3001\u6728\u9A6C\u6216\u5176\u4ED6\u6076\u610F\u7A0B\u5E8F\u3001\u9ED1\u5BA2\u653B\u51FB\u7684\u7834\u574F\uFF1B</span></p><p><span class="bold">8.2.2 \u60A8\u64CD\u4F5C\u4E0D\u5F53\uFF1B</span></p><p><span class="bold">8.2.3 \u5176\u4ED6\u5927\u9053\u4E91\u5E73\u53F0\u65E0\u6CD5\u63A7\u5236\u6216\u5408\u7406\u9884\u89C1\u7684\u60C5\u5F62\u3002</span></p><p>\xA0</p><p>\u4E5D\u3001\u5176\u4ED6</p><p>\xA0</p><p>9.1\u3010\u534F\u8BAE\u7684\u751F\u6548\u4E0E\u53D8\u66F4\u3011</p><p>\u60A8\u4F7F\u7528\u672C\u670D\u52A1\u5373\u89C6\u4E3A\u60A8\u5DF2\u9605\u8BFB\u5E76\u540C\u610F\u53D7\u672C\u534F\u8BAE\u7684\u7EA6\u675F\u3002\u5927\u9053\u4E91\u5E73\u53F0\u6709\u6743\u5728\u5FC5\u8981\u65F6\u4FEE\u6539\u672C\u534F\u8BAE\u6761\u6B3E\u3002\u60A8\u53EF\u4EE5\u5728\u76F8\u5173\u9875\u9762\u4E2D\u67E5\u9605\u6700\u65B0\u7684\u534F\u8BAE\u6761\u6B3E\u3002\u672C\u534F\u8BAE\u6761\u6B3E\u53D8\u66F4\u540E\uFF0C\u5982\u679C\u60A8\u7EE7\u7EED\u4F7F\u7528\u672C\u670D\u52A1\uFF0C\u5373\u89C6\u4E3A\u60A8\u5DF2\u63A5\u53D7\u4FEE\u6539\u540E\u7684\u534F\u8BAE\u3002\u5982\u679C\u60A8\u4E0D\u63A5\u53D7\u4FEE\u6539\u540E\u7684\u534F\u8BAE\uFF0C\u5E94\u5F53\u505C\u6B62\u4F7F\u7528\u672C\u670D\u52A1\u3002</p><p>9.2\u3010\u534F\u8BAE\u7B7E\u8BA2\u5730\u3011</p><p>\u672C\u534F\u8BAE\u7B7E\u8BA2\u5730\u4E3A\u4E2D\u534E\u4EBA\u6C11\u5171\u548C\u56FD\u6DF1\u5733\u5E02\u5357\u5C71\u533A\u3002</p><p>9.3\u3010\u9002\u7528\u6CD5\u5F8B\u3011</p><p>\u672C\u534F\u8BAE\u7684\u6210\u7ACB\u3001\u751F\u6548\u3001\u5C65\u884C\u3001\u89E3\u91CA\u53CA\u7EA0\u7EB7\u89E3\u51B3\uFF0C\u9002\u7528\u4E2D\u534E\u4EBA\u6C11\u5171\u548C\u56FD\u5927\u9646\u5730\u533A\u6CD5\u5F8B\uFF08\u4E0D\u5305\u62EC\u51B2\u7A81\u6CD5\uFF09\u3002</p><p><span class="bold">9.4\u3010\u4E89\u8BAE\u89E3\u51B3\u3011</span></p><p><span class="bold">\u82E5\u60A8\u548C\u5927\u9053\u4E91\u5E73\u53F0\u4E4B\u95F4\u53D1\u751F\u4EFB\u4F55\u7EA0\u7EB7\u6216\u4E89\u8BAE\uFF0C\u9996\u5148\u5E94\u53CB\u597D\u534F\u5546\u89E3\u51B3\uFF1B\u534F\u5546\u4E0D\u6210\u7684\uFF0C\u5404\u65B9\u5171\u540C\u7EA6\u5B9A\uFF0C\u51E1\u56E0\u672C\u534F\u8BAE\u5F15\u8D77\u7684\u6216\u4E0E\u672C\u534F\u8BAE\u6709\u5173\u7684\u4EFB\u4F55\u4E89\u8BAE\uFF0C\u5747\u63D0\u4EA4\u6E5B\u6C5F\u4EF2\u88C1\u59D4\u5458\u4F1A\u4F9D\u5176\u89C4\u5219\u548C\u56FD\u5BB6\u6CD5\u5F8B\u6CD5\u89C4\u4ECE\u901F\u4EF2\u88C1\u3002</span></p><p>9.5\u3010\u6761\u6B3E\u6807\u9898\u3011</p><p>\u672C\u534F\u8BAE\u6240\u6709\u6761\u6B3E\u7684\u6807\u9898\u4EC5\u4E3A\u9605\u8BFB\u65B9\u4FBF\uFF0C\u672C\u8EAB\u5E76\u65E0\u5B9E\u9645\u6DB5\u4E49\uFF0C\u4E0D\u80FD\u4F5C\u4E3A\u672C\u534F\u8BAE\u6DB5\u4E49\u89E3\u91CA\u7684\u4F9D\u636E\u3002</p><p>9.6\u3010\u6761\u6B3E\u6548\u529B\u3011</p><p>\u672C\u534F\u8BAE\u6761\u6B3E\u65E0\u8BBA\u56E0\u4F55\u79CD\u539F\u56E0\u90E8\u5206\u65E0\u6548\u6216\u4E0D\u53EF\u6267\u884C\uFF0C\u5176\u4F59\u6761\u6B3E\u4ECD\u6709\u6548\uFF0C\u5BF9\u53CC\u65B9\u4ECD\u5177\u6709\u7EA6\u675F\u529B\u3002</p>', 93);
111
+ const _hoisted_95 = [
112
+ _hoisted_2$7
113
+ ];
114
+ function render(_ctx, _cache) {
115
+ return openBlock(), createElementBlock("view", _hoisted_1$8, [..._hoisted_95]);
116
+ }
119
117
 
120
- var css_248z$9 = ".agreement-doc {\n padding: 1em;\n padding-top: 4em;\n font-size: 12px;\n}\n.agreement-doc h1 {\n font-size: 20px;\n}\n.agreement-doc p {\n margin: 0;\n}";
121
- styleInject(css_248z$9);
118
+ var css_248z$9 = ".agreement-doc {\n padding: 1em;\n padding-top: 4em;\n font-size: 12px;\n}\n.agreement-doc .bold {\n font-weight: bold;\n}\n.agreement-doc h1 {\n font-size: 20px;\n}\n.agreement-doc p {\n margin: 0;\n}";
119
+ styleInject(css_248z$9);
122
120
 
123
- const script$9 = {};
121
+ const script$9 = {};
124
122
 
125
- script$9.render = render;
126
- script$9.__file = "src/payment/components/UserAgreement.vue";
123
+ script$9.render = render;
124
+ script$9.__file = "src/payment/components/UserAgreement.vue";
127
125
 
128
- function requestPayment$1(json) {
129
- return new Promise((resolve, reject) => {
130
- const success = (message) => {
131
- resolve(true);
132
- };
133
- const fail = (message) => {
134
- resolve(false);
135
- };
136
- wx.requestPayment({
137
- ...json,
138
- success,
139
- fail
140
- });
126
+ function requestPayment$2(json) {
127
+ return new Promise((resolve, reject) => {
128
+ const success = (message) => {
129
+ resolve(true);
130
+ };
131
+ const fail = (message) => {
132
+ resolve(false);
133
+ };
134
+ wx.requestPayment({
135
+ ...json,
136
+ success,
137
+ fail
141
138
  });
142
- }
143
-
144
- const _hoisted_1$7 = {
145
- key: 0,
146
- class: "page-title"
147
- };
148
- var script$8 = /* @__PURE__ */ vue.defineComponent({
149
- __name: "PageHeader",
150
- props: {
151
- title: { type: String, required: false, default: "" },
152
- colorMode: { type: String, required: false, default: "light" }
153
- },
154
- emits: ["close"],
155
- setup(__props, { emit: __emit }) {
156
- const emit = __emit;
157
- const onBackButtonClick = () => {
158
- emit("close");
159
- };
160
- return (_ctx, _cache) => {
161
- return vue.openBlock(), vue.createElementBlock(
162
- "view",
163
- {
164
- class: vue.normalizeClass([
165
- "page-header",
166
- `color-mode-${_ctx.colorMode}`
167
- ])
168
- },
169
- [
170
- _ctx.title ? (vue.openBlock(), vue.createElementBlock(
171
- "h1",
172
- _hoisted_1$7,
173
- vue.toDisplayString(_ctx.title),
174
- 1
175
- /* TEXT */
176
- )) : vue.createCommentVNode("v-if", true),
177
- vue.createElementVNode("view", {
178
- class: "back-button",
179
- onClick: onBackButtonClick
180
- }),
181
- vue.renderSlot(_ctx.$slots, "default")
182
- ],
183
- 2
184
- /* CLASS */
185
- );
186
- };
187
- }
188
139
  });
140
+ }
141
+
142
+ const _hoisted_1$7 = {
143
+ key: 0,
144
+ class: "page-title"
145
+ };
146
+ var script$8 = /* @__PURE__ */ defineComponent({
147
+ __name: "PageHeader",
148
+ props: {
149
+ title: { type: String, required: false, default: "" },
150
+ colorMode: { type: String, required: false, default: "light" }
151
+ },
152
+ emits: ["close"],
153
+ setup(__props, { emit: __emit }) {
154
+ const emit = __emit;
155
+ const onBackButtonClick = () => {
156
+ emit("close");
157
+ };
158
+ return (_ctx, _cache) => {
159
+ return openBlock(), createElementBlock(
160
+ "view",
161
+ {
162
+ class: normalizeClass([
163
+ "page-header",
164
+ `color-mode-${_ctx.colorMode}`
165
+ ])
166
+ },
167
+ [
168
+ _ctx.title ? (openBlock(), createElementBlock(
169
+ "h1",
170
+ _hoisted_1$7,
171
+ toDisplayString(_ctx.title),
172
+ 1
173
+ /* TEXT */
174
+ )) : createCommentVNode("v-if", true),
175
+ createElementVNode("view", {
176
+ class: "back-button",
177
+ onClick: onBackButtonClick
178
+ }),
179
+ renderSlot(_ctx.$slots, "default")
180
+ ],
181
+ 2
182
+ /* CLASS */
183
+ );
184
+ };
185
+ }
186
+ });
189
187
 
190
- var css_248z$8 = ".page-header {\n flex-shrink: 0;\n position: relative;\n height: 172px;\n padding: 1em;\n box-sizing: border-box;\n margin-left: -12px;\n margin-right: -12px;\n width: calc(100% + 24px);\n}\n.page-header .page-title {\n position: absolute;\n font-size: 18px;\n width: 100%;\n height: 44px;\n top: 44px;\n left: 0;\n line-height: 44px;\n text-align: center;\n}\n.page-header .back-button {\n position: absolute;\n top: 44px;\n left: 10px;\n width: 44px;\n height: 44px;\n background-image: url(\"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNDIiIGhlaWdodD0iNDIiIHZpZXdCb3g9IjAgMCA0MiA0MiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggb3BhY2l0eT0iMC4wMSIgZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0wLjk5OTg3OCA0MUw0MC45OTk5IDQxTDQwLjk5OTkgMUwwLjk5OTg3OCAxTDAuOTk5ODc4IDQxWiIgZmlsbD0iI0Q4RDhEOCIgc3Ryb2tlPSJibGFjayIgc3Ryb2tlLW9wYWNpdHk9IjAuMDEiLz4KPHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0xMi45OTMzIDE4Ljk0NzdDMTEuODYzMyAyMC4wMTQ1IDExLjgxMiAyMS43OTU0IDEyLjg3ODggMjIuOTI1NUwyNy45MTA1IDM3LjEzNDVDMjguNjkyNSAzNy44NzM0IDI5LjkyNTUgMzcuODM4NCAzMC42NjQ0IDM3LjA1NjRDMzEuMzY4MSAzNi4zMTE2IDMxLjM2OTkgMzUuMTU3OSAzMC42OTI5IDM0LjQxMTRMMTYuNTAxMiAyMC45OTM5TDMwLjU4NTcgNy42OTc4NUMzMS4zMzA4IDYuOTk0NDkgMzEuMjk4MiA1LjcyNzk1IDMwLjY2NDkgNC45NDQwMkMyOS45NjE2IDQuMTk4OTUgMjguODA5OCA0LjEzMTI5IDI4LjAyNTkgNC43NjQ1MkwxMi45OTMzIDE4Ljk0NzdaIiBmaWxsPSJibGFjayIgc3Ryb2tlPSJibGFjayIgc3Ryb2tlLW9wYWNpdHk9IjAuMDEiLz4KPC9zdmc+Cg==\");\n background-size: 22px;\n background-repeat: no-repeat;\n background-position: center center;\n}\n.page-header.color-mode-dark {\n color: var(--text-color-dark-mode, \"#fff\");\n}\n.page-header.color-mode-dark .back-button {\n background-image: url(\"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNDIiIGhlaWdodD0iNDIiIHZpZXdCb3g9IjAgMCA0MiA0MiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggb3BhY2l0eT0iMC4wMSIgZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0wLjk5OTg0NyA0MUw0MC45OTk4IDQxTDQwLjk5OTggMUwwLjk5OTg0NyAxTDAuOTk5ODQ3IDQxWiIgZmlsbD0iI0Q4RDhEOCIgc3Ryb2tlPSJibGFjayIgc3Ryb2tlLW9wYWNpdHk9IjAuMDEiLz4KPHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0xMi45OTM0IDE4Ljk0NzVDMTEuODYzNCAyMC4wMTQzIDExLjgxMjEgMjEuNzk1MiAxMi44Nzg5IDIyLjkyNTJMMjcuOTEwNiAzNy4xMzQzQzI4LjY5MjcgMzcuODczMSAyOS45MjU2IDM3LjgzODIgMzAuNjY0NSAzNy4wNTYyQzMxLjM2ODIgMzYuMzExNCAzMS4zNyAzNS4xNTc2IDMwLjY5MyAzNC40MTExTDE2LjUwMTMgMjAuOTkzNkwzMC41ODU4IDcuNjk3NjFDMzEuMzMwOSA2Ljk5NDI0IDMxLjI5ODMgNS43Mjc3MSAzMC42NjUxIDQuOTQzNzdDMjkuOTYxNyA0LjE5ODcxIDI4LjgwOTkgNC4xMzEwNCAyOC4wMjYgNC43NjQyN0wxMi45OTM0IDE4Ljk0NzVaIiBmaWxsPSJ3aGl0ZSIgc3Ryb2tlPSJibGFjayIgc3Ryb2tlLW9wYWNpdHk9IjAuMDEiLz4KPC9zdmc+Cg==\");\n}";
191
- styleInject(css_248z$8);
188
+ var css_248z$8 = ".page-header {\n flex-shrink: 0;\n position: relative;\n height: 172px;\n padding: 1em;\n box-sizing: border-box;\n margin-left: -12px;\n margin-right: -12px;\n width: calc(100% + 24px);\n}\n.page-header .page-title {\n position: absolute;\n font-size: 18px;\n width: 100%;\n height: 44px;\n top: 44px;\n left: 0;\n line-height: 44px;\n text-align: center;\n}\n.page-header .back-button {\n position: absolute;\n top: 44px;\n left: 10px;\n width: 44px;\n height: 44px;\n background-image: url(\"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNDIiIGhlaWdodD0iNDIiIHZpZXdCb3g9IjAgMCA0MiA0MiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggb3BhY2l0eT0iMC4wMSIgZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0wLjk5OTg3OCA0MUw0MC45OTk5IDQxTDQwLjk5OTkgMUwwLjk5OTg3OCAxTDAuOTk5ODc4IDQxWiIgZmlsbD0iI0Q4RDhEOCIgc3Ryb2tlPSJibGFjayIgc3Ryb2tlLW9wYWNpdHk9IjAuMDEiLz4KPHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0xMi45OTMzIDE4Ljk0NzdDMTEuODYzMyAyMC4wMTQ1IDExLjgxMiAyMS43OTU0IDEyLjg3ODggMjIuOTI1NUwyNy45MTA1IDM3LjEzNDVDMjguNjkyNSAzNy44NzM0IDI5LjkyNTUgMzcuODM4NCAzMC42NjQ0IDM3LjA1NjRDMzEuMzY4MSAzNi4zMTE2IDMxLjM2OTkgMzUuMTU3OSAzMC42OTI5IDM0LjQxMTRMMTYuNTAxMiAyMC45OTM5TDMwLjU4NTcgNy42OTc4NUMzMS4zMzA4IDYuOTk0NDkgMzEuMjk4MiA1LjcyNzk1IDMwLjY2NDkgNC45NDQwMkMyOS45NjE2IDQuMTk4OTUgMjguODA5OCA0LjEzMTI5IDI4LjAyNTkgNC43NjQ1MkwxMi45OTMzIDE4Ljk0NzdaIiBmaWxsPSJibGFjayIgc3Ryb2tlPSJibGFjayIgc3Ryb2tlLW9wYWNpdHk9IjAuMDEiLz4KPC9zdmc+Cg==\");\n background-size: 22px;\n background-repeat: no-repeat;\n background-position: center center;\n}\n.page-header.color-mode-dark {\n color: var(--text-color-dark-mode, \"#fff\");\n}\n.page-header.color-mode-dark .back-button {\n background-image: url(\"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNDIiIGhlaWdodD0iNDIiIHZpZXdCb3g9IjAgMCA0MiA0MiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggb3BhY2l0eT0iMC4wMSIgZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0wLjk5OTg0NyA0MUw0MC45OTk4IDQxTDQwLjk5OTggMUwwLjk5OTg0NyAxTDAuOTk5ODQ3IDQxWiIgZmlsbD0iI0Q4RDhEOCIgc3Ryb2tlPSJibGFjayIgc3Ryb2tlLW9wYWNpdHk9IjAuMDEiLz4KPHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0xMi45OTM0IDE4Ljk0NzVDMTEuODYzNCAyMC4wMTQzIDExLjgxMjEgMjEuNzk1MiAxMi44Nzg5IDIyLjkyNTJMMjcuOTEwNiAzNy4xMzQzQzI4LjY5MjcgMzcuODczMSAyOS45MjU2IDM3LjgzODIgMzAuNjY0NSAzNy4wNTYyQzMxLjM2ODIgMzYuMzExNCAzMS4zNyAzNS4xNTc2IDMwLjY5MyAzNC40MTExTDE2LjUwMTMgMjAuOTkzNkwzMC41ODU4IDcuNjk3NjFDMzEuMzMwOSA2Ljk5NDI0IDMxLjI5ODMgNS43Mjc3MSAzMC42NjUxIDQuOTQzNzdDMjkuOTYxNyA0LjE5ODcxIDI4LjgwOTkgNC4xMzEwNCAyOC4wMjYgNC43NjQyN0wxMi45OTM0IDE4Ljk0NzVaIiBmaWxsPSJ3aGl0ZSIgc3Ryb2tlPSJibGFjayIgc3Ryb2tlLW9wYWNpdHk9IjAuMDEiLz4KPC9zdmc+Cg==\");\n}";
189
+ styleInject(css_248z$8);
192
190
 
193
- script$8.__file = "src/shared/components/PageHeader.vue";
191
+ script$8.__file = "src/shared/components/PageHeader.vue";
194
192
 
195
- var script$7 = /* @__PURE__ */ vue.defineComponent({
196
- __name: "AppDrawer",
197
- props: {
198
- modelValue: { type: Boolean, required: true },
199
- title: { type: String, required: false }
200
- },
201
- emits: ["update:modelValue"],
202
- setup(__props, { emit: __emit }) {
203
- const emit = __emit;
204
- const onVisibleChange = (value) => {
205
- emit("update:modelValue", value);
206
- };
207
- const onPageHeaderClose = () => {
208
- emit("update:modelValue", false);
209
- };
210
- return (_ctx, _cache) => {
211
- const _component_nut_popup = vue.resolveComponent("nut-popup");
212
- return vue.openBlock(), vue.createBlock(_component_nut_popup, {
213
- class: vue.normalizeClass([
214
- "app-drawer",
215
- {
216
- open: _ctx.modelValue
217
- }
218
- ]),
219
- position: "right",
220
- visible: _ctx.modelValue,
221
- "onUpdate:visible": onVisibleChange
222
- }, {
223
- default: vue.withCtx(() => [
224
- vue.createVNode(script$8, {
225
- title: _ctx.title,
226
- onClose: onPageHeaderClose
227
- }, null, 8, ["title"]),
228
- vue.renderSlot(_ctx.$slots, "default")
229
- ]),
230
- _: 3
231
- /* FORWARDED */
232
- }, 8, ["class", "visible"]);
233
- };
234
- }
235
- });
193
+ var script$7 = /* @__PURE__ */ defineComponent({
194
+ __name: "AppDrawer",
195
+ props: {
196
+ modelValue: { type: Boolean, required: true },
197
+ title: { type: String, required: false }
198
+ },
199
+ emits: ["update:modelValue"],
200
+ setup(__props, { emit: __emit }) {
201
+ const emit = __emit;
202
+ const onVisibleChange = (value) => {
203
+ emit("update:modelValue", value);
204
+ };
205
+ const onPageHeaderClose = () => {
206
+ emit("update:modelValue", false);
207
+ };
208
+ return (_ctx, _cache) => {
209
+ const _component_nut_popup = resolveComponent("nut-popup");
210
+ return openBlock(), createBlock(_component_nut_popup, {
211
+ class: normalizeClass([
212
+ "app-drawer",
213
+ {
214
+ open: _ctx.modelValue
215
+ }
216
+ ]),
217
+ position: "right",
218
+ visible: _ctx.modelValue,
219
+ "onUpdate:visible": onVisibleChange
220
+ }, {
221
+ default: withCtx(() => [
222
+ createVNode(script$8, {
223
+ title: _ctx.title,
224
+ onClose: onPageHeaderClose
225
+ }, null, 8, ["title"]),
226
+ renderSlot(_ctx.$slots, "default")
227
+ ]),
228
+ _: 3
229
+ /* FORWARDED */
230
+ }, 8, ["class", "visible"]);
231
+ };
232
+ }
233
+ });
236
234
 
237
- var css_248z$7 = ".app-drawer {\n position: absolute;\n height: 0;\n}\n.app-drawer.open {\n height: 100vh;\n}";
238
- styleInject(css_248z$7);
235
+ var css_248z$7 = ".app-drawer {\n position: absolute;\n height: 0;\n}\n.app-drawer.open {\n height: 100vh;\n}";
236
+ styleInject(css_248z$7);
239
237
 
240
- script$7.__file = "src/shared/components/AppDrawer.vue";
238
+ script$7.__file = "src/shared/components/AppDrawer.vue";
241
239
 
242
- var HttpMethod = /* @__PURE__ */ ((HttpMethod2) => {
243
- HttpMethod2["get"] = "GET";
244
- HttpMethod2["post"] = "POST";
245
- HttpMethod2["put"] = "PUT";
246
- HttpMethod2["delete"] = "DELETE";
247
- return HttpMethod2;
248
- })(HttpMethod || {});
240
+ var HttpMethod = /* @__PURE__ */ ((HttpMethod2) => {
241
+ HttpMethod2["get"] = "GET";
242
+ HttpMethod2["post"] = "POST";
243
+ HttpMethod2["put"] = "PUT";
244
+ HttpMethod2["delete"] = "DELETE";
245
+ return HttpMethod2;
246
+ })(HttpMethod || {});
249
247
 
250
- const defaultClientConfig = {
251
- baseUrl: "https://ytech.ddjf.com",
252
- response: {
253
- getCode: (data) => data.code,
254
- getMessage: (data) => data.msg,
255
- getData: (data) => data.result
256
- }
257
- };
258
- let clientConfig = {
259
- ...defaultClientConfig
260
- };
261
- const request = (config) => {
262
- return new Promise((resolve, reject) => {
263
- const data = config.data && clientConfig.translates && clientConfig.translates[config.url] ? clientConfig.translates[config.url](config.data) : config.data;
264
- Taro.request({
265
- url: `${clientConfig.baseUrl}${config.url}`,
266
- data,
267
- header: clientConfig.header,
268
- method: config.method,
269
- success(res) {
270
- if (!isSuccess(res)) {
271
- reject({});
272
- }
273
- const { data: raw } = res;
274
- if (clientConfig.interceptors?.auth(raw)) {
275
- clientConfig.onAuthError?.();
276
- reject("auth failed");
277
- }
278
- if (clientConfig.interceptors?.server(raw)) {
279
- clientConfig.onServerError?.();
280
- reject("server error");
281
- }
282
- const response = clientConfig.response?.getData(raw);
283
- if (response) {
284
- resolve(clientConfig.transforms && clientConfig.transforms[config.url] ? clientConfig.transforms[config.url](response) : response);
285
- } else {
286
- reject({});
287
- }
288
- },
289
- fail(res) {
290
- console.log("HTTP failed", res);
291
- }
292
- });
293
- });
294
- };
295
- const get = (url, data) => {
296
- return request({
297
- url,
248
+ const defaultClientConfig = {
249
+ baseUrl: "https://ytech.ddjf.com",
250
+ response: {
251
+ getCode: (data) => data.code,
252
+ getMessage: (data) => data.msg,
253
+ getData: (data) => data.result
254
+ }
255
+ };
256
+ let clientConfig = {
257
+ ...defaultClientConfig
258
+ };
259
+ const request = (config) => {
260
+ return new Promise((resolve, reject) => {
261
+ const data = config.data && clientConfig.translates && clientConfig.translates[config.url] ? clientConfig.translates[config.url](config.data) : config.data;
262
+ Taro.request({
263
+ url: `${clientConfig.baseUrl}${config.url}`,
298
264
  data,
299
- method: HttpMethod.get
265
+ header: clientConfig.header,
266
+ method: config.method,
267
+ success(res) {
268
+ if (!isSuccess(res)) {
269
+ reject({});
270
+ }
271
+ const { data: raw } = res;
272
+ if (clientConfig.interceptors?.auth(raw)) {
273
+ clientConfig.onAuthError?.();
274
+ reject("auth failed");
275
+ }
276
+ if (clientConfig.interceptors?.server(raw)) {
277
+ clientConfig.onServerError?.();
278
+ reject("server error");
279
+ }
280
+ const response = clientConfig.response?.getData(raw);
281
+ if (response) {
282
+ resolve(clientConfig.transforms && clientConfig.transforms[config.url] ? clientConfig.transforms[config.url](response) : response);
283
+ } else {
284
+ reject({});
285
+ }
286
+ },
287
+ fail(res) {
288
+ console.log("HTTP failed", res);
289
+ }
300
290
  });
291
+ });
292
+ };
293
+ const get = (url, data) => {
294
+ return request({
295
+ url,
296
+ data,
297
+ method: HttpMethod.get
298
+ });
299
+ };
300
+ const post = (url, data) => {
301
+ return request({
302
+ url,
303
+ data,
304
+ method: HttpMethod.post
305
+ });
306
+ };
307
+ function useHttp(config) {
308
+ clientConfig = {
309
+ ...defaultClientConfig,
310
+ ...config
301
311
  };
302
- const post = (url, data) => {
303
- return request({
304
- url,
305
- data,
306
- method: HttpMethod.post
307
- });
312
+ return {
313
+ request,
314
+ get,
315
+ post
308
316
  };
309
- function useHttp(config) {
310
- clientConfig = {
311
- ...defaultClientConfig,
312
- ...config
313
- };
314
- return {
315
- request,
316
- get,
317
- post
318
- };
319
- }
320
- const successResonseCodes = [
321
- "200"
322
- ];
323
- function isSuccess(res) {
324
- return /^2/.test(res.statusCode.toString()) && successResonseCodes.includes(`${clientConfig.response?.getCode(res.data)}`);
325
- }
317
+ }
318
+ const successResonseCodes = [
319
+ "200"
320
+ ];
321
+ function isSuccess(res) {
322
+ return /^2/.test(res.statusCode.toString()) && successResonseCodes.includes(`${clientConfig.response?.getCode(res.data)}`);
323
+ }
326
324
 
327
- const endpointsList$1 = {
328
- /**
329
- * 获取充值套餐包列表
330
- * (查询某应用某场景可充值的金额列表)
331
- * http://ytech.dev.ddjf.info/payment/doc.html#/%E5%AE%A2%E6%88%B7%E5%9F%9FAPI/%E6%94%AF%E4%BB%98%E4%B8%AD%E5%BF%83-%E5%AF%B9%E5%A4%96%E6%8E%A5%E5%8F%A3/getRechargeListUsingGET
332
- */
333
- getPackages: {
334
- path: "/payment/outer/payment/getRechargeList",
335
- translate: (data) => ({
336
- appCode: data.app,
337
- caseCode: "recharge",
338
- // 这个参数可以不要
339
- tenantId: data.tenant
340
- }),
341
- transform: (data) => data.amountList.map((d) => ({
342
- token: d.desc,
343
- amount: d.amount
344
- }))
345
- },
346
- /**
347
- * 查询支付参数包
348
- * (获取拉起微信支付用的JSON串)
349
- * http://ytech.dev.ddjf.info/payment/doc.html#/%E5%AE%A2%E6%88%B7%E5%9F%9FAPI/%E6%94%AF%E4%BB%98%E4%B8%AD%E5%BF%83-%E5%AF%B9%E5%A4%96%E6%8E%A5%E5%8F%A3/rechargePayUsingPOST
350
- */
351
- getPayParams: {
352
- // {
353
- // "amount": 100,
354
- // "appCode": "crm",
355
- // "caseCode": "aiApproveRecharge",
356
- // "tenantId": "17454646",
357
- // "transFlowNo": "4343244",
358
- // "certificateNo": "o7k8L0QTqcwRIBKVUPzI7iPfghLM"
359
- // }
360
- path: "/payment/outer/payment/rechargePay",
361
- translate: (params) => ({
362
- amount: params.amount,
363
- appCode: params.app,
364
- // caseCode: data.stage, 这个参数可以不传
365
- tenantId: params.tenant,
366
- // transFlowNo: '4343244', 这个参数可以不传
367
- certificateNo: params.user
368
- }),
369
- transform: (data) => {
370
- let json = null;
371
- try {
372
- json = JSON.parse(data.prePayStr);
373
- } catch (e) {
374
- }
375
- return {
376
- json,
377
- // 拉起微信支付用的JSON串
378
- paymentId: data.payId
379
- // 查询用支付ID
380
- };
325
+ const endpointsList$1 = {
326
+ /**
327
+ * 获取充值套餐包列表
328
+ * (查询某应用某场景可充值的金额列表)
329
+ * http://ytech.dev.ddjf.info/payment/doc.html#/%E5%AE%A2%E6%88%B7%E5%9F%9FAPI/%E6%94%AF%E4%BB%98%E4%B8%AD%E5%BF%83-%E5%AF%B9%E5%A4%96%E6%8E%A5%E5%8F%A3/getRechargeListUsingGET
330
+ */
331
+ getPackages: {
332
+ path: "/payment/outer/payment/getRechargeList",
333
+ translate: (data) => ({
334
+ appCode: data.app,
335
+ caseCode: "recharge",
336
+ // 这个参数可以不要
337
+ tenantId: data.tenant
338
+ }),
339
+ transform: (data) => data.amountList.map((d) => ({
340
+ token: d.desc,
341
+ amount: d.amount
342
+ }))
343
+ },
344
+ /**
345
+ * 查询支付参数包
346
+ * (获取拉起微信支付用的JSON串)
347
+ * http://ytech.dev.ddjf.info/payment/doc.html#/%E5%AE%A2%E6%88%B7%E5%9F%9FAPI/%E6%94%AF%E4%BB%98%E4%B8%AD%E5%BF%83-%E5%AF%B9%E5%A4%96%E6%8E%A5%E5%8F%A3/rechargePayUsingPOST
348
+ */
349
+ getPayParams: {
350
+ // {
351
+ // "amount": 100,
352
+ // "appCode": "crm",
353
+ // "caseCode": "aiApproveRecharge",
354
+ // "tenantId": "17454646",
355
+ // "transFlowNo": "4343244",
356
+ // "certificateNo": "o7k8L0QTqcwRIBKVUPzI7iPfghLM"
357
+ // }
358
+ path: "/payment/outer/payment/rechargePay",
359
+ translate: (params) => ({
360
+ amount: params.amount,
361
+ appCode: params.app,
362
+ // caseCode: data.stage, 这个参数可以不传
363
+ tenantId: params.tenant,
364
+ // transFlowNo: '4343244', 这个参数可以不传
365
+ certificateNo: params.user
366
+ }),
367
+ transform: (data) => {
368
+ let json = null;
369
+ try {
370
+ json = JSON.parse(data.prePayStr);
371
+ } catch (e) {
381
372
  }
373
+ return {
374
+ json,
375
+ // 拉起微信支付用的JSON串
376
+ paymentId: data.payId
377
+ // 查询用支付ID
378
+ };
382
379
  }
383
- };
384
- const endpoints$1 = Object.fromEntries(
385
- Object.entries(endpointsList$1).map(([name, def]) => [name, def.path])
386
- );
387
- const translates$1 = Object.fromEntries(
388
- Object.entries(endpointsList$1).map(([, def]) => [def.path, def.translate])
389
- );
390
- const transforms$1 = Object.fromEntries(
391
- Object.entries(endpointsList$1).map(([, def]) => [def.path, def.transform])
392
- );
380
+ }
381
+ };
382
+ const endpoints$1 = Object.fromEntries(
383
+ Object.entries(endpointsList$1).map(([name, def]) => [name, def.path])
384
+ );
385
+ const translates$1 = Object.fromEntries(
386
+ Object.entries(endpointsList$1).map(([, def]) => [def.path, def.translate])
387
+ );
388
+ const transforms$1 = Object.fromEntries(
389
+ Object.entries(endpointsList$1).map(([, def]) => [def.path, def.transform])
390
+ );
393
391
 
394
- const globalData = {};
392
+ const globalData = {};
395
393
 
396
- const appKitOptions = {
397
- token: () => "",
398
- baseUrl: () => ""
394
+ const appKitOptions = {
395
+ token: () => "",
396
+ baseUrl: () => ""
397
+ };
398
+ const useAppKitOptions = () => {
399
+ if (!globalData.$appKitOptions) {
400
+ globalData.$appKitOptions = appKitOptions;
401
+ }
402
+ return globalData.$appKitOptions;
403
+ };
404
+
405
+ const makeHttp$1 = () => {
406
+ const appkitOptions = useAppKitOptions();
407
+ const header = {
408
+ Token: appkitOptions.token()
399
409
  };
400
- const useAppKitOptions = () => {
401
- if (!globalData.$appKitOptions) {
402
- globalData.$appKitOptions = appKitOptions;
410
+ const $http = useHttp({
411
+ baseUrl: appkitOptions.baseUrl(),
412
+ header,
413
+ translates: translates$1,
414
+ transforms: transforms$1
415
+ });
416
+ return $http;
417
+ };
418
+
419
+ const CASHIER_APP_ID = "wx82330581af3328ab";
420
+
421
+ const invokeRecharge = (options) => {
422
+ const { app, tenant } = options;
423
+ Taro.navigateToMiniProgram({
424
+ appId: CASHIER_APP_ID,
425
+ path: `/pages/recharge/index?app=${app}&tenant=${tenant}`,
426
+ envVersion: "trial",
427
+ success() {
428
+ console.log("\u5524\u8D77\u652F\u4ED8\u4E2D\u5FC3\u5C0F\u7A0B\u5E8F");
429
+ },
430
+ complete() {
403
431
  }
404
- return globalData.$appKitOptions;
405
- };
432
+ });
433
+ };
434
+ var invokeRecharge$1 = {
435
+ install($app) {
436
+ $app.invokeRecharge = invokeRecharge;
437
+ }
438
+ };
406
439
 
407
- const makeHttp$1 = () => {
408
- const appkitOptions = useAppKitOptions();
409
- const header = {
410
- Token: appkitOptions.token()
411
- };
412
- const $http = useHttp({
413
- baseUrl: appkitOptions.baseUrl(),
414
- header,
415
- translates: translates$1,
416
- transforms: transforms$1
440
+ const requestPayment = (params) => {
441
+ return new Promise((resolve, reject) => {
442
+ const $http = makeHttp$1();
443
+ $http.post(endpoints$1.getPayParams, {
444
+ ...params,
445
+ amount: 0.01
446
+ }).then((response) => {
447
+ requestPayment$2(response.json).then((result) => {
448
+ if (result) {
449
+ resolve(true);
450
+ } else {
451
+ resolve(false);
452
+ }
453
+ });
417
454
  });
418
- return $http;
419
- };
455
+ });
456
+ };
457
+ var requestPayment$1 = {
458
+ install($app) {
459
+ $app.requestPayment = requestPayment;
460
+ }
461
+ };
420
462
 
421
- const requestPayment = (params) => {
422
- return new Promise((resolve, reject) => {
463
+ const services$1 = [
464
+ requestPayment$1,
465
+ invokeRecharge$1
466
+ ];
467
+
468
+ const _hoisted_1$6 = { class: "view recharge-view" };
469
+ const _hoisted_2$6 = { class: "flex-grow" };
470
+ const _hoisted_3$6 = { class: "amount-footer" };
471
+ const _hoisted_4$5 = { class: "agreement" };
472
+ var script$6 = /* @__PURE__ */ defineComponent({
473
+ __name: "RechargeView",
474
+ props: {
475
+ app: { type: String, required: true },
476
+ tenant: { type: String, required: true }
477
+ },
478
+ emits: ["complete"],
479
+ setup(__props, { emit: __emit }) {
480
+ const props = __props;
481
+ const emit = __emit;
482
+ const state = reactive({
483
+ agreed: false,
484
+ agreementOpen: false,
485
+ selected: 0
486
+ });
487
+ const amounts = ref([
488
+ {
489
+ token: 1e3,
490
+ amount: 100
491
+ }
492
+ ]);
493
+ const onAgreementLinkClick = ($event) => {
494
+ state.agreementOpen = true;
495
+ };
496
+ onMounted(() => {
423
497
  const $http = makeHttp$1();
424
- $http.post(endpoints$1.getPayParams, {
425
- ...params,
426
- amount: 0.01
498
+ $http.get(endpoints$1.getPackages, {
499
+ app: props.app,
500
+ // stage: 'aiApproveRecharge', // 支付场景
501
+ tenant: props.tenant
427
502
  }).then((response) => {
428
- requestPayment$1(response.json).then((result) => {
429
- if (result) {
430
- resolve(true);
431
- } else {
432
- resolve(false);
433
- }
434
- });
503
+ amounts.value = response;
435
504
  });
436
505
  });
437
- };
438
-
439
- const _hoisted_1$6 = { class: "view recharge-view" };
440
- const _hoisted_2$6 = { class: "flex-grow" };
441
- const _hoisted_3$6 = { class: "amount-footer" };
442
- const _hoisted_4$5 = { class: "agreement" };
443
- var script$6 = /* @__PURE__ */ vue.defineComponent({
444
- __name: "RechargeView",
445
- props: {
446
- app: { type: String, required: true },
447
- tenant: { type: String, required: true }
448
- },
449
- emits: ["complete"],
450
- setup(__props, { emit: __emit }) {
451
- const props = __props;
452
- const emit = __emit;
453
- const state = vue.reactive({
454
- agreed: false,
455
- agreementOpen: false,
456
- selected: 0
457
- });
458
- const amounts = vue.ref([
459
- {
460
- token: 1e3,
461
- amount: 100
462
- }
463
- ]);
464
- const onAgreementLinkClick = ($event) => {
465
- state.agreementOpen = true;
466
- };
467
- vue.onMounted(() => {
468
- const $http = makeHttp$1();
469
- $http.get(endpoints$1.getPackages, {
470
- app: props.app,
471
- // stage: 'aiApproveRecharge', // 支付场景
472
- tenant: props.tenant
473
- }).then((response) => {
474
- amounts.value = response;
506
+ const onPayClick = () => {
507
+ if (!state.agreed) {
508
+ Taro.showToast({
509
+ title: "\u8BF7\u52FE\u9009\u5145\u503C\u534F\u8BAE",
510
+ icon: "none"
475
511
  });
476
- });
477
- const onPayClick = () => {
478
- if (!state.agreed) {
479
- Taro.showToast({
480
- title: "\u8BF7\u52FE\u9009\u5145\u503C\u534F\u8BAE",
481
- icon: "none"
512
+ return false;
513
+ }
514
+ wx.login({
515
+ success({ code }) {
516
+ requestPayment({
517
+ amount: amounts.value[state.selected].amount,
518
+ app: props.app,
519
+ // 'crm',
520
+ tenant: props.tenant,
521
+ // '17454646',
522
+ user: code
523
+ }).then((result) => {
524
+ emit("complete", result);
482
525
  });
483
- return false;
484
526
  }
485
- wx.login({
486
- success({ code }) {
487
- requestPayment({
488
- amount: amounts.value[state.selected].amount,
489
- app: props.app,
490
- // 'crm',
491
- tenant: props.tenant,
492
- // '17454646',
493
- user: code
494
- }).then((result) => {
495
- emit("complete", result);
496
- });
497
- }
498
- });
499
- };
500
- return (_ctx, _cache) => {
501
- const _component_nut_checkbox = vue.resolveComponent("nut-checkbox");
502
- const _component_nut_button = vue.resolveComponent("nut-button");
503
- return vue.openBlock(), vue.createElementBlock("view", _hoisted_1$6, [
504
- vue.createElementVNode("view", _hoisted_2$6, [
505
- vue.createVNode(script$a, {
506
- items: amounts.value,
507
- selected: state.selected
508
- }, null, 8, ["items", "selected"])
509
- ]),
510
- vue.createElementVNode("view", _hoisted_3$6, [
511
- vue.createElementVNode("view", _hoisted_4$5, [
512
- vue.createVNode(_component_nut_checkbox, {
513
- modelValue: state.agreed,
514
- "onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => state.agreed = $event)
515
- }, {
516
- default: vue.withCtx(() => [
517
- vue.createTextVNode("\u6211\u5DF2\u9605\u8BFB\u5E76\u540C\u610F"),
518
- vue.createElementVNode("a", {
519
- class: "link inline",
520
- onClick: onAgreementLinkClick
521
- }, "\u300A\u5927\u9053\u4E91\u5E73\u53F0\u4E91\u8C46\u5145\u503C\u670D\u52A1\u534F\u8BAE\u300B")
522
- ]),
523
- _: 1
524
- /* STABLE */
525
- }, 8, ["modelValue"])
526
- ]),
527
- vue.createVNode(_component_nut_button, {
528
- block: "",
529
- shape: "square",
530
- onClick: onPayClick,
531
- class: "recharge-button"
527
+ });
528
+ };
529
+ return (_ctx, _cache) => {
530
+ const _component_nut_checkbox = resolveComponent("nut-checkbox");
531
+ const _component_nut_button = resolveComponent("nut-button");
532
+ return openBlock(), createElementBlock("view", _hoisted_1$6, [
533
+ createElementVNode("view", _hoisted_2$6, [
534
+ createVNode(script$a, {
535
+ items: amounts.value,
536
+ selected: state.selected
537
+ }, null, 8, ["items", "selected"])
538
+ ]),
539
+ createElementVNode("view", _hoisted_3$6, [
540
+ createElementVNode("view", _hoisted_4$5, [
541
+ createVNode(_component_nut_checkbox, {
542
+ modelValue: state.agreed,
543
+ "onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => state.agreed = $event)
532
544
  }, {
533
- default: vue.withCtx(() => [
534
- vue.createTextVNode("\u7ACB\u5373\u5145\u503C")
545
+ default: withCtx(() => [
546
+ createTextVNode("\u6211\u5DF2\u9605\u8BFB\u5E76\u540C\u610F"),
547
+ createElementVNode("a", {
548
+ class: "link inline",
549
+ onClick: onAgreementLinkClick
550
+ }, "\u300A\u5927\u9053\u4E91\u5E73\u53F0\u4E91\u8C46\u5145\u503C\u670D\u52A1\u534F\u8BAE\u300B")
535
551
  ]),
536
552
  _: 1
537
553
  /* STABLE */
538
- })
554
+ }, 8, ["modelValue"])
539
555
  ]),
540
- vue.createVNode(vue.unref(script$7), {
541
- modelValue: state.agreementOpen,
542
- "onUpdate:modelValue": _cache[1] || (_cache[1] = ($event) => state.agreementOpen = $event),
543
- title: "\u5145\u503C\u534F\u8BAE"
556
+ createVNode(_component_nut_button, {
557
+ block: "",
558
+ shape: "square",
559
+ onClick: onPayClick,
560
+ class: "recharge-button"
544
561
  }, {
545
- default: vue.withCtx(() => [
546
- vue.createVNode(script$9)
562
+ default: withCtx(() => [
563
+ createTextVNode("\u7ACB\u5373\u5145\u503C")
547
564
  ]),
548
565
  _: 1
549
566
  /* STABLE */
550
- }, 8, ["modelValue"])
551
- ]);
552
- };
553
- }
554
- });
567
+ })
568
+ ]),
569
+ createVNode(unref(script$7), {
570
+ modelValue: state.agreementOpen,
571
+ "onUpdate:modelValue": _cache[1] || (_cache[1] = ($event) => state.agreementOpen = $event),
572
+ title: "\u5145\u503C\u534F\u8BAE"
573
+ }, {
574
+ default: withCtx(() => [
575
+ createVNode(script$9)
576
+ ]),
577
+ _: 1
578
+ /* STABLE */
579
+ }, 8, ["modelValue"])
580
+ ]);
581
+ };
582
+ }
583
+ });
555
584
 
556
- var css_248z$6 = ".recharge-view {\n height: 100%;\n display: flex;\n flex-direction: column;\n}\n.recharge-view .flex-grow {\n flex-grow: 1;\n}\n.recharge-view .amount-footer {\n padding: 10px;\n}\n.recharge-view .amount-footer .agreement {\n font-size: 12px;\n display: flex;\n justify-content: center;\n align-items: cebter;\n height: 40px;\n}\n.recharge-view .amount-footer .recharge-button {\n background: linear-gradient(90deg, #FFEBC1 0%, #FFD7A7 52.29%, #FFB875 100%);\n color: #353535;\n margin: 12px 0;\n border: 0;\n}\n.recharge-view .amount-footer .nut-checkbox {\n line-height: 40px;\n}\n.recharge-view .amount-footer .nut-checkbox__label {\n margin-left: 8px;\n flex: flex;\n font-size: 12px;\n}\n.recharge-view .amount-footer .link {\n display: inline;\n color: #FD6701;\n}";
557
- styleInject(css_248z$6);
585
+ var css_248z$6 = ".recharge-view {\n height: 100%;\n display: flex;\n flex-direction: column;\n}\n.recharge-view .flex-grow {\n flex-grow: 1;\n}\n.recharge-view .amount-footer {\n padding: 10px;\n}\n.recharge-view .amount-footer .agreement {\n font-size: 12px;\n display: flex;\n justify-content: center;\n align-items: cebter;\n height: 40px;\n}\n.recharge-view .amount-footer .recharge-button {\n background: linear-gradient(90deg, #FFEBC1 0%, #FFD7A7 52.29%, #FFB875 100%);\n color: #353535;\n margin: 12px 0;\n border: 0;\n}\n.recharge-view .amount-footer .nut-checkbox {\n line-height: 40px;\n}\n.recharge-view .amount-footer .nut-checkbox__label {\n margin-left: 8px;\n flex: flex;\n font-size: 12px;\n}\n.recharge-view .amount-footer .link {\n display: inline;\n color: #FD6701;\n}";
586
+ styleInject(css_248z$6);
558
587
 
559
- script$6.__file = "src/payment/components/RechargeView.vue";
588
+ script$6.__file = "src/payment/components/RechargeView.vue";
560
589
 
561
- const components = {
562
- AmountPicker: script$a,
563
- RechargeView: script$6,
564
- UserAgreement: script$9
565
- };
590
+ const components = {
591
+ AmountPicker: script$a,
592
+ RechargeView: script$6,
593
+ UserAgreement: script$9
594
+ };
566
595
 
567
- const typeMappings = {
568
- "CZ": "\u5145\u503C",
569
- "JF": "\u7F34\u8D39",
570
- "FE": "\u8FD4\u989D",
571
- "ZJ": "\u589E\u52A0",
572
- "KJ": "\u6263\u51CF",
573
- "XH": "\u6D88\u8017",
574
- "TH": "\u9000\u56DE"
575
- };
576
- const typeMappingsReversed = Object.fromEntries(
577
- Object.entries(typeMappings).map(([x, y]) => [y, x])
578
- );
579
- const positionMappings = {
580
- "common": "\u4E91\u8C46",
581
- "rights": "\u5C0F\u4E91\u8C46"
582
- };
583
- const positionMappingsReversed = Object.fromEntries(
584
- Object.entries(positionMappings).map(([x, y]) => [y, x])
585
- );
586
- const directionMappings = {
587
- 0: "\u6536\u5165",
588
- 1: "\u652F\u51FA"
589
- };
590
- const directionMappingsReversed = Object.fromEntries(
591
- Object.entries(directionMappings).map(([x, y]) => [y, x])
592
- );
593
- const endpointsList = {
594
- /**
595
- * 余额明细
596
- */
597
- getBalance: {
598
- path: "/ac-app/account/info/detail/app",
599
- translate: (data) => ({
600
- // appCode: 'fnfundkit',
601
- // tenantCode: '1665925586953629696',
602
- }),
603
- transform(result) {
604
- return {
605
- total: result.commonAccount,
606
- privileges: result.rightsAccountBalList.map((r) => ({
607
- title: r.rightsName,
608
- amount: r.rightsAccount
609
- }))
610
- };
611
- }
596
+ const typeMappings = {
597
+ "CZ": "\u5145\u503C",
598
+ "JF": "\u7F34\u8D39",
599
+ "FE": "\u8FD4\u989D",
600
+ "ZJ": "\u589E\u52A0",
601
+ "KJ": "\u6263\u51CF",
602
+ "XH": "\u6D88\u8017",
603
+ "TH": "\u9000\u56DE"
604
+ };
605
+ const typeMappingsReversed = Object.fromEntries(
606
+ Object.entries(typeMappings).map(([x, y]) => [y, x])
607
+ );
608
+ const positionMappings = {
609
+ "common": "\u4E91\u8C46",
610
+ "rights": "\u5C0F\u4E91\u8C46"
611
+ };
612
+ const positionMappingsReversed = Object.fromEntries(
613
+ Object.entries(positionMappings).map(([x, y]) => [y, x])
614
+ );
615
+ const directionMappings = {
616
+ 0: "\u6536\u5165",
617
+ 1: "\u652F\u51FA"
618
+ };
619
+ const directionMappingsReversed = Object.fromEntries(
620
+ Object.entries(directionMappings).map(([x, y]) => [y, x])
621
+ );
622
+ const endpointsList = {
623
+ /**
624
+ * 余额明细
625
+ */
626
+ getBalance: {
627
+ path: "/ac-app/account/info/detail/app",
628
+ translate: (data) => ({
629
+ // appCode: 'fnfundkit',
630
+ // tenantCode: '1665925586953629696',
631
+ }),
632
+ transform(result) {
633
+ return {
634
+ total: result.commonAccount,
635
+ privileges: result.rightsAccountBalList.map((r) => ({
636
+ title: r.rightsName,
637
+ amount: r.rightsAccount
638
+ }))
639
+ };
640
+ }
641
+ },
642
+ /**
643
+ * 账户流水明细
644
+ */
645
+ getOperations: {
646
+ path: "/ac-app/account/record/detail/mobile",
647
+ translate: (data) => {
648
+ return {
649
+ accountType: positionMappingsReversed[data.position] || "",
650
+ inOrOut: directionMappingsReversed[data.direction] || "",
651
+ changeType: typeMappingsReversed[data.type] || "",
652
+ operateTimeEnd: data.dateFrom || "",
653
+ operateTimeStart: data.dateTo || ""
654
+ };
612
655
  },
613
- /**
614
- * 账户流水明细
615
- */
616
- getOperations: {
617
- path: "/ac-app/account/record/detail/mobile",
618
- translate: (data) => {
619
- return {
620
- accountType: positionMappingsReversed[data.position] || "",
621
- inOrOut: directionMappingsReversed[data.direction] || "",
622
- changeType: typeMappingsReversed[data.type] || "",
623
- operateTimeEnd: data.dateFrom || "",
624
- operateTimeStart: data.dateTo || ""
625
- };
626
- },
627
- transform(result) {
628
- if (!result.accountRecordDetailDailyList)
629
- return [];
630
- const data = {
631
- from: result.operateTimeStart,
632
- to: result.operateTimeEnd,
633
- list: result.accountRecordDetailDailyList.map((r) => ({
634
- date: r.operateTime,
635
- consumptions: r.accountRecordDetailList.map((d) => ({
636
- position: positionMappings[d.accountTYpe],
637
- type: typeMappings[d.changeType],
638
- direction: directionMappings[d.inOrOut],
639
- amount: d.changeValue,
640
- title: d.rightsName,
641
- description: d.remark
642
- }))
656
+ transform(result) {
657
+ if (!result.accountRecordDetailDailyList)
658
+ return [];
659
+ const data = {
660
+ from: result.operateTimeStart,
661
+ to: result.operateTimeEnd,
662
+ list: result.accountRecordDetailDailyList.map((r) => ({
663
+ date: r.operateTime,
664
+ consumptions: r.accountRecordDetailList.map((d) => ({
665
+ position: positionMappings[d.accountTYpe],
666
+ type: typeMappings[d.changeType],
667
+ direction: directionMappings[d.inOrOut],
668
+ amount: d.changeValue,
669
+ title: d.rightsName,
670
+ description: d.remark
643
671
  }))
644
- };
645
- return data;
646
- }
672
+ }))
673
+ };
674
+ return data;
647
675
  }
648
- };
649
- const endpoints = Object.fromEntries(
650
- Object.entries(endpointsList).map(([name, def]) => [name, def.path])
651
- );
652
- const translates = Object.fromEntries(
653
- Object.entries(endpointsList).map(([, def]) => [def.path, def.translate])
654
- );
655
- const transforms = Object.fromEntries(
656
- Object.entries(endpointsList).map(([, def]) => [def.path, def.transform])
657
- );
676
+ }
677
+ };
678
+ const endpoints = Object.fromEntries(
679
+ Object.entries(endpointsList).map(([name, def]) => [name, def.path])
680
+ );
681
+ const translates = Object.fromEntries(
682
+ Object.entries(endpointsList).map(([, def]) => [def.path, def.translate])
683
+ );
684
+ const transforms = Object.fromEntries(
685
+ Object.entries(endpointsList).map(([, def]) => [def.path, def.transform])
686
+ );
658
687
 
659
- const makeHttp = () => {
660
- const appkitOptions = useAppKitOptions();
661
- const header = {
662
- Token: appkitOptions.token()
663
- };
664
- const $http = useHttp({
665
- baseUrl: appkitOptions.baseUrl(),
666
- header,
667
- translates,
668
- transforms
669
- });
670
- return $http;
688
+ const makeHttp = () => {
689
+ const appkitOptions = useAppKitOptions();
690
+ const header = {
691
+ Token: appkitOptions.token()
671
692
  };
693
+ const $http = useHttp({
694
+ baseUrl: appkitOptions.baseUrl(),
695
+ header,
696
+ translates,
697
+ transforms
698
+ });
699
+ return $http;
700
+ };
672
701
 
673
- const _hoisted_1$5 = { class: "account-card" };
674
- const _hoisted_2$5 = { class: "card" };
675
- const _hoisted_3$5 = { class: "card-row" };
676
- const _hoisted_4$4 = { class: "card-row-left" };
677
- const _hoisted_5$4 = /* @__PURE__ */ vue.createElementVNode(
678
- "div",
679
- { class: "bean-box" },
680
- [
681
- /* @__PURE__ */ vue.createElementVNode("div", { class: "bean-icon-box" }, [
682
- /* @__PURE__ */ vue.createElementVNode("img", {
683
- class: "bean-icon",
684
- src: "https://cdn.ddjf.com/static/images/bpms-workBench/gold-bean.png"
685
- })
686
- ]),
687
- /* @__PURE__ */ vue.createElementVNode("span", { class: "baan-name" }, "\u4E91\u8C46")
688
- ],
689
- -1
690
- /* HOISTED */
691
- );
692
- const _hoisted_6$3 = { class: "bean-nums" };
693
- const _hoisted_7$3 = /* @__PURE__ */ vue.createElementVNode(
694
- "div",
695
- { class: "account-info-name" },
696
- "\u8D26\u6237\u660E\u7EC6",
697
- -1
698
- /* HOISTED */
699
- );
700
- const _hoisted_8$1 = /* @__PURE__ */ vue.createElementVNode(
701
- "div",
702
- { class: "account-info-icon" },
703
- [
704
- /* @__PURE__ */ vue.createElementVNode("img", {
705
- class: "icon",
706
- src: "https://cdn.ddjf.com/static/images/bpms-workBench/gold-to.png"
702
+ const _hoisted_1$5 = { class: "account-card" };
703
+ const _hoisted_2$5 = { class: "card" };
704
+ const _hoisted_3$5 = { class: "card-row" };
705
+ const _hoisted_4$4 = { class: "card-row-left" };
706
+ const _hoisted_5$4 = /* @__PURE__ */ createElementVNode(
707
+ "div",
708
+ { class: "bean-box" },
709
+ [
710
+ /* @__PURE__ */ createElementVNode("div", { class: "bean-icon-box" }, [
711
+ /* @__PURE__ */ createElementVNode("img", {
712
+ class: "bean-icon",
713
+ src: "https://cdn.ddjf.com/static/images/bpms-workBench/gold-bean.png"
707
714
  })
708
- ],
709
- -1
710
- /* HOISTED */
711
- );
712
- const _hoisted_9$1 = [
713
- _hoisted_7$3,
714
- _hoisted_8$1
715
- ];
716
- const _hoisted_10$1 = /* @__PURE__ */ vue.createElementVNode(
717
- "div",
718
- { class: "line" },
719
- null,
720
- -1
721
- /* HOISTED */
722
- );
723
- const _hoisted_11$1 = /* @__PURE__ */ vue.createElementVNode(
724
- "div",
725
- { class: "card-row-left desc" },
726
- "\u4EC5\u4E91\u8C46\u53EF\u5145\u503C\uFF0C\u5C0F\u4E91\u8C46\u4E3A\u5E73\u53F0\u8D60\u9001",
727
- -1
728
- /* HOISTED */
729
- );
730
- const _hoisted_12$1 = /* @__PURE__ */ vue.createElementVNode(
731
- "div",
732
- null,
733
- "\u5145\u503C",
734
- -1
735
- /* HOISTED */
736
- );
737
- const _hoisted_13$1 = /* @__PURE__ */ vue.createElementVNode(
738
- "img",
739
- {
740
- class: "pay-icon",
741
- src: "https://cdn.ddjf.com/static/images/bpms-workBench/bean-right.png"
742
- },
743
- null,
744
- -1
745
- /* HOISTED */
746
- );
747
- const _hoisted_14$1 = [
748
- _hoisted_12$1,
749
- _hoisted_13$1
750
- ];
751
- var script$5 = /* @__PURE__ */ vue.defineComponent({
752
- __name: "BalanceCard",
753
- emits: [
754
- /**
755
- * 跳账户详情
756
- */
757
- "drill",
758
- /**
759
- * 跳充值页
760
- */
761
- "recharge"
762
- ],
763
- setup(__props, { emit: __emit }) {
764
- const balance = vue.ref({
765
- total: 0,
766
- privileges: []
767
- });
768
- const gotoRecharge = () => {
769
- emit("recharge");
770
- };
771
- async function loadBalance() {
772
- const $http = makeHttp();
773
- $http.get(endpoints.getBalance, {}).then((data) => {
774
- balance.value = data;
775
- });
776
- }
777
- const emit = __emit;
778
- function gotoDetail() {
779
- emit("drill");
780
- }
781
- vue.onMounted(() => {
782
- loadBalance();
715
+ ]),
716
+ /* @__PURE__ */ createElementVNode("span", { class: "baan-name" }, "\u4E91\u8C46")
717
+ ],
718
+ -1
719
+ /* HOISTED */
720
+ );
721
+ const _hoisted_6$3 = { class: "bean-nums" };
722
+ const _hoisted_7$3 = /* @__PURE__ */ createElementVNode(
723
+ "div",
724
+ { class: "account-info-name" },
725
+ "\u8D26\u6237\u660E\u7EC6",
726
+ -1
727
+ /* HOISTED */
728
+ );
729
+ const _hoisted_8$1 = /* @__PURE__ */ createElementVNode(
730
+ "div",
731
+ { class: "account-info-icon" },
732
+ [
733
+ /* @__PURE__ */ createElementVNode("img", {
734
+ class: "icon",
735
+ src: "https://cdn.ddjf.com/static/images/bpms-workBench/gold-to.png"
736
+ })
737
+ ],
738
+ -1
739
+ /* HOISTED */
740
+ );
741
+ const _hoisted_9$1 = [
742
+ _hoisted_7$3,
743
+ _hoisted_8$1
744
+ ];
745
+ const _hoisted_10$1 = /* @__PURE__ */ createElementVNode(
746
+ "div",
747
+ { class: "line" },
748
+ null,
749
+ -1
750
+ /* HOISTED */
751
+ );
752
+ const _hoisted_11$1 = /* @__PURE__ */ createElementVNode(
753
+ "div",
754
+ { class: "card-row-left desc" },
755
+ "\u4EC5\u4E91\u8C46\u53EF\u5145\u503C\uFF0C\u5C0F\u4E91\u8C46\u4E3A\u5E73\u53F0\u8D60\u9001",
756
+ -1
757
+ /* HOISTED */
758
+ );
759
+ const _hoisted_12$1 = /* @__PURE__ */ createElementVNode(
760
+ "div",
761
+ null,
762
+ "\u5145\u503C",
763
+ -1
764
+ /* HOISTED */
765
+ );
766
+ const _hoisted_13$1 = /* @__PURE__ */ createElementVNode(
767
+ "img",
768
+ {
769
+ class: "pay-icon",
770
+ src: "https://cdn.ddjf.com/static/images/bpms-workBench/bean-right.png"
771
+ },
772
+ null,
773
+ -1
774
+ /* HOISTED */
775
+ );
776
+ const _hoisted_14$1 = [
777
+ _hoisted_12$1,
778
+ _hoisted_13$1
779
+ ];
780
+ var script$5 = /* @__PURE__ */ defineComponent({
781
+ __name: "BalanceCard",
782
+ emits: [
783
+ /**
784
+ * 跳账户详情
785
+ */
786
+ "drill",
787
+ /**
788
+ * 跳充值页
789
+ */
790
+ "recharge"
791
+ ],
792
+ setup(__props, { emit: __emit }) {
793
+ const balance = ref({
794
+ total: 0,
795
+ privileges: []
796
+ });
797
+ const gotoRecharge = () => {
798
+ emit("recharge");
799
+ };
800
+ async function loadBalance() {
801
+ const $http = makeHttp();
802
+ $http.get(endpoints.getBalance, {}).then((data) => {
803
+ balance.value = data;
783
804
  });
784
- return (_ctx, _cache) => {
785
- return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$5, [
786
- vue.createElementVNode("div", _hoisted_2$5, [
787
- vue.createElementVNode("div", _hoisted_3$5, [
788
- vue.createElementVNode("div", _hoisted_4$4, [
789
- _hoisted_5$4,
790
- vue.createElementVNode(
791
- "div",
792
- _hoisted_6$3,
793
- vue.toDisplayString(balance.value.total),
794
- 1
795
- /* TEXT */
796
- )
797
- ]),
798
- vue.createElementVNode("div", { class: "card-row-right" }, [
799
- vue.createElementVNode("div", {
800
- class: "account-info-entry",
801
- onClick: gotoDetail
802
- }, [..._hoisted_9$1])
803
- ])
805
+ }
806
+ const emit = __emit;
807
+ function gotoDetail() {
808
+ emit("drill");
809
+ }
810
+ onMounted(() => {
811
+ loadBalance();
812
+ });
813
+ return (_ctx, _cache) => {
814
+ return openBlock(), createElementBlock("div", _hoisted_1$5, [
815
+ createElementVNode("div", _hoisted_2$5, [
816
+ createElementVNode("div", _hoisted_3$5, [
817
+ createElementVNode("div", _hoisted_4$4, [
818
+ _hoisted_5$4,
819
+ createElementVNode(
820
+ "div",
821
+ _hoisted_6$3,
822
+ toDisplayString(balance.value.total),
823
+ 1
824
+ /* TEXT */
825
+ )
804
826
  ]),
805
- _hoisted_10$1,
806
- vue.createElementVNode("div", { class: "card-row" }, [
807
- _hoisted_11$1,
808
- vue.createElementVNode("div", { class: "card-row-right" }, [
809
- vue.createElementVNode("div", {
810
- class: "pay",
811
- onClick: gotoRecharge
812
- }, [..._hoisted_14$1])
813
- ])
827
+ createElementVNode("div", { class: "card-row-right" }, [
828
+ createElementVNode("div", {
829
+ class: "account-info-entry",
830
+ onClick: gotoDetail
831
+ }, [..._hoisted_9$1])
832
+ ])
833
+ ]),
834
+ _hoisted_10$1,
835
+ createElementVNode("div", { class: "card-row" }, [
836
+ _hoisted_11$1,
837
+ createElementVNode("div", { class: "card-row-right" }, [
838
+ createElementVNode("div", {
839
+ class: "pay",
840
+ onClick: gotoRecharge
841
+ }, [..._hoisted_14$1])
814
842
  ])
815
843
  ])
816
- ]);
817
- };
818
- }
819
- });
844
+ ])
845
+ ]);
846
+ };
847
+ }
848
+ });
820
849
 
821
- var css_248z$5 = ".account-card .card {\n background: #2F2F2F;\n border-radius: 10px;\n padding: 13px 20px;\n margin: 0;\n}\n.account-card .card .card-row {\n display: flex;\n justify-content: space-between;\n align-items: center;\n}\n.account-card .card .card-row .card-row-left {\n display: flex;\n flex-direction: column;\n}\n.account-card .card .card-row .card-row-left .bean-box {\n display: flex;\n align-items: center;\n}\n.account-card .card .card-row .card-row-left .bean-box .bean-icon-box {\n width: 20px;\n height: 20px;\n margin-right: 8px;\n}\n.account-card .card .card-row .card-row-left .bean-box .bean-icon-box .bean-icon {\n display: block;\n font-size: 0;\n width: 100%;\n height: 100%;\n}\n.account-card .card .card-row .card-row-left .bean-box .baan-name {\n color: #F3D59D;\n font-weight: 600;\n font-size: 11px;\n}\n.account-card .card .card-row .card-row-left .bean-nums {\n color: #fff;\n line-height: 22px;\n font-weight: 500;\n font-size: 16px;\n margin-top: 3px;\n}\n.account-card .card .card-row .desc {\n font-size: 10px;\n color: #ccc;\n line-height: 14px;\n}\n.account-card .card .line {\n margin: 6px 0px 8px 0px;\n height: 1px;\n background: #C3C3C3;\n opacity: 0.2;\n}\n.account-card .card .card-row-right .pay {\n padding: 0 8px;\n line-height: 18px;\n color: #FFD6A5;\n border: 1px solid #FFD6A5;\n border-radius: 9px;\n font-size: 12px;\n display: flex;\n align-items: center;\n}\n.account-card .card .card-row-right .pay .pay-icon {\n display: block;\n font-size: 0;\n width: 3px;\n height: 6px;\n margin-left: 6px;\n}\n.account-card .card .card-row-right .account-info-entry {\n display: flex;\n align-items: center;\n padding: 0 10px;\n height: 28px;\n line-height: 28px;\n border-radius: 14px;\n background: linear-gradient(90deg, #FFEBC1 0%, #FFD7A7 52.29%, #FFB875 100%);\n}\n.account-card .card .card-row-right .account-info-entry .account-info-name {\n color: #975213;\n font-size: 13px;\n font-weight: 500;\n margin-right: 8px;\n}\n.account-card .card .card-row-right .account-info-entry .account-info-icon {\n width: 14px;\n height: 14px;\n border-radius: 7px;\n}\n.account-card .card .card-row-right .account-info-entry .account-info-icon .icon {\n display: block;\n font-size: 0;\n width: 100%;\n height: 100%;\n}";
822
- styleInject(css_248z$5);
850
+ var css_248z$5 = ".account-card .card {\n background: #2F2F2F;\n border-radius: 10px;\n padding: 13px 20px;\n margin: 0;\n}\n.account-card .card .card-row {\n display: flex;\n justify-content: space-between;\n align-items: center;\n}\n.account-card .card .card-row .card-row-left {\n display: flex;\n flex-direction: column;\n}\n.account-card .card .card-row .card-row-left .bean-box {\n display: flex;\n align-items: center;\n}\n.account-card .card .card-row .card-row-left .bean-box .bean-icon-box {\n width: 20px;\n height: 20px;\n margin-right: 8px;\n}\n.account-card .card .card-row .card-row-left .bean-box .bean-icon-box .bean-icon {\n display: block;\n font-size: 0;\n width: 100%;\n height: 100%;\n}\n.account-card .card .card-row .card-row-left .bean-box .baan-name {\n color: #F3D59D;\n font-weight: 600;\n font-size: 11px;\n}\n.account-card .card .card-row .card-row-left .bean-nums {\n color: #fff;\n line-height: 22px;\n font-weight: 500;\n font-size: 16px;\n margin-top: 3px;\n}\n.account-card .card .card-row .desc {\n font-size: 10px;\n color: #ccc;\n line-height: 14px;\n}\n.account-card .card .line {\n margin: 6px 0px 8px 0px;\n height: 1px;\n background: #C3C3C3;\n opacity: 0.2;\n}\n.account-card .card .card-row-right .pay {\n padding: 0 8px;\n line-height: 18px;\n color: #FFD6A5;\n border: 1px solid #FFD6A5;\n border-radius: 9px;\n font-size: 12px;\n display: flex;\n align-items: center;\n}\n.account-card .card .card-row-right .pay .pay-icon {\n display: block;\n font-size: 0;\n width: 3px;\n height: 6px;\n margin-left: 6px;\n}\n.account-card .card .card-row-right .account-info-entry {\n display: flex;\n align-items: center;\n padding: 0 10px;\n height: 28px;\n line-height: 28px;\n border-radius: 14px;\n background: linear-gradient(90deg, #FFEBC1 0%, #FFD7A7 52.29%, #FFB875 100%);\n}\n.account-card .card .card-row-right .account-info-entry .account-info-name {\n color: #975213;\n font-size: 13px;\n font-weight: 500;\n margin-right: 8px;\n}\n.account-card .card .card-row-right .account-info-entry .account-info-icon {\n width: 14px;\n height: 14px;\n border-radius: 7px;\n}\n.account-card .card .card-row-right .account-info-entry .account-info-icon .icon {\n display: block;\n font-size: 0;\n width: 100%;\n height: 100%;\n}";
851
+ styleInject(css_248z$5);
823
852
 
824
- script$5.__file = "src/balance/components/BalanceCard.vue";
853
+ script$5.__file = "src/balance/components/BalanceCard.vue";
825
854
 
826
- const consumptionTypes = [
827
- "\u5168\u90E8",
828
- "\u5145\u503C",
829
- "\u7F34\u8D39",
830
- "\u8FD4\u989D",
831
- "\u589E\u52A0",
832
- "\u6263\u51CF",
833
- "\u6D88\u8017",
834
- "\u9000\u56DE"
835
- ];
836
- const consumptionPositions = [
837
- "\u5168\u90E8",
838
- "\u4E91\u8C46",
839
- "\u5C0F\u4E91\u8C46"
840
- ];
841
- const consumptionDirections = [
842
- "\u5168\u90E8",
843
- "\u6536\u5165",
844
- "\u652F\u51FA"
845
- ];
855
+ const consumptionTypes = [
856
+ "\u5168\u90E8",
857
+ "\u5145\u503C",
858
+ "\u7F34\u8D39",
859
+ "\u8FD4\u989D",
860
+ "\u589E\u52A0",
861
+ "\u6263\u51CF",
862
+ "\u6D88\u8017",
863
+ "\u9000\u56DE"
864
+ ];
865
+ const consumptionPositions = [
866
+ "\u5168\u90E8",
867
+ "\u4E91\u8C46",
868
+ "\u5C0F\u4E91\u8C46"
869
+ ];
870
+ const consumptionDirections = [
871
+ "\u5168\u90E8",
872
+ "\u6536\u5165",
873
+ "\u652F\u51FA"
874
+ ];
846
875
 
847
- const _hoisted_1$4 = { class: "consumption-filter" };
848
- const _hoisted_2$4 = /* @__PURE__ */ vue.createElementVNode(
849
- "div",
850
- { class: "consumption-filter-title" },
851
- "\u9009\u62E9\u7B5B\u9009\u9879",
852
- -1
853
- /* HOISTED */
854
- );
855
- const _hoisted_3$4 = { class: "consumption-filter-content" };
856
- const _hoisted_4$3 = { class: "title" };
857
- const _hoisted_5$3 = { class: "info" };
858
- const _hoisted_6$2 = ["onClick"];
859
- const _hoisted_7$2 = /* @__PURE__ */ vue.createElementVNode(
860
- "div",
861
- { class: "consumption-filter-bottom" },
862
- null,
863
- -1
864
- /* HOISTED */
865
- );
866
- var script$4 = /* @__PURE__ */ vue.defineComponent({
867
- __name: "ConsumptionFilter",
868
- props: {
869
- modelValue: { type: Array, required: true, default: () => ["\u5168\u90E8", "\u5168\u90E8", "\u5168\u90E8"] }
870
- },
871
- emits: ["complete"],
872
- setup(__props, { emit: __emit }) {
873
- const props = __props;
874
- const emit = __emit;
875
- const result = vue.reactive(props.modelValue);
876
- const filterSections = [
877
- {
878
- title: "\u7C7B\u578B",
879
- data: consumptionPositions
880
- },
881
- {
882
- title: "\u6536\u5165/\u652F\u51FA",
883
- data: consumptionDirections
884
- },
885
- {
886
- title: "\u660E\u7EC6\u7C7B\u578B",
887
- data: consumptionTypes
888
- }
889
- ];
890
- const getItemClass = (index, value) => result[index] === value ? ["current"] : [""];
891
- const onFilterSectionClick = (index, value) => {
892
- result[index] = value;
893
- };
894
- const reset = () => {
895
- };
896
- const onOkClick = () => {
897
- emit("complete", result);
898
- };
899
- return (_ctx, _cache) => {
900
- return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$4, [
901
- _hoisted_2$4,
902
- vue.createElementVNode("div", _hoisted_3$4, [
903
- (vue.openBlock(), vue.createElementBlock(
904
- vue.Fragment,
905
- null,
906
- vue.renderList(filterSections, (item, index) => {
907
- return vue.openBlock(), vue.createElementBlock(
908
- vue.Fragment,
909
- { key: index },
910
- [
911
- vue.createElementVNode(
912
- "div",
913
- _hoisted_4$3,
914
- vue.toDisplayString(item.title),
915
- 1
916
- /* TEXT */
917
- ),
918
- vue.createElementVNode("div", _hoisted_5$3, [
919
- (vue.openBlock(true), vue.createElementBlock(
920
- vue.Fragment,
921
- null,
922
- vue.renderList(item.data, (it, i) => {
923
- return vue.openBlock(), vue.createElementBlock("div", {
924
- onClick: () => onFilterSectionClick(index, it),
925
- class: vue.normalizeClass([getItemClass(index, it), "info-item"]),
926
- key: i
927
- }, vue.toDisplayString(it), 11, _hoisted_6$2);
928
- }),
929
- 128
930
- /* KEYED_FRAGMENT */
931
- ))
932
- ])
933
- ],
934
- 64
935
- /* STABLE_FRAGMENT */
936
- );
937
- }),
938
- 64
939
- /* STABLE_FRAGMENT */
940
- ))
941
- ]),
942
- vue.createElementVNode("div", { class: "consumption-filter-btn spa-between" }, [
943
- vue.createElementVNode("div", {
944
- class: "btn",
945
- onClick: reset
946
- }, "\u91CD\u7F6E"),
947
- vue.createElementVNode("div", {
948
- class: "btn confirm",
949
- onClick: onOkClick
950
- }, "\u786E\u5B9A")
951
- ]),
952
- _hoisted_7$2
953
- ]);
954
- };
955
- }
956
- });
876
+ const _hoisted_1$4 = { class: "consumption-filter" };
877
+ const _hoisted_2$4 = /* @__PURE__ */ createElementVNode(
878
+ "div",
879
+ { class: "consumption-filter-title" },
880
+ "\u9009\u62E9\u7B5B\u9009\u9879",
881
+ -1
882
+ /* HOISTED */
883
+ );
884
+ const _hoisted_3$4 = { class: "consumption-filter-content" };
885
+ const _hoisted_4$3 = { class: "title" };
886
+ const _hoisted_5$3 = { class: "info" };
887
+ const _hoisted_6$2 = ["onClick"];
888
+ const _hoisted_7$2 = /* @__PURE__ */ createElementVNode(
889
+ "div",
890
+ { class: "consumption-filter-bottom" },
891
+ null,
892
+ -1
893
+ /* HOISTED */
894
+ );
895
+ var script$4 = /* @__PURE__ */ defineComponent({
896
+ __name: "ConsumptionFilter",
897
+ props: {
898
+ modelValue: { type: Array, required: true, default: () => ["\u5168\u90E8", "\u5168\u90E8", "\u5168\u90E8"] }
899
+ },
900
+ emits: ["complete"],
901
+ setup(__props, { emit: __emit }) {
902
+ const props = __props;
903
+ const emit = __emit;
904
+ const result = reactive(props.modelValue);
905
+ const filterSections = [
906
+ {
907
+ title: "\u7C7B\u578B",
908
+ data: consumptionPositions
909
+ },
910
+ {
911
+ title: "\u6536\u5165/\u652F\u51FA",
912
+ data: consumptionDirections
913
+ },
914
+ {
915
+ title: "\u660E\u7EC6\u7C7B\u578B",
916
+ data: consumptionTypes
917
+ }
918
+ ];
919
+ const getItemClass = (index, value) => result[index] === value ? ["current"] : [""];
920
+ const onFilterSectionClick = (index, value) => {
921
+ result[index] = value;
922
+ };
923
+ const reset = () => {
924
+ };
925
+ const onOkClick = () => {
926
+ emit("complete", result);
927
+ };
928
+ return (_ctx, _cache) => {
929
+ return openBlock(), createElementBlock("div", _hoisted_1$4, [
930
+ _hoisted_2$4,
931
+ createElementVNode("div", _hoisted_3$4, [
932
+ (openBlock(), createElementBlock(
933
+ Fragment,
934
+ null,
935
+ renderList(filterSections, (item, index) => {
936
+ return openBlock(), createElementBlock(
937
+ Fragment,
938
+ { key: index },
939
+ [
940
+ createElementVNode(
941
+ "div",
942
+ _hoisted_4$3,
943
+ toDisplayString(item.title),
944
+ 1
945
+ /* TEXT */
946
+ ),
947
+ createElementVNode("div", _hoisted_5$3, [
948
+ (openBlock(true), createElementBlock(
949
+ Fragment,
950
+ null,
951
+ renderList(item.data, (it, i) => {
952
+ return openBlock(), createElementBlock("div", {
953
+ onClick: () => onFilterSectionClick(index, it),
954
+ class: normalizeClass([getItemClass(index, it), "info-item"]),
955
+ key: i
956
+ }, toDisplayString(it), 11, _hoisted_6$2);
957
+ }),
958
+ 128
959
+ /* KEYED_FRAGMENT */
960
+ ))
961
+ ])
962
+ ],
963
+ 64
964
+ /* STABLE_FRAGMENT */
965
+ );
966
+ }),
967
+ 64
968
+ /* STABLE_FRAGMENT */
969
+ ))
970
+ ]),
971
+ createElementVNode("div", { class: "consumption-filter-btn spa-between" }, [
972
+ createElementVNode("div", {
973
+ class: "btn",
974
+ onClick: reset
975
+ }, "\u91CD\u7F6E"),
976
+ createElementVNode("div", {
977
+ class: "btn confirm",
978
+ onClick: onOkClick
979
+ }, "\u786E\u5B9A")
980
+ ]),
981
+ _hoisted_7$2
982
+ ]);
983
+ };
984
+ }
985
+ });
957
986
 
958
- var css_248z$4 = ".consumption-filter {\n height: 100%;\n display: flex;\n flex-direction: column;\n width: 100%;\n}\n.consumption-filter-title {\n height: 44px;\n line-height: 44px;\n font-size: 17px;\n color: #353535;\n background: #f5f5f5;\n text-align: center;\n}\n.consumption-filter-content {\n flex: 1;\n margin: 15px;\n overflow-y: scroll;\n color: #353535;\n font-size: 13px;\n}\n.consumption-filter-content .title {\n opacity: 0.6;\n line-height: 18px;\n}\n.consumption-filter-content .info {\n display: grid;\n grid-template-columns: 1fr 1fr 1fr;\n grid-gap: 10px;\n margin: 10px 0;\n}\n.consumption-filter-content .info-item {\n height: 30px;\n line-height: 30px;\n border: 1px solid #ccc;\n border-radius: 6px;\n text-align: center;\n}\n.consumption-filter-content .info .current {\n border: 1px solid;\n border-image-source: linear-gradient(180deg, rgba(239, 208, 130, 0.8) 0%, rgba(255, 185, 120, 0.8) 100%);\n background: linear-gradient(180deg, rgba(239, 208, 130, 0.8) 0%, rgba(255, 185, 120, 0.8) 100%), linear-gradient(180deg, #fff7e3 0%, #fefde6 100%);\n}\n.consumption-filter-btn {\n margin: 0 15px;\n display: flex;\n justify-content: space-between;\n align-items: center;\n}\n.consumption-filter-btn .btn {\n flex: 1;\n height: 40px;\n line-height: 40px;\n text-align: center;\n border: 1px solid #ccc;\n box-sizing: border-box;\n color: #666;\n font-size: 16px;\n border-radius: 6px;\n}\n.consumption-filter-btn .confirm {\n margin-left: 11px;\n color: #000;\n border: none;\n background: linear-gradient(90deg, #ffebc1 0%, #ffd7a7 52.29%, #ffb875 100%);\n}\n.consumption-filter-bottom {\n height: 32px;\n background: #fff;\n}";
959
- styleInject(css_248z$4);
987
+ var css_248z$4 = ".consumption-filter {\n height: 100%;\n display: flex;\n flex-direction: column;\n width: 100%;\n}\n.consumption-filter-title {\n height: 44px;\n line-height: 44px;\n font-size: 17px;\n color: #353535;\n background: #f5f5f5;\n text-align: center;\n}\n.consumption-filter-content {\n flex: 1;\n margin: 15px;\n overflow-y: scroll;\n color: #353535;\n font-size: 13px;\n}\n.consumption-filter-content .title {\n opacity: 0.6;\n line-height: 18px;\n}\n.consumption-filter-content .info {\n display: grid;\n grid-template-columns: 1fr 1fr 1fr;\n grid-gap: 10px;\n margin: 10px 0;\n}\n.consumption-filter-content .info-item {\n height: 30px;\n line-height: 30px;\n border: 1px solid #ccc;\n border-radius: 6px;\n text-align: center;\n}\n.consumption-filter-content .info .current {\n border: 1px solid;\n border-image-source: linear-gradient(180deg, rgba(239, 208, 130, 0.8) 0%, rgba(255, 185, 120, 0.8) 100%);\n background: linear-gradient(180deg, rgba(239, 208, 130, 0.8) 0%, rgba(255, 185, 120, 0.8) 100%), linear-gradient(180deg, #fff7e3 0%, #fefde6 100%);\n}\n.consumption-filter-btn {\n margin: 0 15px;\n display: flex;\n justify-content: space-between;\n align-items: center;\n}\n.consumption-filter-btn .btn {\n flex: 1;\n height: 40px;\n line-height: 40px;\n text-align: center;\n border: 1px solid #ccc;\n box-sizing: border-box;\n color: #666;\n font-size: 16px;\n border-radius: 6px;\n}\n.consumption-filter-btn .confirm {\n margin-left: 11px;\n color: #000;\n border: none;\n background: linear-gradient(90deg, #ffebc1 0%, #ffd7a7 52.29%, #ffb875 100%);\n}\n.consumption-filter-bottom {\n height: 32px;\n background: #fff;\n}";
988
+ styleInject(css_248z$4);
960
989
 
961
- script$4.__file = "src/balance/components/ConsumptionFilter.vue";
990
+ script$4.__file = "src/balance/components/ConsumptionFilter.vue";
962
991
 
963
- const _hoisted_1$3 = { class: "consumption-date-filter" };
964
- const _hoisted_2$3 = /* @__PURE__ */ vue.createElementVNode(
965
- "div",
966
- { class: "date-filter-header" },
967
- "\u65E5\u671F\u9009\u62E9",
968
- -1
969
- /* HOISTED */
970
- );
971
- const _hoisted_3$3 = { class: "content" };
972
- const _hoisted_4$2 = /* @__PURE__ */ vue.createElementVNode(
973
- "div",
974
- { class: "title" },
975
- "\u81EA\u5B9A\u4E49",
976
- -1
977
- /* HOISTED */
978
- );
979
- const _hoisted_5$2 = { class: "time" };
980
- const _hoisted_6$1 = /* @__PURE__ */ vue.createElementVNode(
981
- "div",
982
- { class: "line" },
983
- "-",
984
- -1
985
- /* HOISTED */
986
- );
987
- const _hoisted_7$1 = /* @__PURE__ */ vue.createElementVNode(
988
- "div",
989
- { class: "bottom" },
990
- null,
991
- -1
992
- /* HOISTED */
993
- );
994
- var script$3 = /* @__PURE__ */ vue.defineComponent({
995
- __name: "DateFilter",
996
- props: {
997
- from: { type: String, required: true },
998
- to: { type: String, required: true }
999
- },
1000
- emits: ["complete"],
1001
- setup(__props, { emit: __emit }) {
1002
- const props = __props;
1003
- const emit = __emit;
1004
- const result = vue.reactive({ ...props });
1005
- const focused = vue.ref("from");
1006
- const focusedDate = vue.ref(props.from);
1007
- const minDate = vue.ref();
1008
- const maxDate = vue.ref(/* @__PURE__ */ new Date());
1009
- const datePickerOpen = vue.ref(false);
1010
- function resetTime() {
1011
- result.from = props.from;
1012
- result.from = props.to;
1013
- }
1014
- function onOkClick() {
1015
- emit("complete", result);
1016
- }
1017
- function formatDate(date) {
1018
- const [year, month, day] = date.split("-");
1019
- return year + "\u5E74" + month + "\u6708" + day + "\u65E5";
1020
- }
1021
- function onDatePickerComplete({ selectedValue, selectedOptions }) {
1022
- console.log("onDatePickerComfirm_______________________", selectedValue, selectedOptions);
1023
- let time = selectedOptions.map((val) => val.text).join("-");
1024
- if (focused.value === "from") {
1025
- result.from = new Date(time) > new Date(result.to) ? result.to : time;
1026
- } else {
1027
- result.to = time;
1028
- }
992
+ const _hoisted_1$3 = { class: "consumption-date-filter" };
993
+ const _hoisted_2$3 = /* @__PURE__ */ createElementVNode(
994
+ "div",
995
+ { class: "date-filter-header" },
996
+ "\u65E5\u671F\u9009\u62E9",
997
+ -1
998
+ /* HOISTED */
999
+ );
1000
+ const _hoisted_3$3 = { class: "content" };
1001
+ const _hoisted_4$2 = /* @__PURE__ */ createElementVNode(
1002
+ "div",
1003
+ { class: "title" },
1004
+ "\u81EA\u5B9A\u4E49",
1005
+ -1
1006
+ /* HOISTED */
1007
+ );
1008
+ const _hoisted_5$2 = { class: "time" };
1009
+ const _hoisted_6$1 = /* @__PURE__ */ createElementVNode(
1010
+ "div",
1011
+ { class: "line" },
1012
+ "-",
1013
+ -1
1014
+ /* HOISTED */
1015
+ );
1016
+ const _hoisted_7$1 = /* @__PURE__ */ createElementVNode(
1017
+ "div",
1018
+ { class: "bottom" },
1019
+ null,
1020
+ -1
1021
+ /* HOISTED */
1022
+ );
1023
+ var script$3 = /* @__PURE__ */ defineComponent({
1024
+ __name: "DateFilter",
1025
+ props: {
1026
+ from: { type: String, required: true },
1027
+ to: { type: String, required: true }
1028
+ },
1029
+ emits: ["complete"],
1030
+ setup(__props, { emit: __emit }) {
1031
+ const props = __props;
1032
+ const emit = __emit;
1033
+ const result = reactive({ ...props });
1034
+ const focused = ref("from");
1035
+ const focusedDate = ref(props.from);
1036
+ const minDate = ref();
1037
+ const maxDate = ref(/* @__PURE__ */ new Date());
1038
+ const datePickerOpen = ref(false);
1039
+ function resetTime() {
1040
+ result.from = props.from;
1041
+ result.from = props.to;
1042
+ }
1043
+ function onOkClick() {
1044
+ emit("complete", result);
1045
+ }
1046
+ function formatDate(date) {
1047
+ const [year, month, day] = date.split("-");
1048
+ return year + "\u5E74" + month + "\u6708" + day + "\u65E5";
1049
+ }
1050
+ function onDatePickerComplete({ selectedValue, selectedOptions }) {
1051
+ console.log("onDatePickerComfirm_______________________", selectedValue, selectedOptions);
1052
+ let time = selectedOptions.map((val) => val.text).join("-");
1053
+ if (focused.value === "from") {
1054
+ result.from = new Date(time) > new Date(result.to) ? result.to : time;
1055
+ } else {
1056
+ result.to = time;
1029
1057
  }
1030
- function switchDateInput(shift) {
1031
- if (shift === "from") {
1032
- let time = result.from.split("-").map(Number);
1033
- minDate.value = new Date(time[0] - 5, 1, 1);
1034
- } else {
1035
- let time = result.from.split("-").map(Number);
1036
- minDate.value = new Date(time[0], time[1] - 1, time[2]);
1037
- }
1038
- focusedDate.value = new Date(result[shift]);
1039
- focused.value = shift;
1040
- datePickerOpen.value = true;
1058
+ }
1059
+ function switchDateInput(shift) {
1060
+ if (shift === "from") {
1061
+ let time = result.from.split("-").map(Number);
1062
+ minDate.value = new Date(time[0] - 5, 1, 1);
1063
+ } else {
1064
+ let time = result.from.split("-").map(Number);
1065
+ minDate.value = new Date(time[0], time[1] - 1, time[2]);
1041
1066
  }
1042
- return (_ctx, _cache) => {
1043
- const _component_nut_datepicker = vue.resolveComponent("nut-datepicker");
1044
- return vue.openBlock(), vue.createElementBlock(
1045
- vue.Fragment,
1046
- null,
1047
- [
1048
- vue.createElementVNode("div", _hoisted_1$3, [
1049
- _hoisted_2$3,
1050
- vue.createElementVNode("div", _hoisted_3$3, [
1051
- _hoisted_4$2,
1052
- vue.createElementVNode("div", _hoisted_5$2, [
1053
- vue.createElementVNode(
1054
- "div",
1055
- {
1056
- class: vue.normalizeClass(["item", focused.value === "from" ? "current" : ""]),
1057
- onClick: _cache[0] || (_cache[0] = ($event) => switchDateInput("from"))
1058
- },
1059
- vue.toDisplayString(formatDate(result.from)),
1060
- 3
1061
- /* TEXT, CLASS */
1062
- ),
1063
- _hoisted_6$1,
1064
- vue.createElementVNode(
1065
- "div",
1066
- {
1067
- class: vue.normalizeClass(["item", focused.value === "to" ? "current" : ""]),
1068
- onClick: _cache[1] || (_cache[1] = ($event) => switchDateInput("to"))
1069
- },
1070
- vue.toDisplayString(formatDate(result.to)),
1071
- 3
1072
- /* TEXT, CLASS */
1073
- )
1074
- ])
1075
- ]),
1076
- vue.createElementVNode("div", { class: "buttons spa-between" }, [
1077
- vue.createElementVNode("div", {
1078
- class: "btn",
1079
- onClick: resetTime
1080
- }, "\u91CD\u7F6E"),
1081
- vue.createElementVNode("div", {
1082
- class: "btn confirm",
1083
- onClick: onOkClick
1084
- }, "\u786E\u5B9A")
1085
- ]),
1086
- _hoisted_7$1
1087
- ]),
1088
- vue.createVNode(_component_nut_datepicker, {
1089
- modelValue: focusedDate.value,
1090
- "onUpdate:modelValue": _cache[2] || (_cache[2] = ($event) => focusedDate.value = $event),
1091
- visible: datePickerOpen.value,
1092
- "onUpdate:visible": _cache[3] || (_cache[3] = ($event) => datePickerOpen.value = $event),
1093
- "min-date": minDate.value,
1094
- "max-date": maxDate.value,
1095
- "is-show-chinese": false,
1096
- "three-dimensional": false,
1097
- onConfirm: onDatePickerComplete
1098
- }, null, 8, ["modelValue", "visible", "min-date", "max-date"])
1099
- ],
1100
- 64
1101
- /* STABLE_FRAGMENT */
1102
- );
1103
- };
1067
+ focusedDate.value = new Date(result[shift]);
1068
+ focused.value = shift;
1069
+ datePickerOpen.value = true;
1104
1070
  }
1105
- });
1071
+ return (_ctx, _cache) => {
1072
+ const _component_nut_datepicker = resolveComponent("nut-datepicker");
1073
+ return openBlock(), createElementBlock(
1074
+ Fragment,
1075
+ null,
1076
+ [
1077
+ createElementVNode("div", _hoisted_1$3, [
1078
+ _hoisted_2$3,
1079
+ createElementVNode("div", _hoisted_3$3, [
1080
+ _hoisted_4$2,
1081
+ createElementVNode("div", _hoisted_5$2, [
1082
+ createElementVNode(
1083
+ "div",
1084
+ {
1085
+ class: normalizeClass(["item", focused.value === "from" ? "current" : ""]),
1086
+ onClick: _cache[0] || (_cache[0] = ($event) => switchDateInput("from"))
1087
+ },
1088
+ toDisplayString(formatDate(result.from)),
1089
+ 3
1090
+ /* TEXT, CLASS */
1091
+ ),
1092
+ _hoisted_6$1,
1093
+ createElementVNode(
1094
+ "div",
1095
+ {
1096
+ class: normalizeClass(["item", focused.value === "to" ? "current" : ""]),
1097
+ onClick: _cache[1] || (_cache[1] = ($event) => switchDateInput("to"))
1098
+ },
1099
+ toDisplayString(formatDate(result.to)),
1100
+ 3
1101
+ /* TEXT, CLASS */
1102
+ )
1103
+ ])
1104
+ ]),
1105
+ createElementVNode("div", { class: "buttons spa-between" }, [
1106
+ createElementVNode("div", {
1107
+ class: "btn",
1108
+ onClick: resetTime
1109
+ }, "\u91CD\u7F6E"),
1110
+ createElementVNode("div", {
1111
+ class: "btn confirm",
1112
+ onClick: onOkClick
1113
+ }, "\u786E\u5B9A")
1114
+ ]),
1115
+ _hoisted_7$1
1116
+ ]),
1117
+ createVNode(_component_nut_datepicker, {
1118
+ modelValue: focusedDate.value,
1119
+ "onUpdate:modelValue": _cache[2] || (_cache[2] = ($event) => focusedDate.value = $event),
1120
+ visible: datePickerOpen.value,
1121
+ "onUpdate:visible": _cache[3] || (_cache[3] = ($event) => datePickerOpen.value = $event),
1122
+ "min-date": minDate.value,
1123
+ "max-date": maxDate.value,
1124
+ "is-show-chinese": false,
1125
+ "three-dimensional": false,
1126
+ onConfirm: onDatePickerComplete
1127
+ }, null, 8, ["modelValue", "visible", "min-date", "max-date"])
1128
+ ],
1129
+ 64
1130
+ /* STABLE_FRAGMENT */
1131
+ );
1132
+ };
1133
+ }
1134
+ });
1106
1135
 
1107
- var css_248z$3 = ".consumption-date-filter {\n height: 100%;\n display: flex;\n flex-direction: column;\n width: 100%;\n}\n.consumption-date-filter .date-filter-header {\n text-align: center;\n height: 44px;\n line-height: 44px;\n color: #353535;\n font-size: 17px;\n background-color: #f5f5f5;\n}\n.consumption-date-filter .content {\n flex: 1;\n margin: 15px;\n overflow-y: scroll;\n color: #353535;\n font-size: 13px;\n}\n.consumption-date-filter .content .title {\n opacity: 0.6;\n line-height: 18px;\n}\n.consumption-date-filter .content .info {\n display: grid;\n grid-template-columns: 1fr 1fr 1fr;\n grid-gap: 10px;\n margin: 10px 0;\n}\n.consumption-date-filter .content .info .item {\n height: 30px;\n line-height: 30px;\n border: 1px solid #ccc;\n border-radius: 6px;\n text-align: center;\n}\n.consumption-date-filter .content .info .current {\n border: 1px solid;\n border-image-source: linear-gradient(180deg, rgba(239, 208, 130, 0.8) 0%, rgba(255, 185, 120, 0.8) 100%);\n background: linear-gradient(180deg, rgba(239, 208, 130, 0.8) 0%, rgba(255, 185, 120, 0.8) 100%), linear-gradient(180deg, #fff7e3 0%, #fefde6 100%);\n}\n.consumption-date-filter .buttons {\n margin: 0 15px;\n display: flex;\n justify-content: space-between;\n align-items: center;\n}\n.consumption-date-filter .buttons .btn {\n flex: 1;\n height: 40px;\n line-height: 40px;\n text-align: center;\n border: 1px solid #ccc;\n box-sizing: border-box;\n color: #666;\n font-size: 16px;\n border-radius: 6px;\n}\n.consumption-date-filter .buttons .confirm {\n margin-left: 11px;\n color: #000;\n border: none;\n background: linear-gradient(90deg, #ffebc1 0%, #ffd7a7 52.29%, #ffb875 100%);\n}\n.consumption-date-filter .time {\n display: flex;\n justify-content: start;\n align-items: center;\n margin: 10px 0 30px 0;\n}\n.consumption-date-filter .time .line {\n margin: 0 8px;\n}\n.consumption-date-filter .time .item {\n height: 30px;\n line-height: 30px;\n padding: 0 15px;\n font-size: 13px;\n color: #353535;\n border: 1px solid transparent;\n box-sizing: border-box;\n background: rgba(245, 245, 245, 0.8);\n border-radius: 6px;\n}\n.consumption-date-filter .time .current {\n border: 1px solid #353535;\n}\n.consumption-date-filter .bottom {\n height: 32px;\n background: #fff;\n}";
1108
- styleInject(css_248z$3);
1136
+ var css_248z$3 = ".consumption-date-filter {\n height: 100%;\n display: flex;\n flex-direction: column;\n width: 100%;\n}\n.consumption-date-filter .date-filter-header {\n text-align: center;\n height: 44px;\n line-height: 44px;\n color: #353535;\n font-size: 17px;\n background-color: #f5f5f5;\n}\n.consumption-date-filter .content {\n flex: 1;\n margin: 15px;\n overflow-y: scroll;\n color: #353535;\n font-size: 13px;\n}\n.consumption-date-filter .content .title {\n opacity: 0.6;\n line-height: 18px;\n}\n.consumption-date-filter .content .info {\n display: grid;\n grid-template-columns: 1fr 1fr 1fr;\n grid-gap: 10px;\n margin: 10px 0;\n}\n.consumption-date-filter .content .info .item {\n height: 30px;\n line-height: 30px;\n border: 1px solid #ccc;\n border-radius: 6px;\n text-align: center;\n}\n.consumption-date-filter .content .info .current {\n border: 1px solid;\n border-image-source: linear-gradient(180deg, rgba(239, 208, 130, 0.8) 0%, rgba(255, 185, 120, 0.8) 100%);\n background: linear-gradient(180deg, rgba(239, 208, 130, 0.8) 0%, rgba(255, 185, 120, 0.8) 100%), linear-gradient(180deg, #fff7e3 0%, #fefde6 100%);\n}\n.consumption-date-filter .buttons {\n margin: 0 15px;\n display: flex;\n justify-content: space-between;\n align-items: center;\n}\n.consumption-date-filter .buttons .btn {\n flex: 1;\n height: 40px;\n line-height: 40px;\n text-align: center;\n border: 1px solid #ccc;\n box-sizing: border-box;\n color: #666;\n font-size: 16px;\n border-radius: 6px;\n}\n.consumption-date-filter .buttons .confirm {\n margin-left: 11px;\n color: #000;\n border: none;\n background: linear-gradient(90deg, #ffebc1 0%, #ffd7a7 52.29%, #ffb875 100%);\n}\n.consumption-date-filter .time {\n display: flex;\n justify-content: start;\n align-items: center;\n margin: 10px 0 30px 0;\n}\n.consumption-date-filter .time .line {\n margin: 0 8px;\n}\n.consumption-date-filter .time .item {\n height: 30px;\n line-height: 30px;\n padding: 0 15px;\n font-size: 13px;\n color: #353535;\n border: 1px solid transparent;\n box-sizing: border-box;\n background: rgba(245, 245, 245, 0.8);\n border-radius: 6px;\n}\n.consumption-date-filter .time .current {\n border: 1px solid #353535;\n}\n.consumption-date-filter .bottom {\n height: 32px;\n background: #fff;\n}";
1137
+ styleInject(css_248z$3);
1109
1138
 
1110
- script$3.__file = "src/balance/components/DateFilter.vue";
1139
+ script$3.__file = "src/balance/components/DateFilter.vue";
1111
1140
 
1112
- const _hoisted_1$2 = { class: "consumption-rules" };
1113
- const _hoisted_2$2 = /* @__PURE__ */ vue.createElementVNode(
1114
- "div",
1115
- { class: "title" },
1116
- "\u89C4\u5219\u8BF4\u660E",
1117
- -1
1118
- /* HOISTED */
1119
- );
1120
- const _hoisted_3$2 = /* @__PURE__ */ vue.createElementVNode(
1121
- "div",
1122
- { class: "desc" },
1123
- [
1124
- /* @__PURE__ */ vue.createElementVNode("div", { class: "desc-title" }, "\u3010\u4E91\u8C46\u3011"),
1125
- /* @__PURE__ */ vue.createElementVNode("div", null, " 1\u3001\u4E91\u8C46\u7CFB\u5927\u9053\u4E91\u5E73\u53F0\u4E3A\u7528\u6237\u63D0\u4F9B\u7684\u6570\u5B57\u5316\u5546\u54C1\uFF0C\u7528\u4E8E\u5927\u9053\u4E91\u5E73\u53F0\u4E0A\u7684\u4EA7\u54C1\u6743\u76CA\u62B5\u6263\u4F7F\u7528\u3002 "),
1126
- /* @__PURE__ */ vue.createElementVNode("div", null, " \u4EBA\u6C11\u5E01\u4E0E\u4E91\u8C46\u7684\u5151\u6362\u6BD4\u4F8B\uFF1A1\u4EBA\u6C11\u5E01=10\u4E91\u8C46\u3002\u4E91\u8C46\u8D2D\u4E70\u6210\u529F\u8FC7\u540E\u4E0D\u53EF\u8F6C\u8BA9\u6216\u8005\u9006\u5411\u5151\u6362\u3002 "),
1127
- /* @__PURE__ */ vue.createElementVNode("div", null, " 2\u3001\u4E91\u8C46\u7684\u4F7F\u7528\u8303\u56F4\uFF1A\u4E91\u8C46\u53EF\u7528\u4E8E\u62B5\u6263AI\u5BA1\u6279\u5355\u7B14\u6743\u76CA\u3001\u7535\u5B50\u7B7E\u7EA6\u5355\u7B14\u6743\u76CA\u3001\u8702\u9E1F\u5468\u8F6C\u7CFB\u7EDF\u5355\u7B14\u6743\u76CA\u7B49\uFF0C\u5177\u4F53\u62B5\u6263\u6807\u51C6\u8BE6\u7EC6\u89C1\u5404\u4EA7\u54C1\u9875\u9762\u3002 "),
1128
- /* @__PURE__ */ vue.createElementVNode("div", { class: "desc-title" }, "\u3010\u5C0F\u4E91\u8C46\u3011"),
1129
- /* @__PURE__ */ vue.createElementVNode("div", null, " 1\u3001\u5C0F\u4E91\u8C46\u7CFB\u5927\u9053\u4E91\u5E73\u53F0\u5355\u65B9\u9762\u4E3A\u7528\u6237\u8D60\u9001\u7684\u6570\u5B57\u5316\u5546\u54C1\uFF0C\u7528\u4E8E\u5927\u9053\u4E91\u5E73\u53F0\u4E0A\u7684\u6307\u5B9A\u4EA7\u54C1\u6743\u76CA\u62B5\u6263\u4F7F\u7528\u3002\u5C0F\u4E91\u8C46\u4EC5\u7528\u4E8E\u6307\u5B9A\u7684\u4EA7\u54C1\u6743\u76CA\u62B5\u6263\u4F7F\u7528\u3002\u5C0F\u4E91\u8C46\u4E0E\u4E91\u8C46\u4E4B\u95F4\u4E0D\u80FD\u76F8\u4E92\u8F6C\u6362\uFF0C\u4E5F\u65E0\u6CD5\u9006\u5411\u5151\u6362\u6210\u4EBA\u6C11\u5E01\u3002 "),
1130
- /* @__PURE__ */ vue.createElementVNode("div", null, " 2\u3001\u5C0F\u4E91\u8C46\u7684\u4F7F\u7528\u8303\u56F4\uFF1A\u5C0F\u4E91\u8C46\u53EF\u7528\u4E8E\u62B5\u6263AI\u5BA1\u6279\u5355\u7B14\u6743\u76CA\u3001\u7535\u5B50\u7B7E\u7EA6\u5355\u7B14\u6743\u76CA\u3001\u8702\u9E1F\u5468\u8F6C\u7CFB\u7EDF\u5355\u7B14\u6743\u76CA\u7B49\uFF0C\u5177\u4F53\u62B5\u6263\u6807\u51C6\u8BE6\u7EC6\u89C1\u5404\u4EA7\u54C1\u9875\u9762\u3002 ")
1131
- ],
1132
- -1
1133
- /* HOISTED */
1134
- );
1135
- var script$2 = /* @__PURE__ */ vue.defineComponent({
1136
- __name: "ConsumptionRules",
1137
- emits: ["complete"],
1138
- setup(__props, { emit: __emit }) {
1139
- const emit = __emit;
1140
- return (_ctx, _cache) => {
1141
- return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$2, [
1142
- _hoisted_2$2,
1143
- _hoisted_3$2,
1144
- vue.createElementVNode("div", {
1145
- class: "know",
1146
- onClick: _cache[0] || (_cache[0] = ($event) => emit("complete"))
1147
- }, "\u6211\u77E5\u9053\u4E86")
1148
- ]);
1149
- };
1150
- }
1151
- });
1141
+ const _hoisted_1$2 = { class: "consumption-rules" };
1142
+ const _hoisted_2$2 = /* @__PURE__ */ createElementVNode(
1143
+ "div",
1144
+ { class: "title" },
1145
+ "\u89C4\u5219\u8BF4\u660E",
1146
+ -1
1147
+ /* HOISTED */
1148
+ );
1149
+ const _hoisted_3$2 = /* @__PURE__ */ createElementVNode(
1150
+ "div",
1151
+ { class: "desc" },
1152
+ [
1153
+ /* @__PURE__ */ createElementVNode("div", { class: "desc-title" }, "\u3010\u4E91\u8C46\u3011"),
1154
+ /* @__PURE__ */ createElementVNode("div", null, " 1\u3001\u4E91\u8C46\u7CFB\u5927\u9053\u4E91\u5E73\u53F0\u4E3A\u7528\u6237\u63D0\u4F9B\u7684\u6570\u5B57\u5316\u5546\u54C1\uFF0C\u7528\u4E8E\u5927\u9053\u4E91\u5E73\u53F0\u4E0A\u7684\u4EA7\u54C1\u6743\u76CA\u62B5\u6263\u4F7F\u7528\u3002 "),
1155
+ /* @__PURE__ */ createElementVNode("div", null, " \u4EBA\u6C11\u5E01\u4E0E\u4E91\u8C46\u7684\u5151\u6362\u6BD4\u4F8B\uFF1A1\u4EBA\u6C11\u5E01=10\u4E91\u8C46\u3002\u4E91\u8C46\u8D2D\u4E70\u6210\u529F\u8FC7\u540E\u4E0D\u53EF\u8F6C\u8BA9\u6216\u8005\u9006\u5411\u5151\u6362\u3002 "),
1156
+ /* @__PURE__ */ createElementVNode("div", null, " 2\u3001\u4E91\u8C46\u7684\u4F7F\u7528\u8303\u56F4\uFF1A\u4E91\u8C46\u53EF\u7528\u4E8E\u62B5\u6263AI\u5BA1\u6279\u5355\u7B14\u6743\u76CA\u3001\u7535\u5B50\u7B7E\u7EA6\u5355\u7B14\u6743\u76CA\u3001\u8702\u9E1F\u5468\u8F6C\u7CFB\u7EDF\u5355\u7B14\u6743\u76CA\u7B49\uFF0C\u5177\u4F53\u62B5\u6263\u6807\u51C6\u8BE6\u7EC6\u89C1\u5404\u4EA7\u54C1\u9875\u9762\u3002 "),
1157
+ /* @__PURE__ */ createElementVNode("div", { class: "desc-title" }, "\u3010\u5C0F\u4E91\u8C46\u3011"),
1158
+ /* @__PURE__ */ createElementVNode("div", null, " 1\u3001\u5C0F\u4E91\u8C46\u7CFB\u5927\u9053\u4E91\u5E73\u53F0\u5355\u65B9\u9762\u4E3A\u7528\u6237\u8D60\u9001\u7684\u6570\u5B57\u5316\u5546\u54C1\uFF0C\u7528\u4E8E\u5927\u9053\u4E91\u5E73\u53F0\u4E0A\u7684\u6307\u5B9A\u4EA7\u54C1\u6743\u76CA\u62B5\u6263\u4F7F\u7528\u3002\u5C0F\u4E91\u8C46\u4EC5\u7528\u4E8E\u6307\u5B9A\u7684\u4EA7\u54C1\u6743\u76CA\u62B5\u6263\u4F7F\u7528\u3002\u5C0F\u4E91\u8C46\u4E0E\u4E91\u8C46\u4E4B\u95F4\u4E0D\u80FD\u76F8\u4E92\u8F6C\u6362\uFF0C\u4E5F\u65E0\u6CD5\u9006\u5411\u5151\u6362\u6210\u4EBA\u6C11\u5E01\u3002 "),
1159
+ /* @__PURE__ */ createElementVNode("div", null, " 2\u3001\u5C0F\u4E91\u8C46\u7684\u4F7F\u7528\u8303\u56F4\uFF1A\u5C0F\u4E91\u8C46\u53EF\u7528\u4E8E\u62B5\u6263AI\u5BA1\u6279\u5355\u7B14\u6743\u76CA\u3001\u7535\u5B50\u7B7E\u7EA6\u5355\u7B14\u6743\u76CA\u3001\u8702\u9E1F\u5468\u8F6C\u7CFB\u7EDF\u5355\u7B14\u6743\u76CA\u7B49\uFF0C\u5177\u4F53\u62B5\u6263\u6807\u51C6\u8BE6\u7EC6\u89C1\u5404\u4EA7\u54C1\u9875\u9762\u3002 ")
1160
+ ],
1161
+ -1
1162
+ /* HOISTED */
1163
+ );
1164
+ var script$2 = /* @__PURE__ */ defineComponent({
1165
+ __name: "ConsumptionRules",
1166
+ emits: ["complete"],
1167
+ setup(__props, { emit: __emit }) {
1168
+ const emit = __emit;
1169
+ return (_ctx, _cache) => {
1170
+ return openBlock(), createElementBlock("div", _hoisted_1$2, [
1171
+ _hoisted_2$2,
1172
+ _hoisted_3$2,
1173
+ createElementVNode("div", {
1174
+ class: "know",
1175
+ onClick: _cache[0] || (_cache[0] = ($event) => emit("complete"))
1176
+ }, "\u6211\u77E5\u9053\u4E86")
1177
+ ]);
1178
+ };
1179
+ }
1180
+ });
1152
1181
 
1153
- var css_248z$2 = ".consumption-rules .title {\n line-height: 16px;\n font-weight: 500;\n color: #1a1a1a;\n font-size: 16px;\n text-align: center;\n width: 100%;\n}\n.consumption-rules .desc {\n flex: 1;\n font-size: 14px;\n line-height: 21px;\n color: #666;\n overflow-y: scroll;\n margin: 10px 0;\n}\n.consumption-rules .desc-title {\n font-weight: 600;\n}\n.consumption-rules .know {\n background: linear-gradient(90deg, #ffebc1 0%, #ffd7a7 52.29%, #ffb875 100%);\n height: 30px;\n line-height: 30px;\n font-size: 14px;\n color: #353535;\n border-radius: 15px;\n width: 130px;\n margin: 0 auto;\n text-align: center;\n}";
1154
- styleInject(css_248z$2);
1182
+ var css_248z$2 = ".consumption-rules .title {\n line-height: 16px;\n font-weight: 500;\n color: #1a1a1a;\n font-size: 16px;\n text-align: center;\n width: 100%;\n}\n.consumption-rules .desc {\n flex: 1;\n font-size: 14px;\n line-height: 21px;\n color: #666;\n overflow-y: scroll;\n margin: 10px 0;\n}\n.consumption-rules .desc-title {\n font-weight: 600;\n}\n.consumption-rules .know {\n background: linear-gradient(90deg, #ffebc1 0%, #ffd7a7 52.29%, #ffb875 100%);\n height: 30px;\n line-height: 30px;\n font-size: 14px;\n color: #353535;\n border-radius: 15px;\n width: 130px;\n margin: 0 auto;\n text-align: center;\n}";
1183
+ styleInject(css_248z$2);
1155
1184
 
1156
- script$2.__file = "src/balance/components/ConsumptionRules.vue";
1185
+ script$2.__file = "src/balance/components/ConsumptionRules.vue";
1157
1186
 
1158
- const _hoisted_1$1 = { class: "balance-reminder" };
1159
- const _hoisted_2$1 = /* @__PURE__ */ vue.createElementVNode(
1160
- "div",
1161
- { class: "body" },
1162
- [
1163
- /* @__PURE__ */ vue.createElementVNode("h2", null, "\u64CD\u4F5C\u5931\u8D25"),
1164
- /* @__PURE__ */ vue.createElementVNode("p", null, "\u60A8\u7684\u8D26\u6237\u4F59\u989D\u53EF\u80FD\u4E0D\u8DB3\uFF0C\u8BF7\u5145\u503C\u540E\u518D\u8FDB\u884C\u67E5\u8BE2")
1165
- ],
1166
- -1
1167
- /* HOISTED */
1168
- );
1169
- const _hoisted_3$1 = { class: "footer" };
1170
- const _hoisted_4$1 = { class: "col" };
1171
- const _hoisted_5$1 = { class: "col" };
1172
- var script$1 = /* @__PURE__ */ vue.defineComponent({
1173
- __name: "BalanceReminder",
1174
- props: {
1175
- modelValue: { type: Boolean, required: true, default: () => false }
1176
- },
1177
- emits: ["recharge", "update:modelValue"],
1178
- setup(__props, { emit: __emit }) {
1179
- const emit = __emit;
1180
- return (_ctx, _cache) => {
1181
- const _component_nut_button = vue.resolveComponent("nut-button");
1182
- const _component_nut_popup = vue.resolveComponent("nut-popup");
1183
- return vue.openBlock(), vue.createBlock(_component_nut_popup, {
1184
- "pop-class": "balance-reminder-popup",
1185
- round: "",
1186
- teleport: "#app",
1187
- visible: _ctx.modelValue,
1188
- "close-on-click-overlay": false
1189
- }, {
1190
- default: vue.withCtx(() => [
1191
- vue.createElementVNode("div", _hoisted_1$1, [
1192
- _hoisted_2$1,
1193
- vue.createElementVNode("div", _hoisted_3$1, [
1194
- vue.createElementVNode("div", _hoisted_4$1, [
1195
- vue.createVNode(_component_nut_button, {
1196
- class: "cancel-button",
1197
- onClick: _cache[0] || (_cache[0] = ($event) => emit("update:modelValue", false)),
1198
- block: ""
1199
- }, {
1200
- default: vue.withCtx(() => [
1201
- vue.createTextVNode("\u53D6\u6D88")
1202
- ]),
1203
- _: 1
1204
- /* STABLE */
1205
- })
1206
- ]),
1207
- vue.createElementVNode("div", _hoisted_5$1, [
1208
- vue.createVNode(_component_nut_button, {
1209
- block: "",
1210
- class: "recharge-button",
1211
- onClick: _cache[1] || (_cache[1] = ($event) => emit("recharge"))
1212
- }, {
1213
- default: vue.withCtx(() => [
1214
- vue.createTextVNode("\u53BB\u5145\u503C")
1215
- ]),
1216
- _: 1
1217
- /* STABLE */
1218
- })
1219
- ])
1187
+ const _hoisted_1$1 = { class: "balance-reminder" };
1188
+ const _hoisted_2$1 = /* @__PURE__ */ createElementVNode(
1189
+ "div",
1190
+ { class: "body" },
1191
+ [
1192
+ /* @__PURE__ */ createElementVNode("h2", null, "\u64CD\u4F5C\u5931\u8D25"),
1193
+ /* @__PURE__ */ createElementVNode("p", null, "\u60A8\u7684\u8D26\u6237\u4F59\u989D\u53EF\u80FD\u4E0D\u8DB3\uFF0C\u8BF7\u5145\u503C\u540E\u518D\u8FDB\u884C\u67E5\u8BE2")
1194
+ ],
1195
+ -1
1196
+ /* HOISTED */
1197
+ );
1198
+ const _hoisted_3$1 = { class: "footer" };
1199
+ const _hoisted_4$1 = { class: "col" };
1200
+ const _hoisted_5$1 = { class: "col" };
1201
+ var script$1 = /* @__PURE__ */ defineComponent({
1202
+ __name: "BalanceReminder",
1203
+ props: {
1204
+ modelValue: { type: Boolean, required: true, default: () => false }
1205
+ },
1206
+ emits: ["recharge", "update:modelValue"],
1207
+ setup(__props, { emit: __emit }) {
1208
+ const emit = __emit;
1209
+ return (_ctx, _cache) => {
1210
+ const _component_nut_button = resolveComponent("nut-button");
1211
+ const _component_nut_popup = resolveComponent("nut-popup");
1212
+ return openBlock(), createBlock(_component_nut_popup, {
1213
+ "pop-class": "balance-reminder-popup",
1214
+ round: "",
1215
+ teleport: "#app",
1216
+ visible: _ctx.modelValue,
1217
+ "close-on-click-overlay": false
1218
+ }, {
1219
+ default: withCtx(() => [
1220
+ createElementVNode("div", _hoisted_1$1, [
1221
+ _hoisted_2$1,
1222
+ createElementVNode("div", _hoisted_3$1, [
1223
+ createElementVNode("div", _hoisted_4$1, [
1224
+ createVNode(_component_nut_button, {
1225
+ class: "cancel-button",
1226
+ onClick: _cache[0] || (_cache[0] = ($event) => emit("update:modelValue", false)),
1227
+ block: ""
1228
+ }, {
1229
+ default: withCtx(() => [
1230
+ createTextVNode("\u53D6\u6D88")
1231
+ ]),
1232
+ _: 1
1233
+ /* STABLE */
1234
+ })
1235
+ ]),
1236
+ createElementVNode("div", _hoisted_5$1, [
1237
+ createVNode(_component_nut_button, {
1238
+ block: "",
1239
+ class: "recharge-button",
1240
+ onClick: _cache[1] || (_cache[1] = ($event) => emit("recharge"))
1241
+ }, {
1242
+ default: withCtx(() => [
1243
+ createTextVNode("\u53BB\u5145\u503C")
1244
+ ]),
1245
+ _: 1
1246
+ /* STABLE */
1247
+ })
1220
1248
  ])
1221
1249
  ])
1222
- ]),
1223
- _: 1
1224
- /* STABLE */
1225
- }, 8, ["visible"]);
1226
- };
1227
- }
1228
- });
1250
+ ])
1251
+ ]),
1252
+ _: 1
1253
+ /* STABLE */
1254
+ }, 8, ["visible"]);
1255
+ };
1256
+ }
1257
+ });
1229
1258
 
1230
- var css_248z$1 = ".balance-reminder-popup {\n width: 90%;\n}\n\n.balance-reminder {\n --primary-button-background: linear-gradient(135deg, #098C9D 0%, #66BF97 100%);\n}\n.balance-reminder h2 {\n font-size: 16px;\n font-weight: bold;\n margin-bottom: 14px;\n}\n.balance-reminder .body {\n height: 120px;\n box-sizing: border-box;\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n padding: 20px 10px 10px 10px;\n font-size: 14px;\n text-align: center;\n color: #666;\n}\n.balance-reminder .footer {\n display: flex;\n flex-direction: row;\n justify-content: stretch;\n align-items: center;\n padding: 10px 20px 20px 20px;\n}\n.balance-reminder .footer .col {\n flex-grow: 1;\n padding: 6px;\n}\n.balance-reminder .footer .recharge-button {\n color: #fff;\n background: var(--primary-button-background);\n}";
1231
- styleInject(css_248z$1);
1259
+ var css_248z$1 = ".balance-reminder-popup {\n width: 90%;\n}\n\n.balance-reminder {\n --primary-button-background: linear-gradient(135deg, #098C9D 0%, #66BF97 100%);\n}\n.balance-reminder h2 {\n font-size: 16px;\n font-weight: bold;\n margin-bottom: 14px;\n}\n.balance-reminder .body {\n height: 120px;\n box-sizing: border-box;\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n padding: 20px 10px 10px 10px;\n font-size: 14px;\n text-align: center;\n color: #666;\n}\n.balance-reminder .footer {\n display: flex;\n flex-direction: row;\n justify-content: stretch;\n align-items: center;\n padding: 10px 20px 20px 20px;\n}\n.balance-reminder .footer .col {\n flex-grow: 1;\n padding: 6px;\n}\n.balance-reminder .footer .recharge-button {\n color: #fff;\n background: var(--primary-button-background);\n}";
1260
+ styleInject(css_248z$1);
1232
1261
 
1233
- script$1.__file = "src/balance/components/BalanceReminder.vue";
1262
+ script$1.__file = "src/balance/components/BalanceReminder.vue";
1234
1263
 
1235
- const _hoisted_1 = { class: "consumption-view" };
1236
- const _hoisted_2 = { class: "header" };
1237
- const _hoisted_3 = { class: "header_card" };
1238
- const _hoisted_4 = { class: "clound-bean" };
1239
- const _hoisted_5 = { class: "bean-box spa-between" };
1240
- const _hoisted_6 = /* @__PURE__ */ vue.createElementVNode(
1241
- "div",
1242
- { class: "bean-img" },
1243
- [
1244
- /* @__PURE__ */ vue.createElementVNode("img", {
1245
- class: "bean-icon",
1246
- src: "https://cdn.ddjf.com/static/images/bpms-workBench/gold-bean.png"
1247
- }),
1248
- /* @__PURE__ */ vue.createElementVNode("div", { class: "bean-tag tag" }, "\u4E91\u8C46")
1249
- ],
1250
- -1
1251
- /* HOISTED */
1252
- );
1253
- const _hoisted_7 = { class: "bean-counts spa-between" };
1254
- const _hoisted_8 = { class: "counts" };
1255
- const _hoisted_9 = /* @__PURE__ */ vue.createElementVNode(
1256
- "div",
1257
- { class: "line" },
1258
- null,
1259
- -1
1260
- /* HOISTED */
1261
- );
1262
- const _hoisted_10 = {
1263
- key: 0,
1264
- class: "small-clound-bean clound-bean"
1265
- };
1266
- const _hoisted_11 = /* @__PURE__ */ vue.createElementVNode(
1267
- "div",
1268
- { class: "bean-box spa-between" },
1269
- [
1270
- /* @__PURE__ */ vue.createElementVNode("div", { class: "bean-img" }, [
1271
- /* @__PURE__ */ vue.createElementVNode("div", { class: "bean-tag" }, "\u5C0F\u4E91\u8C46")
1272
- ])
1273
- ],
1274
- -1
1275
- /* HOISTED */
1276
- );
1277
- const _hoisted_12 = { class: "bean-list" };
1278
- const _hoisted_13 = { class: "counts" };
1279
- const _hoisted_14 = { class: "title" };
1280
- const _hoisted_15 = { class: "operation-title spa-between" };
1281
- const _hoisted_16 = { class: "search-time" };
1282
- const _hoisted_17 = /* @__PURE__ */ vue.createElementVNode(
1283
- "div",
1284
- { class: "title" },
1285
- "\u6536\u652F\u660E\u7EC6",
1286
- -1
1287
- /* HOISTED */
1288
- );
1289
- const _hoisted_18 = { class: "text" };
1290
- const _hoisted_19 = /* @__PURE__ */ vue.createElementVNode(
1291
- "img",
1292
- {
1293
- class: "time-icon",
1294
- src: "https://cdn.ddjf.com/static/images/bpms-workBench/clound-bean-down.png"
1295
- },
1296
- null,
1297
- -1
1298
- /* HOISTED */
1299
- );
1300
- const _hoisted_20 = /* @__PURE__ */ vue.createElementVNode(
1301
- "span",
1302
- { class: "text" },
1303
- "\u7B5B\u9009",
1304
- -1
1305
- /* HOISTED */
1306
- );
1307
- const _hoisted_21 = /* @__PURE__ */ vue.createElementVNode(
1308
- "img",
1309
- {
1310
- class: "time-icon",
1311
- src: "https://cdn.ddjf.com/static/images/bpms-workBench/clound-bean-select-icon.png"
1312
- },
1313
- null,
1314
- -1
1315
- /* HOISTED */
1316
- );
1317
- const _hoisted_22 = [
1318
- _hoisted_20,
1319
- _hoisted_21
1320
- ];
1321
- const _hoisted_23 = { class: "operation-list" };
1322
- const _hoisted_24 = {
1323
- key: 0,
1324
- class: "box"
1325
- };
1326
- const _hoisted_25 = { class: "title" };
1327
- const _hoisted_26 = { class: "item-type" };
1328
- const _hoisted_27 = { class: "item-detail" };
1329
- const _hoisted_28 = { class: "item-info spa-between" };
1330
- const _hoisted_29 = { class: "item-info-type" };
1331
- const _hoisted_30 = { class: "item-info-title" };
1332
- const _hoisted_31 = { class: "item-info-amount" };
1333
- const _hoisted_32 = { class: "item-detail-remark" };
1334
- const _hoisted_33 = /* @__PURE__ */ vue.createElementVNode(
1335
- "div",
1336
- { class: "box-not-text" },
1337
- "\u6CA1\u6709\u66F4\u591A\u4E86",
1338
- -1
1339
- /* HOISTED */
1340
- );
1341
- const _hoisted_34 = {
1342
- key: 1,
1343
- class: "info-not"
1344
- };
1345
- const _hoisted_35 = /* @__PURE__ */ vue.createElementVNode(
1346
- "img",
1347
- {
1348
- class: "info-not-img",
1349
- src: "https://cdn.ddjf.com/static/images/fnfundkit/bean-no-thing.png"
1350
- },
1351
- null,
1352
- -1
1353
- /* HOISTED */
1354
- );
1355
- const _hoisted_36 = /* @__PURE__ */ vue.createElementVNode(
1356
- "div",
1357
- { class: "info-not-text" },
1358
- "\u6682\u65E0\u6570\u636E",
1359
- -1
1360
- /* HOISTED */
1361
- );
1362
- const _hoisted_37 = [
1363
- _hoisted_35,
1364
- _hoisted_36
1365
- ];
1366
- const _hoisted_38 = /* @__PURE__ */ vue.createElementVNode(
1367
- "img",
1368
- {
1369
- class: "back-to-top-icon",
1370
- src: "https://cdn.ddjf.com/static/images/bpms-workBench/top.png"
1371
- },
1372
- null,
1373
- -1
1374
- /* HOISTED */
1375
- );
1376
- const _hoisted_39 = [
1377
- _hoisted_38
1378
- ];
1379
- var script = /* @__PURE__ */ vue.defineComponent({
1380
- __name: "AccountView",
1381
- emits: ["recharge"],
1382
- setup(__props, { emit: __emit }) {
1383
- const emit = __emit;
1384
- const filterOpen = vue.ref(false);
1385
- const rulesPopupOpen = vue.ref(false);
1386
- const filtering = vue.reactive({
1387
- position: "\u5168\u90E8",
1388
- direction: "\u5168\u90E8",
1389
- type: "\u5168\u90E8",
1390
- dateFrom: "",
1391
- dateTo: ""
1392
- });
1393
- const datePickerOpen = vue.ref(false);
1394
- function openDateFilter() {
1395
- datePickerOpen.value = true;
1396
- }
1397
- const dataRangeDisplay = vue.computed(() => {
1398
- let startTime = filtering.dateFrom?.replace(/-/g, ".").substring(2);
1399
- let endTime = filtering.dateTo?.replace(/-/g, ".").substring(2);
1400
- return startTime + " - " + endTime;
1264
+ const _hoisted_1 = { class: "consumption-view" };
1265
+ const _hoisted_2 = { class: "header" };
1266
+ const _hoisted_3 = { class: "header_card" };
1267
+ const _hoisted_4 = { class: "clound-bean" };
1268
+ const _hoisted_5 = { class: "bean-box spa-between" };
1269
+ const _hoisted_6 = /* @__PURE__ */ createElementVNode(
1270
+ "div",
1271
+ { class: "bean-img" },
1272
+ [
1273
+ /* @__PURE__ */ createElementVNode("img", {
1274
+ class: "bean-icon",
1275
+ src: "https://cdn.ddjf.com/static/images/bpms-workBench/gold-bean.png"
1276
+ }),
1277
+ /* @__PURE__ */ createElementVNode("div", { class: "bean-tag tag" }, "\u4E91\u8C46")
1278
+ ],
1279
+ -1
1280
+ /* HOISTED */
1281
+ );
1282
+ const _hoisted_7 = { class: "bean-counts spa-between" };
1283
+ const _hoisted_8 = { class: "counts" };
1284
+ const _hoisted_9 = /* @__PURE__ */ createElementVNode(
1285
+ "div",
1286
+ { class: "line" },
1287
+ null,
1288
+ -1
1289
+ /* HOISTED */
1290
+ );
1291
+ const _hoisted_10 = {
1292
+ key: 0,
1293
+ class: "small-clound-bean clound-bean"
1294
+ };
1295
+ const _hoisted_11 = /* @__PURE__ */ createElementVNode(
1296
+ "div",
1297
+ { class: "bean-box spa-between" },
1298
+ [
1299
+ /* @__PURE__ */ createElementVNode("div", { class: "bean-img" }, [
1300
+ /* @__PURE__ */ createElementVNode("div", { class: "bean-tag" }, "\u5C0F\u4E91\u8C46")
1301
+ ])
1302
+ ],
1303
+ -1
1304
+ /* HOISTED */
1305
+ );
1306
+ const _hoisted_12 = { class: "bean-list" };
1307
+ const _hoisted_13 = { class: "counts" };
1308
+ const _hoisted_14 = { class: "title" };
1309
+ const _hoisted_15 = { class: "operation-title spa-between" };
1310
+ const _hoisted_16 = { class: "search-time" };
1311
+ const _hoisted_17 = /* @__PURE__ */ createElementVNode(
1312
+ "div",
1313
+ { class: "title" },
1314
+ "\u6536\u652F\u660E\u7EC6",
1315
+ -1
1316
+ /* HOISTED */
1317
+ );
1318
+ const _hoisted_18 = { class: "text" };
1319
+ const _hoisted_19 = /* @__PURE__ */ createElementVNode(
1320
+ "img",
1321
+ {
1322
+ class: "time-icon",
1323
+ src: "https://cdn.ddjf.com/static/images/bpms-workBench/clound-bean-down.png"
1324
+ },
1325
+ null,
1326
+ -1
1327
+ /* HOISTED */
1328
+ );
1329
+ const _hoisted_20 = /* @__PURE__ */ createElementVNode(
1330
+ "span",
1331
+ { class: "text" },
1332
+ "\u7B5B\u9009",
1333
+ -1
1334
+ /* HOISTED */
1335
+ );
1336
+ const _hoisted_21 = /* @__PURE__ */ createElementVNode(
1337
+ "img",
1338
+ {
1339
+ class: "time-icon",
1340
+ src: "https://cdn.ddjf.com/static/images/bpms-workBench/clound-bean-select-icon.png"
1341
+ },
1342
+ null,
1343
+ -1
1344
+ /* HOISTED */
1345
+ );
1346
+ const _hoisted_22 = [
1347
+ _hoisted_20,
1348
+ _hoisted_21
1349
+ ];
1350
+ const _hoisted_23 = { class: "operation-list" };
1351
+ const _hoisted_24 = {
1352
+ key: 0,
1353
+ class: "box"
1354
+ };
1355
+ const _hoisted_25 = { class: "title" };
1356
+ const _hoisted_26 = { class: "item-type" };
1357
+ const _hoisted_27 = { class: "item-detail" };
1358
+ const _hoisted_28 = { class: "item-info spa-between" };
1359
+ const _hoisted_29 = { class: "item-info-type" };
1360
+ const _hoisted_30 = { class: "item-info-title" };
1361
+ const _hoisted_31 = { class: "item-info-amount" };
1362
+ const _hoisted_32 = { class: "item-detail-remark" };
1363
+ const _hoisted_33 = /* @__PURE__ */ createElementVNode(
1364
+ "div",
1365
+ { class: "box-not-text" },
1366
+ "\u6CA1\u6709\u66F4\u591A\u4E86",
1367
+ -1
1368
+ /* HOISTED */
1369
+ );
1370
+ const _hoisted_34 = {
1371
+ key: 1,
1372
+ class: "info-not"
1373
+ };
1374
+ const _hoisted_35 = /* @__PURE__ */ createElementVNode(
1375
+ "img",
1376
+ {
1377
+ class: "info-not-img",
1378
+ src: "https://cdn.ddjf.com/static/images/fnfundkit/bean-no-thing.png"
1379
+ },
1380
+ null,
1381
+ -1
1382
+ /* HOISTED */
1383
+ );
1384
+ const _hoisted_36 = /* @__PURE__ */ createElementVNode(
1385
+ "div",
1386
+ { class: "info-not-text" },
1387
+ "\u6682\u65E0\u6570\u636E",
1388
+ -1
1389
+ /* HOISTED */
1390
+ );
1391
+ const _hoisted_37 = [
1392
+ _hoisted_35,
1393
+ _hoisted_36
1394
+ ];
1395
+ const _hoisted_38 = /* @__PURE__ */ createElementVNode(
1396
+ "img",
1397
+ {
1398
+ class: "back-to-top-icon",
1399
+ src: "https://cdn.ddjf.com/static/images/bpms-workBench/top.png"
1400
+ },
1401
+ null,
1402
+ -1
1403
+ /* HOISTED */
1404
+ );
1405
+ const _hoisted_39 = [
1406
+ _hoisted_38
1407
+ ];
1408
+ var script = /* @__PURE__ */ defineComponent({
1409
+ __name: "AccountView",
1410
+ emits: ["recharge"],
1411
+ setup(__props, { emit: __emit }) {
1412
+ const emit = __emit;
1413
+ const filterOpen = ref(false);
1414
+ const rulesPopupOpen = ref(false);
1415
+ const filtering = reactive({
1416
+ position: "\u5168\u90E8",
1417
+ direction: "\u5168\u90E8",
1418
+ type: "\u5168\u90E8",
1419
+ dateFrom: "",
1420
+ dateTo: ""
1421
+ });
1422
+ const datePickerOpen = ref(false);
1423
+ function openDateFilter() {
1424
+ datePickerOpen.value = true;
1425
+ }
1426
+ const dataRangeDisplay = computed(() => {
1427
+ let startTime = filtering.dateFrom?.replace(/-/g, ".").substring(2);
1428
+ let endTime = filtering.dateTo?.replace(/-/g, ".").substring(2);
1429
+ return startTime + " - " + endTime;
1430
+ });
1431
+ const consumptionGroups = ref({
1432
+ from: "",
1433
+ to: "",
1434
+ list: []
1435
+ });
1436
+ const balance = ref({
1437
+ total: 0,
1438
+ privileges: []
1439
+ });
1440
+ onMounted(() => {
1441
+ Taro.setNavigationBarTitle({
1442
+ title: "\u6211\u7684\u8D26\u6237"
1401
1443
  });
1402
- const consumptionGroups = vue.ref({
1403
- from: "",
1404
- to: "",
1405
- list: []
1444
+ loadConsumptions(true);
1445
+ loadBalance();
1446
+ });
1447
+ async function loadConsumptions(firstTime) {
1448
+ const $http = makeHttp();
1449
+ Taro.showLoading({
1450
+ title: `\u52A0\u8F7D\u4E2D...`,
1451
+ mask: true
1406
1452
  });
1407
- const balance = vue.ref({
1408
- total: 0,
1409
- privileges: []
1453
+ $http.get(endpoints.getOperations, filtering).then((data) => {
1454
+ consumptionGroups.value = data;
1455
+ if (firstTime) {
1456
+ filtering.dateFrom = data.from;
1457
+ filtering.dateTo = data.to;
1458
+ }
1410
1459
  });
1411
- vue.onMounted(() => {
1412
- Taro.setNavigationBarTitle({
1413
- title: "\u6211\u7684\u8D26\u6237"
1414
- });
1415
- loadConsumptions(true);
1416
- loadBalance();
1460
+ Taro.hideLoading();
1461
+ }
1462
+ async function loadBalance() {
1463
+ const $http = makeHttp();
1464
+ $http.get(endpoints.getBalance, {}).then((data) => {
1465
+ balance.value = data;
1417
1466
  });
1418
- async function loadConsumptions(firstTime) {
1419
- const $http = makeHttp();
1420
- Taro.showLoading({
1421
- title: `\u52A0\u8F7D\u4E2D...`,
1422
- mask: true
1423
- });
1424
- $http.get(endpoints.getOperations, filtering).then((data) => {
1425
- consumptionGroups.value = data;
1426
- if (firstTime) {
1427
- filtering.dateFrom = data.from;
1428
- filtering.dateTo = data.to;
1429
- }
1430
- });
1431
- Taro.hideLoading();
1432
- }
1433
- async function loadBalance() {
1434
- const $http = makeHttp();
1435
- $http.get(endpoints.getBalance, {}).then((data) => {
1436
- balance.value = data;
1437
- });
1438
- }
1439
- const onFilterComplete = (value) => {
1440
- filtering.position = value[0];
1441
- filtering.direction = value[1];
1442
- filtering.type = value[2];
1443
- filterOpen.value = false;
1444
- loadConsumptions();
1445
- };
1446
- const onDateFilterComplete = (value) => {
1447
- filtering.dateFrom = value.from;
1448
- filtering.dateTo = value.to;
1449
- datePickerOpen.value = false;
1450
- loadConsumptions();
1451
- };
1452
- function backToTop() {
1453
- Taro.pageScrollTo({
1454
- scrollTop: 0,
1455
- duration: 300
1456
- // 滚动到顶部的动画持续时间
1457
- });
1458
- }
1459
- function gotoRecharge() {
1460
- balanceReminderOpen.value = true;
1461
- emit("recharge");
1462
- }
1463
- const balanceReminderOpen = vue.ref(false);
1464
- const scrollY = vue.ref(0);
1465
- Taro.usePageScroll((e) => {
1466
- const { scrollTop } = e;
1467
- scrollY.value = scrollTop;
1467
+ }
1468
+ const onFilterComplete = (value) => {
1469
+ filtering.position = value[0];
1470
+ filtering.direction = value[1];
1471
+ filtering.type = value[2];
1472
+ filterOpen.value = false;
1473
+ loadConsumptions();
1474
+ };
1475
+ const onDateFilterComplete = (value) => {
1476
+ filtering.dateFrom = value.from;
1477
+ filtering.dateTo = value.to;
1478
+ datePickerOpen.value = false;
1479
+ loadConsumptions();
1480
+ };
1481
+ function backToTop() {
1482
+ Taro.pageScrollTo({
1483
+ scrollTop: 0,
1484
+ duration: 300
1485
+ // 滚动到顶部的动画持续时间
1468
1486
  });
1469
- return (_ctx, _cache) => {
1470
- const _component_nut_popup = vue.resolveComponent("nut-popup");
1471
- return vue.openBlock(), vue.createElementBlock(
1472
- vue.Fragment,
1473
- null,
1474
- [
1475
- vue.createElementVNode("div", _hoisted_1, [
1476
- vue.createElementVNode("div", _hoisted_2, [
1477
- vue.createElementVNode("div", _hoisted_3, [
1478
- vue.createElementVNode("div", _hoisted_4, [
1479
- vue.createElementVNode("div", _hoisted_5, [
1480
- _hoisted_6,
1481
- vue.createElementVNode("div", {
1482
- class: "rule",
1483
- onClick: _cache[0] || (_cache[0] = ($event) => rulesPopupOpen.value = true)
1484
- }, "\u89C4\u5219\u8BF4\u660E")
1485
- ]),
1486
- vue.createElementVNode("div", _hoisted_7, [
1487
- vue.createElementVNode(
1487
+ }
1488
+ function gotoRecharge() {
1489
+ balanceReminderOpen.value = true;
1490
+ emit("recharge");
1491
+ }
1492
+ const balanceReminderOpen = ref(false);
1493
+ const scrollY = ref(0);
1494
+ usePageScroll((e) => {
1495
+ const { scrollTop } = e;
1496
+ scrollY.value = scrollTop;
1497
+ });
1498
+ return (_ctx, _cache) => {
1499
+ const _component_nut_popup = resolveComponent("nut-popup");
1500
+ return openBlock(), createElementBlock(
1501
+ Fragment,
1502
+ null,
1503
+ [
1504
+ createElementVNode("div", _hoisted_1, [
1505
+ createElementVNode("div", _hoisted_2, [
1506
+ createElementVNode("div", _hoisted_3, [
1507
+ createElementVNode("div", _hoisted_4, [
1508
+ createElementVNode("div", _hoisted_5, [
1509
+ _hoisted_6,
1510
+ createElementVNode("div", {
1511
+ class: "rule",
1512
+ onClick: _cache[0] || (_cache[0] = ($event) => rulesPopupOpen.value = true)
1513
+ }, "\u89C4\u5219\u8BF4\u660E")
1514
+ ]),
1515
+ createElementVNode("div", _hoisted_7, [
1516
+ createElementVNode(
1517
+ "div",
1518
+ _hoisted_8,
1519
+ toDisplayString(balance.value.total || 0),
1520
+ 1
1521
+ /* TEXT */
1522
+ ),
1523
+ createElementVNode("div", {
1524
+ class: "pay",
1525
+ onClick: gotoRecharge
1526
+ }, "\u4E91\u8C46\u5145\u503C")
1527
+ ])
1528
+ ]),
1529
+ _hoisted_9,
1530
+ balance.value.privileges.length > 0 ? (openBlock(), createElementBlock("div", _hoisted_10, [
1531
+ _hoisted_11,
1532
+ createElementVNode("div", _hoisted_12, [
1533
+ (openBlock(true), createElementBlock(
1534
+ Fragment,
1535
+ null,
1536
+ renderList(balance.value.privileges, (item) => {
1537
+ return openBlock(), createElementBlock("div", {
1538
+ key: item,
1539
+ class: "bean-list-item"
1540
+ }, [
1541
+ createElementVNode(
1542
+ "div",
1543
+ _hoisted_13,
1544
+ toDisplayString(item.amount),
1545
+ 1
1546
+ /* TEXT */
1547
+ ),
1548
+ createElementVNode(
1549
+ "div",
1550
+ _hoisted_14,
1551
+ toDisplayString(item.title),
1552
+ 1
1553
+ /* TEXT */
1554
+ )
1555
+ ]);
1556
+ }),
1557
+ 128
1558
+ /* KEYED_FRAGMENT */
1559
+ ))
1560
+ ])
1561
+ ])) : createCommentVNode("v-if", true)
1562
+ ])
1563
+ ]),
1564
+ createElementVNode("div", _hoisted_15, [
1565
+ createElementVNode("div", _hoisted_16, [
1566
+ _hoisted_17,
1567
+ withDirectives(createElementVNode(
1568
+ "div",
1569
+ {
1570
+ class: "time",
1571
+ onClick: openDateFilter
1572
+ },
1573
+ [
1574
+ createElementVNode(
1575
+ "div",
1576
+ _hoisted_18,
1577
+ toDisplayString(dataRangeDisplay.value),
1578
+ 1
1579
+ /* TEXT */
1580
+ ),
1581
+ _hoisted_19
1582
+ ],
1583
+ 512
1584
+ /* NEED_PATCH */
1585
+ ), [
1586
+ [vShow, filtering.dateFrom]
1587
+ ])
1588
+ ]),
1589
+ createElementVNode("div", {
1590
+ class: "search",
1591
+ onClick: _cache[1] || (_cache[1] = ($event) => filterOpen.value = true)
1592
+ }, [..._hoisted_22])
1593
+ ]),
1594
+ createElementVNode("div", _hoisted_23, [
1595
+ consumptionGroups.value.list.length > 0 ? (openBlock(), createElementBlock("div", _hoisted_24, [
1596
+ (openBlock(true), createElementBlock(
1597
+ Fragment,
1598
+ null,
1599
+ renderList(consumptionGroups.value.list, (item, index) => {
1600
+ return openBlock(), createElementBlock("div", {
1601
+ class: "box-detail",
1602
+ key: index
1603
+ }, [
1604
+ createElementVNode(
1488
1605
  "div",
1489
- _hoisted_8,
1490
- vue.toDisplayString(balance.value.total || 0),
1606
+ _hoisted_25,
1607
+ toDisplayString(item.date),
1491
1608
  1
1492
1609
  /* TEXT */
1493
1610
  ),
1494
- vue.createElementVNode("div", {
1495
- class: "pay",
1496
- onClick: gotoRecharge
1497
- }, "\u4E91\u8C46\u5145\u503C")
1498
- ])
1499
- ]),
1500
- _hoisted_9,
1501
- balance.value.privileges.length > 0 ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_10, [
1502
- _hoisted_11,
1503
- vue.createElementVNode("div", _hoisted_12, [
1504
- (vue.openBlock(true), vue.createElementBlock(
1505
- vue.Fragment,
1611
+ (openBlock(true), createElementBlock(
1612
+ Fragment,
1506
1613
  null,
1507
- vue.renderList(balance.value.privileges, (item) => {
1508
- return vue.openBlock(), vue.createElementBlock("div", {
1509
- key: item,
1510
- class: "bean-list-item"
1614
+ renderList(item.consumptions, (it, i) => {
1615
+ return openBlock(), createElementBlock("div", {
1616
+ class: "item",
1617
+ key: i
1511
1618
  }, [
1512
- vue.createElementVNode(
1619
+ createElementVNode(
1513
1620
  "div",
1514
- _hoisted_13,
1515
- vue.toDisplayString(item.amount),
1621
+ _hoisted_26,
1622
+ toDisplayString(it.type),
1516
1623
  1
1517
1624
  /* TEXT */
1518
1625
  ),
1519
- vue.createElementVNode(
1520
- "div",
1521
- _hoisted_14,
1522
- vue.toDisplayString(item.title),
1523
- 1
1524
- /* TEXT */
1525
- )
1526
- ]);
1527
- }),
1528
- 128
1529
- /* KEYED_FRAGMENT */
1530
- ))
1531
- ])
1532
- ])) : vue.createCommentVNode("v-if", true)
1533
- ])
1534
- ]),
1535
- vue.createElementVNode("div", _hoisted_15, [
1536
- vue.createElementVNode("div", _hoisted_16, [
1537
- _hoisted_17,
1538
- vue.withDirectives(vue.createElementVNode(
1539
- "div",
1540
- {
1541
- class: "time",
1542
- onClick: openDateFilter
1543
- },
1544
- [
1545
- vue.createElementVNode(
1546
- "div",
1547
- _hoisted_18,
1548
- vue.toDisplayString(dataRangeDisplay.value),
1549
- 1
1550
- /* TEXT */
1551
- ),
1552
- _hoisted_19
1553
- ],
1554
- 512
1555
- /* NEED_PATCH */
1556
- ), [
1557
- [vue.vShow, filtering.dateFrom]
1558
- ])
1559
- ]),
1560
- vue.createElementVNode("div", {
1561
- class: "search",
1562
- onClick: _cache[1] || (_cache[1] = ($event) => filterOpen.value = true)
1563
- }, [..._hoisted_22])
1564
- ]),
1565
- vue.createElementVNode("div", _hoisted_23, [
1566
- consumptionGroups.value.list.length > 0 ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_24, [
1567
- (vue.openBlock(true), vue.createElementBlock(
1568
- vue.Fragment,
1569
- null,
1570
- vue.renderList(consumptionGroups.value.list, (item, index) => {
1571
- return vue.openBlock(), vue.createElementBlock("div", {
1572
- class: "box-detail",
1573
- key: index
1574
- }, [
1575
- vue.createElementVNode(
1576
- "div",
1577
- _hoisted_25,
1578
- vue.toDisplayString(item.date),
1579
- 1
1580
- /* TEXT */
1581
- ),
1582
- (vue.openBlock(true), vue.createElementBlock(
1583
- vue.Fragment,
1584
- null,
1585
- vue.renderList(item.consumptions, (it, i) => {
1586
- return vue.openBlock(), vue.createElementBlock("div", {
1587
- class: "item",
1588
- key: i
1589
- }, [
1590
- vue.createElementVNode(
1591
- "div",
1592
- _hoisted_26,
1593
- vue.toDisplayString(it.type),
1594
- 1
1595
- /* TEXT */
1596
- ),
1597
- vue.createElementVNode("div", _hoisted_27, [
1598
- vue.createElementVNode("div", _hoisted_28, [
1599
- vue.createElementVNode("div", null, [
1600
- vue.createElementVNode(
1601
- "div",
1602
- _hoisted_29,
1603
- vue.toDisplayString(it.position),
1604
- 1
1605
- /* TEXT */
1606
- ),
1607
- vue.createElementVNode(
1608
- "div",
1609
- _hoisted_30,
1610
- vue.toDisplayString(it.title),
1611
- 1
1612
- /* TEXT */
1613
- )
1614
- ]),
1615
- vue.createElementVNode(
1626
+ createElementVNode("div", _hoisted_27, [
1627
+ createElementVNode("div", _hoisted_28, [
1628
+ createElementVNode("div", null, [
1629
+ createElementVNode(
1616
1630
  "div",
1617
- _hoisted_31,
1618
- vue.toDisplayString(it.direction == "\u652F\u51FA" ? "-" : "+") + vue.toDisplayString(it.amount),
1631
+ _hoisted_29,
1632
+ toDisplayString(it.position),
1633
+ 1
1634
+ /* TEXT */
1635
+ ),
1636
+ createElementVNode(
1637
+ "div",
1638
+ _hoisted_30,
1639
+ toDisplayString(it.title),
1619
1640
  1
1620
1641
  /* TEXT */
1621
1642
  )
1622
1643
  ]),
1623
- vue.createElementVNode(
1644
+ createElementVNode(
1624
1645
  "div",
1625
- _hoisted_32,
1626
- vue.toDisplayString(it.description),
1646
+ _hoisted_31,
1647
+ toDisplayString(it.direction == "\u652F\u51FA" ? "-" : "+") + toDisplayString(it.amount),
1627
1648
  1
1628
1649
  /* TEXT */
1629
1650
  )
1630
- ])
1631
- ]);
1632
- }),
1633
- 128
1634
- /* KEYED_FRAGMENT */
1635
- ))
1636
- ]);
1637
- }),
1638
- 128
1639
- /* KEYED_FRAGMENT */
1640
- )),
1641
- _hoisted_33
1642
- ])) : (vue.openBlock(), vue.createElementBlock("div", _hoisted_34, [..._hoisted_37]))
1643
- ])
1651
+ ]),
1652
+ createElementVNode(
1653
+ "div",
1654
+ _hoisted_32,
1655
+ toDisplayString(it.description),
1656
+ 1
1657
+ /* TEXT */
1658
+ )
1659
+ ])
1660
+ ]);
1661
+ }),
1662
+ 128
1663
+ /* KEYED_FRAGMENT */
1664
+ ))
1665
+ ]);
1666
+ }),
1667
+ 128
1668
+ /* KEYED_FRAGMENT */
1669
+ )),
1670
+ _hoisted_33
1671
+ ])) : (openBlock(), createElementBlock("div", _hoisted_34, [..._hoisted_37]))
1672
+ ])
1673
+ ]),
1674
+ createVNode(_component_nut_popup, {
1675
+ "pop-class": "consumption-rules-popup",
1676
+ visible: rulesPopupOpen.value,
1677
+ "onUpdate:visible": _cache[3] || (_cache[3] = ($event) => rulesPopupOpen.value = $event),
1678
+ "close-on-click-overlay": false
1679
+ }, {
1680
+ default: withCtx(() => [
1681
+ createVNode(script$2, {
1682
+ onComplete: _cache[2] || (_cache[2] = ($event) => rulesPopupOpen.value = false)
1683
+ })
1644
1684
  ]),
1645
- vue.createVNode(_component_nut_popup, {
1646
- "pop-class": "consumption-rules-popup",
1647
- visible: rulesPopupOpen.value,
1648
- "onUpdate:visible": _cache[3] || (_cache[3] = ($event) => rulesPopupOpen.value = $event),
1649
- "close-on-click-overlay": false
1650
- }, {
1651
- default: vue.withCtx(() => [
1652
- vue.createVNode(script$2, {
1653
- onComplete: _cache[2] || (_cache[2] = ($event) => rulesPopupOpen.value = false)
1654
- })
1655
- ]),
1656
- _: 1
1657
- /* STABLE */
1658
- }, 8, ["visible"]),
1659
- vue.createVNode(_component_nut_popup, {
1660
- position: "bottom",
1661
- style: { height: "40%" },
1662
- round: "",
1663
- "close-on-click-overlay": true,
1664
- visible: datePickerOpen.value,
1665
- "onUpdate:visible": _cache[4] || (_cache[4] = ($event) => datePickerOpen.value = $event)
1666
- }, {
1667
- default: vue.withCtx(() => [
1668
- datePickerOpen.value ? (vue.openBlock(), vue.createBlock(script$3, {
1669
- key: 0,
1670
- from: filtering.dateFrom,
1671
- to: filtering.dateTo,
1672
- onComplete: onDateFilterComplete
1673
- }, null, 8, ["from", "to"])) : vue.createCommentVNode("v-if", true)
1674
- ]),
1675
- _: 1
1676
- /* STABLE */
1677
- }, 8, ["visible"]),
1678
- vue.createVNode(_component_nut_popup, {
1679
- position: "bottom",
1680
- style: { height: "70%" },
1681
- round: "",
1682
- "close-on-click-overlay": false,
1683
- visible: filterOpen.value,
1684
- "onUpdate:visible": _cache[5] || (_cache[5] = ($event) => filterOpen.value = $event)
1685
- }, {
1686
- default: vue.withCtx(() => [
1687
- vue.createVNode(script$4, {
1688
- modelValue: [
1689
- filtering.position,
1690
- filtering.direction,
1691
- filtering.type
1692
- ],
1693
- onComplete: onFilterComplete
1694
- }, null, 8, ["modelValue"])
1695
- ]),
1696
- _: 1
1697
- /* STABLE */
1698
- }, 8, ["visible"]),
1699
- vue.withDirectives(vue.createElementVNode(
1700
- "div",
1701
- {
1702
- class: "back-to-top",
1703
- onClick: backToTop
1704
- },
1705
- [..._hoisted_39],
1706
- 512
1707
- /* NEED_PATCH */
1708
- ), [
1709
- [vue.vShow, scrollY.value > 300]
1685
+ _: 1
1686
+ /* STABLE */
1687
+ }, 8, ["visible"]),
1688
+ createVNode(_component_nut_popup, {
1689
+ position: "bottom",
1690
+ style: { height: "40%" },
1691
+ round: "",
1692
+ "close-on-click-overlay": true,
1693
+ visible: datePickerOpen.value,
1694
+ "onUpdate:visible": _cache[4] || (_cache[4] = ($event) => datePickerOpen.value = $event)
1695
+ }, {
1696
+ default: withCtx(() => [
1697
+ datePickerOpen.value ? (openBlock(), createBlock(script$3, {
1698
+ key: 0,
1699
+ from: filtering.dateFrom,
1700
+ to: filtering.dateTo,
1701
+ onComplete: onDateFilterComplete
1702
+ }, null, 8, ["from", "to"])) : createCommentVNode("v-if", true)
1710
1703
  ]),
1711
- vue.createVNode(script$1, {
1712
- modelValue: balanceReminderOpen.value,
1713
- "onUpdate:modelValue": _cache[6] || (_cache[6] = ($event) => balanceReminderOpen.value = $event)
1714
- }, null, 8, ["modelValue"])
1715
- ],
1716
- 64
1717
- /* STABLE_FRAGMENT */
1718
- );
1719
- };
1720
- }
1721
- });
1722
-
1723
- var css_248z = ".consumption-view .spa-between {\n padding: 0 0 0 10px;\n display: flex;\n justify-content: space-between;\n align-items: center;\n}\n.consumption-view .header {\n position: relative;\n background: linear-gradient(187.18deg, #353535 10.04%, #433f46 90.21%);\n background-size: 100% 106px;\n padding-top: 20px;\n background-repeat: no-repeat;\n}\n.consumption-view .header_card {\n background: linear-gradient(104.85deg, #f4e2ce 1.88%, #debb9b 98.18%);\n border-radius: 15px;\n padding: 10px;\n margin: 0 15px;\n}\n.consumption-view .header_card .clound-bean .bean-box {\n font-size: 10px;\n}\n.consumption-view .header_card .clound-bean .bean-box .bean-img {\n display: flex;\n justify-content: start;\n align-items: center;\n}\n.consumption-view .header_card .clound-bean .bean-box .bean-img .bean-icon {\n display: block;\n font-size: 0;\n width: 20px;\n height: 20px;\n margin-right: 4px;\n}\n.consumption-view .header_card .clound-bean .bean-box .bean-img .bean-tag {\n color: #353535;\n height: 15px;\n line-height: 15px;\n border-radius: 30px 50px 50px 0px;\n background: rgba(255, 131, 32, 0.3);\n padding-left: 5px;\n padding-right: 10px;\n}\n.consumption-view .header_card .clound-bean .bean-box .bean-img .tag {\n background: #ff8320;\n color: #fff;\n}\n.consumption-view .header_card .clound-bean .bean-box .rule {\n color: #353535;\n opacity: 0.5;\n}\n.consumption-view .header_card .clound-bean .bean-counts {\n margin-top: 5px;\n}\n.consumption-view .header_card .clound-bean .bean-counts .counts {\n color: #3d3835;\n font-size: 32px;\n font-weight: 700;\n}\n.consumption-view .header_card .clound-bean .bean-counts .pay {\n padding: 0 20px;\n height: 32px;\n line-height: 32px;\n background: linear-gradient(187.18deg, #353535 10.04%, #433f46 90.21%);\n border-radius: 16px;\n color: #e7caad;\n font-size: 15px;\n font-weight: 500;\n}\n.consumption-view .header_card .line {\n height: 3px;\n width: 100%;\n margin: 10px 0;\n background: linear-gradient(90deg, #e7c39f 0.84%, #e6c9ad 27.74%);\n}\n.consumption-view .header_card .small-clound-bean {\n margin-top: 20px;\n}\n.consumption-view .header_card .small-clound-bean .bean-list {\n margin-top: 8px;\n display: flex;\n flex-wrap: wrap;\n}\n.consumption-view .header_card .small-clound-bean .bean-list-item {\n width: 50%;\n line-height: 23px;\n padding-left: 10px;\n box-sizing: border-box;\n margin-bottom: 10px;\n}\n.consumption-view .header_card .small-clound-bean .bean-list-item .counts {\n color: #353535;\n font-size: 20px;\n font-weight: 700;\n}\n.consumption-view .header_card .small-clound-bean .bean-list-item .title {\n color: #987356;\n font-weight: 400;\n font-size: 11px;\n}\n.consumption-view .header_card .small-clound-bean .bean-list-item:nth-child(2n) {\n padding-left: 30px;\n}\n.consumption-view .operation-title {\n padding: 10px 15px;\n background: #fff;\n position: sticky;\n z-index: 10;\n top: 0;\n}\n.consumption-view .operation-title .text {\n color: #353535;\n font-size: 12px;\n opacity: 0.5;\n}\n.consumption-view .operation-title .time-icon {\n display: block;\n font-size: 0;\n width: 12px;\n height: 12px;\n margin-left: 4px;\n}\n.consumption-view .operation-title .search-time {\n display: flex;\n align-items: center;\n}\n.consumption-view .operation-title .search-time .title {\n color: #000;\n font-weight: 500;\n font-size: 17px;\n margin-right: 10px;\n}\n.consumption-view .operation-title .search-time .time {\n flex: 1;\n display: flex;\n align-items: center;\n}\n.consumption-view .operation-title .search {\n display: flex;\n align-items: center;\n}\n.consumption-view .operation-list {\n margin: 0 15px;\n}\n.consumption-view .operation-list .box-detail .title {\n line-height: 22px;\n font-weight: 700;\n font-size: 12px;\n color: #000;\n opacity: 0.5;\n margin-bottom: 10px;\n}\n.consumption-view .operation-list .box-detail .item {\n box-shadow: 0px 5px 18px 2px rgba(0, 0, 0, 0.1607843137);\n border-radius: 5px;\n padding: 12px 10px;\n display: flex;\n margin-bottom: 10px;\n}\n.consumption-view .operation-list .box-detail .item-type {\n background: linear-gradient(113.95deg, #f4e2ce 1.2%, #debb9b 77.63%);\n width: 30px;\n height: 30px;\n border-radius: 15px;\n margin-right: 15px;\n line-height: 30px;\n font-size: 10px;\n font-weight: 500;\n color: #000;\n text-align: center;\n}\n.consumption-view .operation-list .box-detail .item-detail {\n flex: 1;\n}\n.consumption-view .operation-list .box-detail .item-detail .item-info {\n padding: 0;\n font-size: 14px;\n font-weight: 700;\n color: #000;\n}\n.consumption-view .operation-list .box-detail .item-detail .item-info-type {\n line-height: 15px;\n}\n.consumption-view .operation-list .box-detail .item-detail .item-info-title {\n font-weight: 400;\n opacity: 0.8;\n font-size: 11px;\n}\n.consumption-view .operation-list .box-detail .item-detail .item-info-amount {\n color: #9e7b5a;\n}\n.consumption-view .operation-list .box-detail .item-detail-remark {\n opacity: 0.3;\n line-height: 15px;\n font-size: 10px;\n}\n.consumption-view .operation-list .box-not-text {\n opacity: 0.4;\n color: #353535;\n font-size: 12px;\n line-height: 20px;\n margin: 0 auto 40px;\n text-align: center;\n}\n.consumption-view .operation-list-not {\n display: flex;\n flex-direction: column;\n justify-content: center;\n align-items: center;\n margin-top: 80px;\n}\n.consumption-view .operation-list-not-img {\n display: block;\n font-size: 0;\n width: 144px;\n height: 80px;\n}\n.consumption-view .operation-list-not-text {\n opacity: 0.4;\n color: #353535;\n font-size: 12px;\n line-height: 28px;\n}\n\n.back-to-top {\n width: 38px;\n height: 38px;\n border-radius: 19px;\n position: fixed;\n right: 15px;\n bottom: 100px;\n background: #FFF2E5;\n display: flex;\n align-items: center;\n justify-content: center;\n}\n.back-to-top-icon {\n display: block;\n font-size: 0;\n width: 19px;\n height: 19px;\n}\n\n.consumption-rules-popup {\n border-radius: 16px;\n width: 70%;\n height: 70%;\n padding: 24px;\n}";
1724
- styleInject(css_248z);
1725
-
1726
- script.__file = "src/balance/components/AccountView.vue";
1704
+ _: 1
1705
+ /* STABLE */
1706
+ }, 8, ["visible"]),
1707
+ createVNode(_component_nut_popup, {
1708
+ position: "bottom",
1709
+ style: { height: "70%" },
1710
+ round: "",
1711
+ "close-on-click-overlay": false,
1712
+ visible: filterOpen.value,
1713
+ "onUpdate:visible": _cache[5] || (_cache[5] = ($event) => filterOpen.value = $event)
1714
+ }, {
1715
+ default: withCtx(() => [
1716
+ createVNode(script$4, {
1717
+ modelValue: [
1718
+ filtering.position,
1719
+ filtering.direction,
1720
+ filtering.type
1721
+ ],
1722
+ onComplete: onFilterComplete
1723
+ }, null, 8, ["modelValue"])
1724
+ ]),
1725
+ _: 1
1726
+ /* STABLE */
1727
+ }, 8, ["visible"]),
1728
+ withDirectives(createElementVNode(
1729
+ "div",
1730
+ {
1731
+ class: "back-to-top",
1732
+ onClick: backToTop
1733
+ },
1734
+ [..._hoisted_39],
1735
+ 512
1736
+ /* NEED_PATCH */
1737
+ ), [
1738
+ [vShow, scrollY.value > 300]
1739
+ ]),
1740
+ createVNode(script$1, {
1741
+ modelValue: balanceReminderOpen.value,
1742
+ "onUpdate:modelValue": _cache[6] || (_cache[6] = ($event) => balanceReminderOpen.value = $event)
1743
+ }, null, 8, ["modelValue"])
1744
+ ],
1745
+ 64
1746
+ /* STABLE_FRAGMENT */
1747
+ );
1748
+ };
1749
+ }
1750
+ });
1727
1751
 
1728
- const nutComponents = [
1729
- nutuiTaro.Grid,
1730
- nutuiTaro.GridItem,
1731
- nutuiTaro.Button,
1732
- nutuiTaro.Checkbox,
1733
- nutuiTaro.Popup,
1734
- nutuiTaro.OverLay,
1735
- nutuiTaro.Icon,
1736
- nutuiTaro.DatePicker
1737
- ];
1738
- const appComponents = {
1739
- ...components
1740
- };
1741
- const AppKit = {
1742
- install(app, options) {
1743
- const appKitOptions = useAppKitOptions();
1744
- appKitOptions.token = options.token;
1745
- appKitOptions.baseUrl = options.baseUrl;
1746
- nutComponents.forEach((component) => {
1747
- app.use(component);
1748
- });
1749
- Object.entries(appComponents).forEach(([name, component]) => {
1750
- app.component(name, component);
1751
- });
1752
- }
1753
- };
1752
+ var css_248z = ".consumption-view .spa-between {\n padding: 0 0 0 10px;\n display: flex;\n justify-content: space-between;\n align-items: center;\n}\n.consumption-view .header {\n position: relative;\n background: linear-gradient(187.18deg, #353535 10.04%, #433f46 90.21%);\n background-size: 100% 106px;\n padding-top: 20px;\n background-repeat: no-repeat;\n}\n.consumption-view .header_card {\n background: linear-gradient(104.85deg, #f4e2ce 1.88%, #debb9b 98.18%);\n border-radius: 15px;\n padding: 10px;\n margin: 0 15px;\n}\n.consumption-view .header_card .clound-bean .bean-box {\n font-size: 10px;\n}\n.consumption-view .header_card .clound-bean .bean-box .bean-img {\n display: flex;\n justify-content: start;\n align-items: center;\n}\n.consumption-view .header_card .clound-bean .bean-box .bean-img .bean-icon {\n display: block;\n font-size: 0;\n width: 20px;\n height: 20px;\n margin-right: 4px;\n}\n.consumption-view .header_card .clound-bean .bean-box .bean-img .bean-tag {\n color: #353535;\n height: 15px;\n line-height: 15px;\n border-radius: 30px 50px 50px 0px;\n background: rgba(255, 131, 32, 0.3);\n padding-left: 5px;\n padding-right: 10px;\n}\n.consumption-view .header_card .clound-bean .bean-box .bean-img .tag {\n background: #ff8320;\n color: #fff;\n}\n.consumption-view .header_card .clound-bean .bean-box .rule {\n color: #353535;\n opacity: 0.5;\n}\n.consumption-view .header_card .clound-bean .bean-counts {\n margin-top: 5px;\n}\n.consumption-view .header_card .clound-bean .bean-counts .counts {\n color: #3d3835;\n font-size: 32px;\n font-weight: 700;\n}\n.consumption-view .header_card .clound-bean .bean-counts .pay {\n padding: 0 20px;\n height: 32px;\n line-height: 32px;\n background: linear-gradient(187.18deg, #353535 10.04%, #433f46 90.21%);\n border-radius: 16px;\n color: #e7caad;\n font-size: 15px;\n font-weight: 500;\n}\n.consumption-view .header_card .line {\n height: 3px;\n width: 100%;\n margin: 10px 0;\n background: linear-gradient(90deg, #e7c39f 0.84%, #e6c9ad 27.74%);\n}\n.consumption-view .header_card .small-clound-bean {\n margin-top: 20px;\n}\n.consumption-view .header_card .small-clound-bean .bean-list {\n margin-top: 8px;\n display: flex;\n flex-wrap: wrap;\n}\n.consumption-view .header_card .small-clound-bean .bean-list-item {\n width: 50%;\n line-height: 23px;\n padding-left: 10px;\n box-sizing: border-box;\n margin-bottom: 10px;\n}\n.consumption-view .header_card .small-clound-bean .bean-list-item .counts {\n color: #353535;\n font-size: 20px;\n font-weight: 700;\n}\n.consumption-view .header_card .small-clound-bean .bean-list-item .title {\n color: #987356;\n font-weight: 400;\n font-size: 11px;\n}\n.consumption-view .header_card .small-clound-bean .bean-list-item:nth-child(2n) {\n padding-left: 30px;\n}\n.consumption-view .operation-title {\n padding: 10px 15px;\n background: #fff;\n position: sticky;\n z-index: 10;\n top: 0;\n}\n.consumption-view .operation-title .text {\n color: #353535;\n font-size: 12px;\n opacity: 0.5;\n}\n.consumption-view .operation-title .time-icon {\n display: block;\n font-size: 0;\n width: 12px;\n height: 12px;\n margin-left: 4px;\n}\n.consumption-view .operation-title .search-time {\n display: flex;\n align-items: center;\n}\n.consumption-view .operation-title .search-time .title {\n color: #000;\n font-weight: 500;\n font-size: 17px;\n margin-right: 10px;\n}\n.consumption-view .operation-title .search-time .time {\n flex: 1;\n display: flex;\n align-items: center;\n}\n.consumption-view .operation-title .search {\n display: flex;\n align-items: center;\n}\n.consumption-view .operation-list {\n margin: 0 15px;\n}\n.consumption-view .operation-list .box-detail .title {\n line-height: 22px;\n font-weight: 700;\n font-size: 12px;\n color: #000;\n opacity: 0.5;\n margin-bottom: 10px;\n}\n.consumption-view .operation-list .box-detail .item {\n box-shadow: 0px 5px 18px 2px rgba(0, 0, 0, 0.1607843137);\n border-radius: 5px;\n padding: 12px 10px;\n display: flex;\n margin-bottom: 10px;\n}\n.consumption-view .operation-list .box-detail .item-type {\n background: linear-gradient(113.95deg, #f4e2ce 1.2%, #debb9b 77.63%);\n width: 30px;\n height: 30px;\n border-radius: 15px;\n margin-right: 15px;\n line-height: 30px;\n font-size: 10px;\n font-weight: 500;\n color: #000;\n text-align: center;\n}\n.consumption-view .operation-list .box-detail .item-detail {\n flex: 1;\n}\n.consumption-view .operation-list .box-detail .item-detail .item-info {\n padding: 0;\n font-size: 14px;\n font-weight: 700;\n color: #000;\n}\n.consumption-view .operation-list .box-detail .item-detail .item-info-type {\n line-height: 15px;\n}\n.consumption-view .operation-list .box-detail .item-detail .item-info-title {\n font-weight: 400;\n opacity: 0.8;\n font-size: 11px;\n}\n.consumption-view .operation-list .box-detail .item-detail .item-info-amount {\n color: #9e7b5a;\n}\n.consumption-view .operation-list .box-detail .item-detail-remark {\n opacity: 0.3;\n line-height: 15px;\n font-size: 10px;\n}\n.consumption-view .operation-list .box-not-text {\n opacity: 0.4;\n color: #353535;\n font-size: 12px;\n line-height: 20px;\n margin: 0 auto 40px;\n text-align: center;\n}\n.consumption-view .operation-list-not {\n display: flex;\n flex-direction: column;\n justify-content: center;\n align-items: center;\n margin-top: 80px;\n}\n.consumption-view .operation-list-not-img {\n display: block;\n font-size: 0;\n width: 144px;\n height: 80px;\n}\n.consumption-view .operation-list-not-text {\n opacity: 0.4;\n color: #353535;\n font-size: 12px;\n line-height: 28px;\n}\n\n.back-to-top {\n width: 38px;\n height: 38px;\n border-radius: 19px;\n position: fixed;\n right: 15px;\n bottom: 100px;\n background: #FFF2E5;\n display: flex;\n align-items: center;\n justify-content: center;\n}\n.back-to-top-icon {\n display: block;\n font-size: 0;\n width: 19px;\n height: 19px;\n}\n\n.consumption-rules-popup {\n border-radius: 16px;\n width: 70%;\n height: 70%;\n padding: 24px;\n}";
1753
+ styleInject(css_248z);
1754
1754
 
1755
- exports.AccountView = script;
1756
- exports.AmountPicker = script$a;
1757
- exports.AppDrawer = script$7;
1758
- exports.BalanceCard = script$5;
1759
- exports.BalanceReminder = script$1;
1760
- exports.PageHeader = script$8;
1761
- exports.RechargeView = script$6;
1762
- exports.UserAgreement = script$9;
1763
- exports.components = components;
1764
- exports.default = AppKit;
1765
- exports.requestPayment = requestPayment$1;
1766
- exports.useHttp = useHttp;
1755
+ script.__file = "src/balance/components/AccountView.vue";
1767
1756
 
1768
- Object.defineProperty(exports, '__esModule', { value: true });
1757
+ const nutComponents = [
1758
+ Grid,
1759
+ GridItem,
1760
+ Button,
1761
+ Checkbox,
1762
+ Popup,
1763
+ OverLay,
1764
+ Icon,
1765
+ DatePicker
1766
+ ];
1767
+ const appComponents = {
1768
+ ...components
1769
+ };
1770
+ const services = [
1771
+ ...services$1
1772
+ ];
1773
+ const $app = {
1774
+ requestPayment: (options) => {
1775
+ },
1776
+ invokeRecharge: (options) => {
1777
+ }
1778
+ };
1779
+ services.forEach((service) => {
1780
+ service.install($app);
1781
+ });
1782
+ function useAppKit() {
1783
+ return $app;
1784
+ }
1785
+ const AppKit = {
1786
+ install(app, options) {
1787
+ const appKitOptions = useAppKitOptions();
1788
+ appKitOptions.token = options.token;
1789
+ appKitOptions.baseUrl = options.baseUrl;
1790
+ nutComponents.forEach((component) => {
1791
+ app.use(component);
1792
+ });
1793
+ Object.entries(appComponents).forEach(([name, component]) => {
1794
+ app.component(name, component);
1795
+ });
1796
+ }
1797
+ };
1769
1798
 
1770
- }));
1799
+ export { script as AccountView, script$a as AmountPicker, script$7 as AppDrawer, script$5 as BalanceCard, script$1 as BalanceReminder, script$8 as PageHeader, script$6 as RechargeView, script$9 as UserAgreement, components, AppKit as default, requestPayment$2 as requestPayment, services$1 as services, useAppKit, useHttp };