af-mobile-client-vue3 1.0.94 → 1.0.96

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 (113) hide show
  1. package/.env +6 -6
  2. package/.env.development +4 -4
  3. package/.env.envoiceShow +6 -6
  4. package/.env.production +6 -6
  5. package/.husky/commit-msg +1 -1
  6. package/.husky/pre-commit +1 -1
  7. package/.vscode/settings.json +61 -61
  8. package/build/vite/index.ts +91 -91
  9. package/eslint.config.js +9 -1
  10. package/mock/modules/user.mock.ts +152 -152
  11. package/package.json +1 -1
  12. package/public/favicon.svg +4 -4
  13. package/public/safari-pinned-tab.svg +32 -32
  14. package/scripts/verifyCommit.js +19 -19
  15. package/src/App.vue +43 -43
  16. package/src/api/user/index.ts +40 -40
  17. package/src/bootstrap.ts +18 -18
  18. package/src/components/core/App/MicroAppView.vue +3 -3
  19. package/src/components/core/NavBar/index.vue +12 -12
  20. package/src/components/core/SvgIcon/index.vue +1 -1
  21. package/src/components/core/Tabbar/index.vue +38 -38
  22. package/src/components/core/Uploader/index.vue +1 -1
  23. package/src/components/core/XGridDropOption/index.vue +151 -151
  24. package/src/components/core/XMultiSelect/index.vue +183 -183
  25. package/src/components/data/XCellDetail/index.vue +106 -106
  26. package/src/components/data/XCellList/XCellList.md +28 -28
  27. package/src/components/data/XCellList/index.vue +50 -11
  28. package/src/components/data/XCellListFilter/QrScanner/index.vue +1 -1
  29. package/src/components/data/XCellListFilter/VpnRecognition/index.vue +3 -3
  30. package/src/components/data/XCellListFilter/index.vue +160 -62
  31. package/src/components/data/XForm/index.vue +2 -2
  32. package/src/components/data/XFormGroup/index.vue +3 -3
  33. package/src/components/data/XFormItem/index.vue +25 -26
  34. package/src/components/data/XOlMap/demo.vue +209 -0
  35. package/src/components/data/XOlMap/index.vue +644 -0
  36. package/src/components/data/XReportForm/XReportFormJsonRender.vue +220 -220
  37. package/src/components/data/XReportForm/index.vue +1079 -1079
  38. package/src/components/data/XReportGrid/XAddReport/XAddReport.vue +4 -7
  39. package/src/components/data/XReportGrid/XAddReport/index.md +3 -7
  40. package/src/components/data/XReportGrid/XAddReport/index.ts +2 -2
  41. package/src/components/data/XReportGrid/XReport.vue +25 -38
  42. package/src/components/data/XReportGrid/XReportDesign.vue +46 -46
  43. package/src/components/data/XReportGrid/XReportDrawer/XReportDrawer.vue +3 -3
  44. package/src/components/data/XReportGrid/XReportDrawer/index.ts +2 -2
  45. package/src/components/data/XReportGrid/XReportJsonRender.vue +20 -7
  46. package/src/components/data/XReportGrid/XReportTrGroup.vue +4 -4
  47. package/src/components/data/XReportGrid/index.md +4 -6
  48. package/src/components/data/XSignature/index.vue +285 -285
  49. package/src/components/data/XTag/index.vue +10 -10
  50. package/src/components/layout/NormalDataLayout/index.vue +70 -70
  51. package/src/components/layout/TabBarLayout/index.vue +40 -40
  52. package/src/components.d.ts +53 -53
  53. package/src/env.d.ts +16 -16
  54. package/src/font-style/font.css +3 -3
  55. package/src/hooks/useCommon.ts +9 -9
  56. package/src/layout/GridView/index.vue +1 -1
  57. package/src/layout/PageLayout.vue +5 -5
  58. package/src/layout/SingleLayout.vue +3 -3
  59. package/src/locales/en-US.json +25 -25
  60. package/src/locales/zh-CN.json +25 -25
  61. package/src/plugins/AppData.ts +38 -38
  62. package/src/plugins/index.ts +1 -1
  63. package/src/router/guards.ts +59 -59
  64. package/src/router/index.ts +61 -60
  65. package/src/router/invoiceRoutes.ts +33 -33
  66. package/src/router/routes.ts +20 -14
  67. package/src/services/api/common.ts +109 -109
  68. package/src/services/api/manage.ts +8 -8
  69. package/src/services/restTools.ts +52 -52
  70. package/src/services/v3Api.ts +46 -35
  71. package/src/stores/modules/cachedView.ts +1 -1
  72. package/src/stores/modules/setting.ts +52 -52
  73. package/src/stores/modules/user.ts +5 -5
  74. package/src/stores/mutation-type.ts +7 -7
  75. package/src/styles/app.less +6 -1
  76. package/src/utils/Storage.ts +1 -1
  77. package/src/utils/authority-utils.ts +84 -84
  78. package/src/utils/crypto.ts +39 -39
  79. package/src/utils/http/index.ts +6 -6
  80. package/src/utils/i18n.ts +41 -41
  81. package/src/utils/indexedDB.ts +180 -180
  82. package/src/utils/mobileUtil.ts +26 -26
  83. package/src/utils/routerUtil.ts +271 -271
  84. package/src/utils/runEvalFunction.ts +13 -13
  85. package/src/utils/validate.ts +1 -1
  86. package/src/utils/wechatUtil.ts +9 -9
  87. package/src/views/chat/index.vue +1 -1
  88. package/src/views/common/LoadError.vue +64 -64
  89. package/src/views/common/NotFound.vue +68 -68
  90. package/src/views/component/EvaluateRecordView/index.vue +40 -40
  91. package/src/views/component/XCellDetailView/index.vue +217 -216
  92. package/src/views/component/XCellListView/index.vue +1 -1
  93. package/src/views/component/XFormAppraiseView/index.vue +4 -4
  94. package/src/views/component/XFormGroupView/index.vue +1 -1
  95. package/src/views/component/XFormView/index.vue +6 -7
  96. package/src/views/component/XReportFormIframeView/index.vue +47 -47
  97. package/src/views/component/XReportFormView/index.vue +13 -13
  98. package/src/views/component/XReportGridView/index.vue +2 -3
  99. package/src/views/component/XSignatureView/index.vue +50 -50
  100. package/src/views/component/index.vue +4 -4
  101. package/src/views/component/menu.vue +117 -117
  102. package/src/views/component/notice.vue +46 -46
  103. package/src/views/component/topNav.vue +36 -36
  104. package/src/views/invoiceShow/index.vue +61 -62
  105. package/src/views/user/login/ForgetPasswordForm.vue +94 -93
  106. package/src/views/user/login/LoginForm.vue +8 -7
  107. package/src/views/user/login/LoginTitle.vue +68 -68
  108. package/src/views/user/login/index.vue +22 -22
  109. package/src/views/user/my/index.vue +230 -230
  110. package/src/vue-router.d.ts +9 -9
  111. package/tsconfig.json +43 -43
  112. package/uno.config.ts +1 -1
  113. package/vite.config.ts +123 -123
@@ -1,12 +1,12 @@
1
- <script setup lang="ts">
2
- import { NavBar as VanNavBar } from 'vant/es'
3
-
4
- // back
5
- const onClickLeft = () => history.back()
6
- </script>
7
-
8
- <template>
9
- <VanNavBar left-arrow placeholder fixed @click-left="onClickLeft" />
10
- </template>
11
-
12
- <style scoped></style>
1
+ <script setup lang="ts">
2
+ import { NavBar as VanNavBar } from 'vant/es'
3
+
4
+ // back
5
+ const onClickLeft = () => history.back()
6
+ </script>
7
+
8
+ <template>
9
+ <VanNavBar left-arrow placeholder fixed @click-left="onClickLeft" />
10
+ </template>
11
+
12
+ <style scoped></style>
@@ -1,6 +1,6 @@
1
1
  <script setup lang="ts">
2
- import { computed } from 'vue'
3
2
  import { isExternal } from '@af-mobile-client-vue3/utils/validate'
3
+ import { computed } from 'vue'
4
4
 
5
5
  interface Props {
6
6
  name: string
@@ -1,38 +1,38 @@
1
- <script setup lang="ts">
2
- import { ref } from 'vue'
3
- import SvgIcon from '@af-mobile-client-vue3/components/core/SvgIcon/index.vue'
4
- import { Icon as VanIcon, Tabbar as VanTabbar, TabbarItem as VanTabbarItem } from 'vant'
5
- import 'vant/lib/tabbar-item/index.css'
6
- import 'vant/lib/tabbar/index.css'
7
-
8
- const Props = defineProps<{
9
- tabbarData: [
10
- {
11
- icon: string
12
- title: string
13
- to: {
14
- name: string
15
- }
16
- },
17
- ]
18
- }>()
19
- const active = ref(0)
20
- </script>
21
-
22
- <template>
23
- <VanTabbar v-model="active" :placeholder="true" :route="true" fixed>
24
- <VanTabbarItem
25
- v-for="(item, index) in Props.tabbarData"
26
- :key="index"
27
- :to="item.to"
28
- >
29
- <template v-if="item.icon.startsWith('svg:')" #icon="props">
30
- <SvgIcon :name="item.icon.split(':')[1]" :class-name="props.active ? 'svg-icon-active-blue' : ``" />
31
- </template>
32
- <template v-else #icon>
33
- <VanIcon :name="item.icon" />
34
- </template>
35
- {{ item.title }}
36
- </VanTabbarItem>
37
- </VanTabbar>
38
- </template>
1
+ <script setup lang="ts">
2
+ import SvgIcon from '@af-mobile-client-vue3/components/core/SvgIcon/index.vue'
3
+ import { Icon as VanIcon, Tabbar as VanTabbar, TabbarItem as VanTabbarItem } from 'vant'
4
+ import { ref } from 'vue'
5
+ import 'vant/lib/tabbar-item/index.css'
6
+ import 'vant/lib/tabbar/index.css'
7
+
8
+ const Props = defineProps<{
9
+ tabbarData: [
10
+ {
11
+ icon: string
12
+ title: string
13
+ to: {
14
+ name: string
15
+ }
16
+ },
17
+ ]
18
+ }>()
19
+ const active = ref(0)
20
+ </script>
21
+
22
+ <template>
23
+ <VanTabbar v-model="active" :placeholder="true" :route="true" fixed>
24
+ <VanTabbarItem
25
+ v-for="(item, index) in Props.tabbarData"
26
+ :key="index"
27
+ :to="item.to"
28
+ >
29
+ <template v-if="item.icon.startsWith('svg:')" #icon="props">
30
+ <SvgIcon :name="item.icon.split(':')[1]" :class-name="props.active ? 'svg-icon-active-blue' : ``" />
31
+ </template>
32
+ <template v-else #icon>
33
+ <VanIcon :name="item.icon" />
34
+ </template>
35
+ {{ item.title }}
36
+ </VanTabbarItem>
37
+ </VanTabbar>
38
+ </template>
@@ -1,10 +1,10 @@
1
1
  <script setup lang="ts">
2
+ import { deleteFile, upload } from '@af-mobile-client-vue3/services/api/common'
2
3
  import {
3
4
  Button as vanButton,
4
5
  Uploader as vanUploader,
5
6
  } from 'vant'
6
7
  import { onMounted, ref } from 'vue'
7
- import { deleteFile, upload } from '@af-mobile-client-vue3/services/api/common'
8
8
 
9
9
  const props = defineProps({
10
10
  imageList: Array<any>,
@@ -1,151 +1,151 @@
1
- <script setup lang="ts">
2
- import { defineEmits, defineModel, defineProps } from 'vue'
3
- import {
4
- Button as VanButton,
5
- Checkbox as VanCheckbox,
6
- CheckboxGroup as VanCheckboxGroup,
7
- Grid as VanGrid,
8
- GridItem as VanGridItem,
9
- Radio as VanRadio,
10
- RadioGroup as VanRadioGroup,
11
- } from 'vant'
12
-
13
- interface ColumnItem {
14
- [key: string]: string | number
15
- }
16
-
17
- interface ColumnsFieldNames {
18
- text: string
19
- value: string
20
- }
21
-
22
- const props = defineProps({
23
- columns: {
24
- type: Array as () => ColumnItem[],
25
- default: () => [] as ColumnItem[],
26
- },
27
- columnsFieldNames: {
28
- type: Object as () => ColumnsFieldNames,
29
- default: () => ({
30
- text: 'label',
31
- value: 'value',
32
- }),
33
- },
34
- gutter: {
35
- type: Number,
36
- default: 8,
37
- },
38
- columnNum: {
39
- type: Number,
40
- default: 4,
41
- },
42
- multiple: {
43
- type: Boolean,
44
- default: false,
45
- },
46
- })
47
-
48
- const emit = defineEmits<{
49
- change: [value: string | string[], list: ColumnItem[]]
50
- }>()
51
-
52
- const checked = defineModel<string | string[]>()
53
-
54
- function classSel(colRow: ColumnItem): boolean {
55
- if (typeof checked.value === 'string' || Array.isArray(checked.value))
56
- return checked.value.includes(String(colRow[props.columnsFieldNames.value]))
57
- else if (typeof checked.value === 'undefined')
58
- return false
59
- else
60
- return checked.value === String(colRow[props.columnsFieldNames.value])
61
- }
62
-
63
- function valueChange(value: string | string[]) {
64
- const list = props.columns.filter((item) => {
65
- if (props.multiple)
66
- return value.includes(String(item[props.columnsFieldNames.value]))
67
-
68
- else
69
- return value === item[props.columnsFieldNames.value]
70
- })
71
- emit('change', value, list)
72
- }
73
- </script>
74
-
75
- <template>
76
- <div id="XGridDropOption">
77
- <template v-if="props.multiple">
78
- <VanCheckboxGroup v-model="checked as string[]" direction="horizontal" @change="valueChange">
79
- <VanGrid :gutter="props.gutter" :border="false" :column-num="props.columnNum">
80
- <VanGridItem v-for="colRow in props.columns" :key="colRow[props.columnsFieldNames.text]">
81
- <template #default>
82
- <VanCheckbox :name="colRow[props.columnsFieldNames.value]">
83
- <VanButton type="default" size="small" :class="{ 'select-text-col': classSel(colRow) }">
84
- {{ colRow[props.columnsFieldNames.text] }}
85
- </VanButton>
86
- </VanCheckbox>
87
- </template>
88
- </VanGridItem>
89
- </VanGrid>
90
- </VanCheckboxGroup>
91
- </template>
92
- <template v-else>
93
- <VanRadioGroup v-model="checked" direction="horizontal" @change="valueChange">
94
- <VanGrid :gutter="props.gutter" :border="false" :column-num="props.columnNum">
95
- <VanGridItem v-for="colRow in props.columns" :key="colRow[props.columnsFieldNames.text]">
96
- <template #default>
97
- <VanRadio :name="colRow[props.columnsFieldNames.value]">
98
- <VanButton type="default" size="small" :class="{ 'select-text-col': classSel(colRow) }">
99
- {{ colRow[props.columnsFieldNames.text] }}
100
- </VanButton>
101
- </VanRadio>
102
- </template>
103
- </VanGridItem>
104
- </VanGrid>
105
- </VanRadioGroup>
106
- </template>
107
- </div>
108
- </template>
109
-
110
- <style scoped lang="less">
111
- #XGridDropOption {
112
- width: 100%;
113
- --van-grid-item-content-padding: 2px;
114
- --van-padding-sm: 0px;
115
- --van-checkbox-label-margin: 0px;
116
- --van-radio-label-margin: 0px;
117
- --van-button-default-border-color: 'rgb(247,248,250)';
118
-
119
- .van-grid {
120
- width: 100%;
121
- }
122
-
123
- .select-text-col {
124
- color: blue;
125
- }
126
-
127
- :deep(.van-checkbox__icon) {
128
- display: none;
129
- }
130
-
131
- :deep(.van-checkbox) {
132
- width: 100%;
133
- }
134
- :deep(.van-radio__icon) {
135
- display: none;
136
- }
137
- :deep(.van-radio) {
138
- width: 100%;
139
- }
140
- :deep(.van-button) {
141
- width: 100%;
142
- background-color: rgb(247,248,250);
143
- }
144
- :deep(.van-checkbox__label) {
145
- width: 100%;
146
- }
147
- :deep(.van-radio__label) {
148
- width: 100%;
149
- }
150
- }
151
- </style>
1
+ <script setup lang="ts">
2
+ import {
3
+ Button as VanButton,
4
+ Checkbox as VanCheckbox,
5
+ CheckboxGroup as VanCheckboxGroup,
6
+ Grid as VanGrid,
7
+ GridItem as VanGridItem,
8
+ Radio as VanRadio,
9
+ RadioGroup as VanRadioGroup,
10
+ } from 'vant'
11
+ import { defineEmits, defineModel, defineProps } from 'vue'
12
+
13
+ interface ColumnItem {
14
+ [key: string]: string | number
15
+ }
16
+
17
+ interface ColumnsFieldNames {
18
+ text: string
19
+ value: string
20
+ }
21
+
22
+ const props = defineProps({
23
+ columns: {
24
+ type: Array as () => ColumnItem[],
25
+ default: () => [] as ColumnItem[],
26
+ },
27
+ columnsFieldNames: {
28
+ type: Object as () => ColumnsFieldNames,
29
+ default: () => ({
30
+ text: 'label',
31
+ value: 'value',
32
+ }),
33
+ },
34
+ gutter: {
35
+ type: Number,
36
+ default: 8,
37
+ },
38
+ columnNum: {
39
+ type: Number,
40
+ default: 4,
41
+ },
42
+ multiple: {
43
+ type: Boolean,
44
+ default: false,
45
+ },
46
+ })
47
+
48
+ const emit = defineEmits<{
49
+ change: [value: string | string[], list: ColumnItem[]]
50
+ }>()
51
+
52
+ const checked = defineModel<string | string[]>()
53
+
54
+ function classSel(colRow: ColumnItem): boolean {
55
+ if (typeof checked.value === 'string' || Array.isArray(checked.value))
56
+ return checked.value.includes(String(colRow[props.columnsFieldNames.value]))
57
+ else if (typeof checked.value === 'undefined')
58
+ return false
59
+ else
60
+ return checked.value === String(colRow[props.columnsFieldNames.value])
61
+ }
62
+
63
+ function valueChange(value: string | string[]) {
64
+ const list = props.columns.filter((item) => {
65
+ if (props.multiple)
66
+ return value.includes(String(item[props.columnsFieldNames.value]))
67
+
68
+ else
69
+ return value === item[props.columnsFieldNames.value]
70
+ })
71
+ emit('change', value, list)
72
+ }
73
+ </script>
74
+
75
+ <template>
76
+ <div id="XGridDropOption">
77
+ <template v-if="props.multiple">
78
+ <VanCheckboxGroup v-model="checked as string[]" direction="horizontal" @change="valueChange">
79
+ <VanGrid :gutter="props.gutter" :border="false" :column-num="props.columnNum">
80
+ <VanGridItem v-for="colRow in props.columns" :key="colRow[props.columnsFieldNames.text]">
81
+ <template #default>
82
+ <VanCheckbox :name="colRow[props.columnsFieldNames.value]">
83
+ <VanButton type="default" size="small" :class="{ 'select-text-col': classSel(colRow) }">
84
+ {{ colRow[props.columnsFieldNames.text] }}
85
+ </VanButton>
86
+ </VanCheckbox>
87
+ </template>
88
+ </VanGridItem>
89
+ </VanGrid>
90
+ </VanCheckboxGroup>
91
+ </template>
92
+ <template v-else>
93
+ <VanRadioGroup v-model="checked" direction="horizontal" @change="valueChange">
94
+ <VanGrid :gutter="props.gutter" :border="false" :column-num="props.columnNum">
95
+ <VanGridItem v-for="colRow in props.columns" :key="colRow[props.columnsFieldNames.text]">
96
+ <template #default>
97
+ <VanRadio :name="colRow[props.columnsFieldNames.value]">
98
+ <VanButton type="default" size="small" :class="{ 'select-text-col': classSel(colRow) }">
99
+ {{ colRow[props.columnsFieldNames.text] }}
100
+ </VanButton>
101
+ </VanRadio>
102
+ </template>
103
+ </VanGridItem>
104
+ </VanGrid>
105
+ </VanRadioGroup>
106
+ </template>
107
+ </div>
108
+ </template>
109
+
110
+ <style scoped lang="less">
111
+ #XGridDropOption {
112
+ width: 100%;
113
+ --van-grid-item-content-padding: 2px;
114
+ --van-padding-sm: 0px;
115
+ --van-checkbox-label-margin: 0px;
116
+ --van-radio-label-margin: 0px;
117
+ --van-button-default-border-color: 'rgb(247,248,250)';
118
+
119
+ .van-grid {
120
+ width: 100%;
121
+ }
122
+
123
+ .select-text-col {
124
+ color: blue;
125
+ }
126
+
127
+ :deep(.van-checkbox__icon) {
128
+ display: none;
129
+ }
130
+
131
+ :deep(.van-checkbox) {
132
+ width: 100%;
133
+ }
134
+ :deep(.van-radio__icon) {
135
+ display: none;
136
+ }
137
+ :deep(.van-radio) {
138
+ width: 100%;
139
+ }
140
+ :deep(.van-button) {
141
+ width: 100%;
142
+ background-color: rgb(247,248,250);
143
+ }
144
+ :deep(.van-checkbox__label) {
145
+ width: 100%;
146
+ }
147
+ :deep(.van-radio__label) {
148
+ width: 100%;
149
+ }
150
+ }
151
+ </style>