widget.qw 1.0.24 → 1.0.25

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.
Files changed (101) hide show
  1. package/.env.development +9 -9
  2. package/.env.production +8 -8
  3. package/README.md +73 -73
  4. package/build/style.css +468 -482
  5. package/build/widget.qw.es.js +1628 -2374
  6. package/build/widget.qw.umd.js +1540 -2286
  7. package/index.html +17 -17
  8. package/package.json +47 -47
  9. package/src/App.vue +26 -26
  10. package/src/api/index.js +149 -141
  11. package/src/components/AuditBar.vue +340 -340
  12. package/src/components/BillCard.vue +155 -155
  13. package/src/components/CascaderPicker.vue +87 -87
  14. package/src/components/CascaderPop.vue +319 -330
  15. package/src/components/CheckGroup.vue +113 -113
  16. package/src/components/DatetimePicker/DatetimePop.vue +342 -342
  17. package/src/components/DatetimePicker/index.vue +112 -112
  18. package/src/components/DayDropdown.vue +56 -56
  19. package/src/components/FilePicker.vue +113 -113
  20. package/src/components/Input.vue +71 -71
  21. package/src/components/MonthDropdown.vue +51 -51
  22. package/src/components/MultiPicker.vue +123 -123
  23. package/src/components/SecretNotify.js +5 -5
  24. package/src/components/Sheet.vue +92 -92
  25. package/src/components/SingleApiPicker.vue +112 -112
  26. package/src/components/SinglePicker.vue +102 -102
  27. package/src/components/SingleUserSelector.vue +425 -425
  28. package/src/components/Switch.vue +64 -64
  29. package/src/components/TreePicker.vue +113 -113
  30. package/src/components/UserPicker.vue +106 -106
  31. package/src/components/UserProfile.vue +131 -131
  32. package/src/components/UsersPicker.vue +118 -118
  33. package/src/components/YearDropdown.vue +59 -59
  34. package/src/components/data_selector.vue +280 -280
  35. package/src/components/image_picker.vue +114 -114
  36. package/src/components/images_picker.vue +139 -139
  37. package/src/components/index.js +157 -157
  38. package/src/components/mult_list_selector.vue +155 -155
  39. package/src/components/subdepartment_selector.vue +481 -481
  40. package/src/components/user_selector.vue +639 -639
  41. package/src/components/widget/DataPop.vue +95 -95
  42. package/src/components/widget/TreePop.vue +88 -88
  43. package/src/components/widget/UserPop.vue +347 -347
  44. package/src/main.js +117 -117
  45. package/src/router/index.ts +168 -168
  46. package/src/util/array_util.js +32 -32
  47. package/src/util/auth_util.js +72 -72
  48. package/src/util/bool_util.js +5 -5
  49. package/src/util/bus.js +1 -1
  50. package/src/util/cache_util.js +18 -18
  51. package/src/util/errer_code.js +6 -6
  52. package/src/util/eval_util.js +19 -19
  53. package/src/util/icon_util.js +36 -36
  54. package/src/util/image_util.js +27 -27
  55. package/src/util/index.js +55 -55
  56. package/src/util/num_util.js +70 -70
  57. package/src/util/obj_util.js +28 -28
  58. package/src/util/request.js +73 -73
  59. package/src/util/request_json.js +71 -71
  60. package/src/util/request_json_mute.js +65 -65
  61. package/src/util/request_upload.js +79 -79
  62. package/src/util/route_util.js +31 -31
  63. package/src/util/str_util.js +143 -143
  64. package/src/util/time_util.js +406 -406
  65. package/src/util/toast_util.js +24 -24
  66. package/src/util/tree_util.js +153 -153
  67. package/src/util/validate.js +182 -182
  68. package/src/util/vue_filter.js +223 -223
  69. package/src/views/auditbar/index.vue +65 -65
  70. package/src/views/billcard/index.vue +45 -45
  71. package/src/views/cascaderpicker/index copy.vue +0 -0
  72. package/src/views/cascaderpicker/index.vue +0 -0
  73. package/src/views/cascaderpop/index.vue +90 -90
  74. package/src/views/checkgroup/index.vue +35 -35
  75. package/src/views/dataSelector/index.vue +48 -48
  76. package/src/views/datetimepicker/index.vue +34 -34
  77. package/src/views/daydropdown/index.vue +31 -31
  78. package/src/views/filepicker/index.vue +31 -31
  79. package/src/views/imagepicker/index.vue +31 -31
  80. package/src/views/imagespicker/index.vue +31 -31
  81. package/src/views/input/index.vue +34 -34
  82. package/src/views/monthdropdown/index.vue +31 -31
  83. package/src/views/multListSelector/index.vue +61 -61
  84. package/src/views/multipicker/index.vue +36 -36
  85. package/src/views/productSelector/index.vue +35 -35
  86. package/src/views/projectdropdown/index.vue +31 -31
  87. package/src/views/projectpicker/index.vue +41 -41
  88. package/src/views/secretnotify/index.vue +27 -27
  89. package/src/views/sheet/index.vue +45 -45
  90. package/src/views/singlepicker/index.vue +35 -35
  91. package/src/views/subdepartmentSelector/index.vue +40 -40
  92. package/src/views/switch/index.vue +34 -34
  93. package/src/views/treepicker/index.vue +41 -41
  94. package/src/views/userSelector/index.vue +54 -54
  95. package/src/views/userSelectorNew/index.vue +45 -45
  96. package/src/views/userpicker/index.vue +43 -43
  97. package/src/views/userprofile/index.vue +30 -30
  98. package/src/views/userspicker/index.vue +43 -43
  99. package/src/views/yeardropdown/index.vue +32 -32
  100. package/src/vm/index.js +1 -1
  101. package/vite.config.ts +122 -122
@@ -1,157 +1,157 @@
1
- // 引入封装好的组件
2
- import vm from "../vm";
3
- import AuditBar from "./AuditBar.vue";
4
- import Input from "./Input.vue";
5
- import SinglePicker from "./SinglePicker.vue";
6
- import MultiPicker from './MultiPicker.vue'
7
- import CheckGroup from "./CheckGroup.vue";
8
- import DatetimePicker from "./DatetimePicker/index.vue";
9
- import DataSelector from "./data_selector.vue";
10
- import MultListSelector from "./mult_list_selector.vue";
11
- import SubdepartmentSelector from "./subdepartment_selector.vue";
12
- import UserSelector from "./user_selector.vue";
13
- import ImagePicker from "./image_picker.vue";
14
- import ImagesPicker from "./images_picker.vue";
15
- import FilePicker from "./FilePicker.vue";
16
- import SingleUserSelector from "./SingleUserSelector.vue";
17
- import UsersPicker from "./UsersPicker.vue"
18
- import UserPicker from "./UserPicker.vue"
19
- import UserProfile from "./UserProfile.vue"
20
- import BillCard from './BillCard.vue'
21
- import YearDropdown from "./YearDropdown.vue";
22
- import MonthDropdown from "./MonthDropdown.vue";
23
- import DayDropdown from "./DayDropdown.vue";
24
- import Switch from './Switch.vue'
25
- import Sheet from './Sheet.vue'
26
- import TreePicker from './TreePicker.vue'
27
- import CascaderPop from './CascaderPop.vue'
28
- import CascaderPicker from './CascaderPicker.vue'
29
- import SingleApiPicker from "./SingleApiPicker.vue";
30
-
31
- const components = [
32
- {
33
- name: "WidgetQwAuditBar",
34
- widget: AuditBar,
35
- },
36
- {
37
- name: "WidgetQwInput",
38
- widget: Input,
39
- },
40
- {
41
- name: "WidgetQwSinglePicker",
42
- widget: SinglePicker,
43
- },
44
- {
45
- name: "WidgetQwMultiPicker",
46
- widget: MultiPicker,
47
- },
48
- {
49
- name: "WidgetQwCheckGroup",
50
- widget: CheckGroup,
51
- },
52
- {
53
- name: "WidgetQwDatetimePicker",
54
- widget: DatetimePicker,
55
- },
56
- {
57
- name: "WidgetQwDataSelector",
58
- widget: DataSelector,
59
- },
60
- {
61
- name: "WidgetQwMultListSelector",
62
- widget: MultListSelector,
63
- },
64
- {
65
- name: "WidgetQwSubdepartmentSelector",
66
- widget: SubdepartmentSelector,
67
- },
68
- {
69
- name: "WidgetQwSingleUserSelector",
70
- widget: SingleUserSelector,
71
- },
72
- {
73
- name: "WidgetQwImagePicker",
74
- widget: ImagePicker,
75
- },
76
- {
77
- name: "WidgetQwImagesPicker",
78
- widget: ImagesPicker,
79
- },
80
- {
81
- name: "WidgetQwFilePicker",
82
- widget: FilePicker,
83
- },
84
- {
85
- name: 'WidgetQwBillCard',
86
- widget: BillCard
87
- },
88
- {
89
- name: 'WidgetQwUserSelector',
90
- widget: UserSelector
91
- },
92
- {
93
- name: 'WidgetQwUsersPicker',
94
- widget: UsersPicker
95
- },
96
- {
97
- name: 'WidgetQwUserPicker',
98
- widget: UserPicker
99
- },
100
- {
101
- name: 'WidgetQwUserProfile',
102
- widget: UserProfile
103
- },
104
- {
105
- name: 'WidgetQwYearDropdown',
106
- widget: YearDropdown
107
- },
108
- {
109
- name: 'WidgetQwMonthDropdown',
110
- widget: MonthDropdown
111
- },
112
- {
113
- name: 'WidgetQwDayDropdown',
114
- widget: DayDropdown
115
- },
116
- {
117
- name: 'WidgetQwSwitch',
118
- widget: Switch
119
- },
120
- {
121
- name: 'WidgetQwSheet',
122
- widget: Sheet
123
- },
124
- {
125
- name: 'WidgetQwTreePicker',
126
- widget: TreePicker
127
- },
128
- {
129
- name: 'WidgetQwCascaderPop',
130
- widget: CascaderPop
131
- },
132
- {
133
- name: 'WidgetQwCascaderPicker',
134
- widget: CascaderPicker
135
- },
136
- {
137
- name: 'WidgetQwSingleApiPicker',
138
- widget: SingleApiPicker
139
- },
140
- ];
141
- // 导出组件
142
- export const WidgetQw = {
143
- install(app) {
144
- components.forEach((component) => {
145
- app.component(component.name, component.widget);
146
- });
147
- },
148
- };
149
-
150
- // 导出初始化方法
151
- export function setup(params) {
152
- Object.keys(params).forEach(key=>{
153
- vm[key] = params[key]
154
- })
155
- }
156
-
157
- export * from "./SecretNotify";
1
+ // 引入封装好的组件
2
+ import vm from "../vm";
3
+ import AuditBar from "./AuditBar.vue";
4
+ import Input from "./Input.vue";
5
+ import SinglePicker from "./SinglePicker.vue";
6
+ import MultiPicker from './MultiPicker.vue'
7
+ import CheckGroup from "./CheckGroup.vue";
8
+ import DatetimePicker from "./DatetimePicker/index.vue";
9
+ import DataSelector from "./data_selector.vue";
10
+ import MultListSelector from "./mult_list_selector.vue";
11
+ import SubdepartmentSelector from "./subdepartment_selector.vue";
12
+ import UserSelector from "./user_selector.vue";
13
+ import ImagePicker from "./image_picker.vue";
14
+ import ImagesPicker from "./images_picker.vue";
15
+ import FilePicker from "./FilePicker.vue";
16
+ import SingleUserSelector from "./SingleUserSelector.vue";
17
+ import UsersPicker from "./UsersPicker.vue"
18
+ import UserPicker from "./UserPicker.vue"
19
+ import UserProfile from "./UserProfile.vue"
20
+ import BillCard from './BillCard.vue'
21
+ import YearDropdown from "./YearDropdown.vue";
22
+ import MonthDropdown from "./MonthDropdown.vue";
23
+ import DayDropdown from "./DayDropdown.vue";
24
+ import Switch from './Switch.vue'
25
+ import Sheet from './Sheet.vue'
26
+ import TreePicker from './TreePicker.vue'
27
+ import CascaderPop from './CascaderPop.vue'
28
+ import CascaderPicker from './CascaderPicker.vue'
29
+ import SingleApiPicker from "./SingleApiPicker.vue";
30
+
31
+ const components = [
32
+ {
33
+ name: "WidgetQwAuditBar",
34
+ widget: AuditBar,
35
+ },
36
+ {
37
+ name: "WidgetQwInput",
38
+ widget: Input,
39
+ },
40
+ {
41
+ name: "WidgetQwSinglePicker",
42
+ widget: SinglePicker,
43
+ },
44
+ {
45
+ name: "WidgetQwMultiPicker",
46
+ widget: MultiPicker,
47
+ },
48
+ {
49
+ name: "WidgetQwCheckGroup",
50
+ widget: CheckGroup,
51
+ },
52
+ {
53
+ name: "WidgetQwDatetimePicker",
54
+ widget: DatetimePicker,
55
+ },
56
+ {
57
+ name: "WidgetQwDataSelector",
58
+ widget: DataSelector,
59
+ },
60
+ {
61
+ name: "WidgetQwMultListSelector",
62
+ widget: MultListSelector,
63
+ },
64
+ {
65
+ name: "WidgetQwSubdepartmentSelector",
66
+ widget: SubdepartmentSelector,
67
+ },
68
+ {
69
+ name: "WidgetQwSingleUserSelector",
70
+ widget: SingleUserSelector,
71
+ },
72
+ {
73
+ name: "WidgetQwImagePicker",
74
+ widget: ImagePicker,
75
+ },
76
+ {
77
+ name: "WidgetQwImagesPicker",
78
+ widget: ImagesPicker,
79
+ },
80
+ {
81
+ name: "WidgetQwFilePicker",
82
+ widget: FilePicker,
83
+ },
84
+ {
85
+ name: 'WidgetQwBillCard',
86
+ widget: BillCard
87
+ },
88
+ {
89
+ name: 'WidgetQwUserSelector',
90
+ widget: UserSelector
91
+ },
92
+ {
93
+ name: 'WidgetQwUsersPicker',
94
+ widget: UsersPicker
95
+ },
96
+ {
97
+ name: 'WidgetQwUserPicker',
98
+ widget: UserPicker
99
+ },
100
+ {
101
+ name: 'WidgetQwUserProfile',
102
+ widget: UserProfile
103
+ },
104
+ {
105
+ name: 'WidgetQwYearDropdown',
106
+ widget: YearDropdown
107
+ },
108
+ {
109
+ name: 'WidgetQwMonthDropdown',
110
+ widget: MonthDropdown
111
+ },
112
+ {
113
+ name: 'WidgetQwDayDropdown',
114
+ widget: DayDropdown
115
+ },
116
+ {
117
+ name: 'WidgetQwSwitch',
118
+ widget: Switch
119
+ },
120
+ {
121
+ name: 'WidgetQwSheet',
122
+ widget: Sheet
123
+ },
124
+ {
125
+ name: 'WidgetQwTreePicker',
126
+ widget: TreePicker
127
+ },
128
+ {
129
+ name: 'WidgetQwCascaderPop',
130
+ widget: CascaderPop
131
+ },
132
+ {
133
+ name: 'WidgetQwCascaderPicker',
134
+ widget: CascaderPicker
135
+ },
136
+ {
137
+ name: 'WidgetQwSingleApiPicker',
138
+ widget: SingleApiPicker
139
+ },
140
+ ];
141
+ // 导出组件
142
+ export const WidgetQw = {
143
+ install(app) {
144
+ components.forEach((component) => {
145
+ app.component(component.name, component.widget);
146
+ });
147
+ },
148
+ };
149
+
150
+ // 导出初始化方法
151
+ export function setup(params) {
152
+ Object.keys(params).forEach(key=>{
153
+ vm[key] = params[key]
154
+ })
155
+ }
156
+
157
+ export * from "./SecretNotify";
@@ -1,156 +1,156 @@
1
- <template>
2
- <!-- Tips section with corrected syntax -->
3
- <div class="confirmation-tips" v-if="tips && tips.length > 0">
4
- <van-icon name="info" color="#1989fa" />
5
- <span>{{ tips }}</span>
6
- </div>
7
-
8
- <van-checkbox-group
9
- :model-value="modelValue"
10
- @update:model-value="$emit('update:modelValue', $event)"
11
- class="confirmation-group"
12
- :required="required"
13
- :disabled="props.disabled"
14
- :rules="rules"
15
- >
16
- <div class="confirmation-item" v-for="item in options" :key="item.value">
17
- <van-checkbox
18
- :name="item.value"
19
- shape="square"
20
- icon-size="18px"
21
- class="custom-checkbox"
22
- >
23
- <span class="option-text">{{ item.label }}</span>
24
- </van-checkbox>
25
- </div>
26
- </van-checkbox-group>
27
- </template>
28
-
29
- <script setup>
30
- import { ref, watch, nextTick } from 'vue';
31
- const props = defineProps({
32
- options: {
33
- type: Array,
34
- required: true
35
- },
36
- modelValue: {
37
- type: Array,
38
- default: () => []
39
- },
40
- disabled: {
41
- type: Boolean,
42
- default: false
43
- },
44
- required: {
45
- type: Boolean,
46
- default: true
47
- },
48
- tips: {
49
- type: String,
50
- default: ''
51
- },
52
- rules : {
53
- type: Array,
54
- default: () => []
55
- }
56
- });
57
-
58
- defineEmits(['update:modelValue']);
59
-
60
- // watch(() => props.disabled, (newVal) => {
61
- // console.log('disabled状态变化:', newVal);
62
- // // 强制更新复选框状态
63
- // nextTick(() => {
64
- // const checkboxes = document.querySelectorAll('.van-checkbox');
65
- // checkboxes.forEach(checkbox => {
66
- // checkbox.style.pointerEvents = newVal ? 'none' : 'auto';
67
- // checkbox.style.opacity = newVal ? '0.6' : '1';
68
- // });
69
- // });
70
- // });
71
- </script>
72
-
73
- <style scoped>
74
- /* // 修改 confirmation-group 和 confirmation-item 的样式 */
75
- .confirmation-group {
76
- padding: 0 16px;
77
- --van-checkbox-disabled-icon-color: black;
78
- }
79
-
80
- .confirmation-item {
81
- padding: 12px 16px;
82
- margin: 0 -16px;
83
- border-bottom: 1px solid #f5f5f5;
84
- /* 禁用状态样式 */
85
-
86
- }
87
-
88
- /* // 在下方添加媒体查询适配小屏幕 */
89
- @media (max-width: 320px) {
90
- .confirmation-item {
91
- padding: 12px 8px;
92
- margin: 0 -8px;
93
- }
94
- }
95
-
96
- .confirmation-item:last-child {
97
- border-bottom: none;
98
- }
99
-
100
- /* 新增样式 */
101
- .confirmation-tips {
102
- padding: 12px 16px;
103
- background: #f0faff;
104
- border-radius: 8px;
105
- margin: 10px 16px;
106
- display: flex;
107
- align-items: center;
108
- color: #1989fa;
109
- font-size: 13px;
110
- border: 1px solid #d9efff;
111
- }
112
-
113
- .confirmation-tips .van-icon {
114
- margin-right: 8px;
115
- }
116
-
117
- /* 新增字体继承样式 */
118
- .confirmation-group {
119
- font-size: inherit; /* 继承父级字体大小 */
120
- }
121
-
122
- .option-text {
123
- font-size: 14px; /* 明确指定字体大小 */
124
- line-height: 1.5; /* 保持行高一致 */
125
- /* color:black; */
126
- }
127
-
128
- /* 适配移动端的字体调整 */
129
- @media (max-width: 375px) {
130
- .option-text {
131
- font-size: 13px;
132
- }
133
- }
134
-
135
- /* 新增禁用状态样式 */
136
- .custom-checkbox:disabled :deep(.--van-checkbox__icon) {
137
- background-color: #f5f5f5;
138
- border-color: #ebedf0;
139
- transition: all 0.3s;
140
- }
141
-
142
- .custom-checkbox:disabled :deep(.van-checkbox__icon--checked) {
143
- background-color: #1989fa;
144
- border-color: #1989fa;
145
- opacity: 0.7;
146
- }
147
-
148
- .van-checkbox--disabled :deep(.option-text) {
149
- color: #969799;
150
- }
151
-
152
- .van-checkbox--disabled.van-checkbox--checked :deep(.option-text) {
153
- color: #1989fa;
154
- opacity: 0.8;
155
- }
1
+ <template>
2
+ <!-- Tips section with corrected syntax -->
3
+ <div class="confirmation-tips" v-if="tips && tips.length > 0">
4
+ <van-icon name="info" color="#1989fa" />
5
+ <span>{{ tips }}</span>
6
+ </div>
7
+
8
+ <van-checkbox-group
9
+ :model-value="modelValue"
10
+ @update:model-value="$emit('update:modelValue', $event)"
11
+ class="confirmation-group"
12
+ :required="required"
13
+ :disabled="props.disabled"
14
+ :rules="rules"
15
+ >
16
+ <div class="confirmation-item" v-for="item in options" :key="item.value">
17
+ <van-checkbox
18
+ :name="item.value"
19
+ shape="square"
20
+ icon-size="18px"
21
+ class="custom-checkbox"
22
+ >
23
+ <span class="option-text">{{ item.label }}</span>
24
+ </van-checkbox>
25
+ </div>
26
+ </van-checkbox-group>
27
+ </template>
28
+
29
+ <script setup>
30
+ import { ref, watch, nextTick } from 'vue';
31
+ const props = defineProps({
32
+ options: {
33
+ type: Array,
34
+ required: true
35
+ },
36
+ modelValue: {
37
+ type: Array,
38
+ default: () => []
39
+ },
40
+ disabled: {
41
+ type: Boolean,
42
+ default: false
43
+ },
44
+ required: {
45
+ type: Boolean,
46
+ default: true
47
+ },
48
+ tips: {
49
+ type: String,
50
+ default: ''
51
+ },
52
+ rules : {
53
+ type: Array,
54
+ default: () => []
55
+ }
56
+ });
57
+
58
+ defineEmits(['update:modelValue']);
59
+
60
+ // watch(() => props.disabled, (newVal) => {
61
+ // console.log('disabled状态变化:', newVal);
62
+ // // 强制更新复选框状态
63
+ // nextTick(() => {
64
+ // const checkboxes = document.querySelectorAll('.van-checkbox');
65
+ // checkboxes.forEach(checkbox => {
66
+ // checkbox.style.pointerEvents = newVal ? 'none' : 'auto';
67
+ // checkbox.style.opacity = newVal ? '0.6' : '1';
68
+ // });
69
+ // });
70
+ // });
71
+ </script>
72
+
73
+ <style scoped>
74
+ /* // 修改 confirmation-group 和 confirmation-item 的样式 */
75
+ .confirmation-group {
76
+ padding: 0 16px;
77
+ --van-checkbox-disabled-icon-color: black;
78
+ }
79
+
80
+ .confirmation-item {
81
+ padding: 12px 16px;
82
+ margin: 0 -16px;
83
+ border-bottom: 1px solid #f5f5f5;
84
+ /* 禁用状态样式 */
85
+
86
+ }
87
+
88
+ /* // 在下方添加媒体查询适配小屏幕 */
89
+ @media (max-width: 320px) {
90
+ .confirmation-item {
91
+ padding: 12px 8px;
92
+ margin: 0 -8px;
93
+ }
94
+ }
95
+
96
+ .confirmation-item:last-child {
97
+ border-bottom: none;
98
+ }
99
+
100
+ /* 新增样式 */
101
+ .confirmation-tips {
102
+ padding: 12px 16px;
103
+ background: #f0faff;
104
+ border-radius: 8px;
105
+ margin: 10px 16px;
106
+ display: flex;
107
+ align-items: center;
108
+ color: #1989fa;
109
+ font-size: 13px;
110
+ border: 1px solid #d9efff;
111
+ }
112
+
113
+ .confirmation-tips .van-icon {
114
+ margin-right: 8px;
115
+ }
116
+
117
+ /* 新增字体继承样式 */
118
+ .confirmation-group {
119
+ font-size: inherit; /* 继承父级字体大小 */
120
+ }
121
+
122
+ .option-text {
123
+ font-size: 14px; /* 明确指定字体大小 */
124
+ line-height: 1.5; /* 保持行高一致 */
125
+ /* color:black; */
126
+ }
127
+
128
+ /* 适配移动端的字体调整 */
129
+ @media (max-width: 375px) {
130
+ .option-text {
131
+ font-size: 13px;
132
+ }
133
+ }
134
+
135
+ /* 新增禁用状态样式 */
136
+ .custom-checkbox:disabled :deep(.--van-checkbox__icon) {
137
+ background-color: #f5f5f5;
138
+ border-color: #ebedf0;
139
+ transition: all 0.3s;
140
+ }
141
+
142
+ .custom-checkbox:disabled :deep(.van-checkbox__icon--checked) {
143
+ background-color: #1989fa;
144
+ border-color: #1989fa;
145
+ opacity: 0.7;
146
+ }
147
+
148
+ .van-checkbox--disabled :deep(.option-text) {
149
+ color: #969799;
150
+ }
151
+
152
+ .van-checkbox--disabled.van-checkbox--checked :deep(.option-text) {
153
+ color: #1989fa;
154
+ opacity: 0.8;
155
+ }
156
156
  </style>