af-mobile-client-vue3 1.1.5 → 1.1.7

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 (84) 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 +105 -91
  9. package/mock/modules/user.mock.ts +152 -152
  10. package/package.json +3 -1
  11. package/public/favicon.svg +4 -4
  12. package/public/safari-pinned-tab.svg +32 -32
  13. package/scripts/verifyCommit.js +19 -19
  14. package/src/App.vue +43 -43
  15. package/src/api/user/index.ts +40 -40
  16. package/src/bootstrap.ts +18 -18
  17. package/src/components/core/NavBar/index.vue +12 -12
  18. package/src/components/core/Tabbar/index.vue +38 -38
  19. package/src/components/core/Uploader/index.vue +2 -2
  20. package/src/components/core/XGridDropOption/index.vue +151 -151
  21. package/src/components/core/XMultiSelect/index.vue +183 -183
  22. package/src/components/data/XCellDetail/index.vue +106 -106
  23. package/src/components/data/XForm/index.vue +5 -0
  24. package/src/components/data/XFormItem/index.vue +48 -14
  25. package/src/components/data/XOlMap/README.md +0 -2
  26. package/src/components/data/XOlMap/XLocationPicker/index.vue +21 -9
  27. package/src/components/data/XOlMap/index.vue +81 -74
  28. package/src/components/data/XOlMap/types.ts +0 -4
  29. package/src/components/data/XOlMap/utils/wgs84ToGcj02.js +154 -154
  30. package/src/components/data/XReportForm/XReportFormJsonRender.vue +220 -220
  31. package/src/components/data/XReportForm/index.vue +1079 -1079
  32. package/src/components/data/XReportGrid/XAddReport/index.ts +1 -1
  33. package/src/components/data/XReportGrid/XReportDrawer/index.ts +1 -1
  34. package/src/components/data/XSignature/index.vue +285 -285
  35. package/src/components/data/XTag/index.vue +10 -10
  36. package/src/components/layout/NormalDataLayout/index.vue +70 -70
  37. package/src/components/layout/TabBarLayout/index.vue +40 -40
  38. package/src/components.d.ts +53 -53
  39. package/src/env.d.ts +16 -16
  40. package/src/font-style/font.css +3 -3
  41. package/src/hooks/useCommon.ts +9 -9
  42. package/src/locales/en-US.json +25 -25
  43. package/src/locales/zh-CN.json +25 -25
  44. package/src/plugins/AppData.ts +38 -38
  45. package/src/router/guards.ts +59 -59
  46. package/src/router/index.ts +61 -61
  47. package/src/router/invoiceRoutes.ts +33 -33
  48. package/src/router/routes.ts +6 -0
  49. package/src/services/api/common.ts +109 -109
  50. package/src/services/api/manage.ts +8 -8
  51. package/src/services/api/search.ts +16 -16
  52. package/src/services/restTools.ts +56 -56
  53. package/src/services/v3Api.ts +11 -11
  54. package/src/stores/modules/setting.ts +52 -52
  55. package/src/stores/mutation-type.ts +7 -7
  56. package/src/utils/authority-utils.ts +84 -84
  57. package/src/utils/crypto.ts +39 -39
  58. package/src/utils/i18n.ts +41 -41
  59. package/src/utils/indexedDB.ts +180 -180
  60. package/src/utils/mobileUtil.ts +26 -26
  61. package/src/utils/routerUtil.ts +271 -271
  62. package/src/utils/runEvalFunction.ts +13 -13
  63. package/src/utils/wechatUtil.ts +9 -9
  64. package/src/views/common/LoadError.vue +64 -64
  65. package/src/views/common/NotFound.vue +68 -68
  66. package/src/views/component/EvaluateRecordView/index.vue +40 -40
  67. package/src/views/component/IconifyView/index.vue +507 -0
  68. package/src/views/component/XCellDetailView/index.vue +217 -217
  69. package/src/views/component/XOlMapView/XLocationPicker/index.vue +120 -120
  70. package/src/views/component/XOlMapView/index.vue +0 -1
  71. package/src/views/component/XReportFormIframeView/index.vue +47 -47
  72. package/src/views/component/XReportFormView/index.vue +13 -13
  73. package/src/views/component/XSignatureView/index.vue +50 -50
  74. package/src/views/component/index.vue +4 -0
  75. package/src/views/component/menu.vue +117 -117
  76. package/src/views/component/notice.vue +46 -46
  77. package/src/views/component/topNav.vue +36 -36
  78. package/src/views/invoiceShow/index.vue +61 -61
  79. package/src/views/user/login/ForgetPasswordForm.vue +94 -94
  80. package/src/views/user/login/LoginTitle.vue +68 -68
  81. package/src/views/user/login/index.vue +22 -22
  82. package/src/views/user/my/index.vue +230 -230
  83. package/src/vue-router.d.ts +9 -9
  84. package/tsconfig.json +43 -43
@@ -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,38 +1,38 @@
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
+ <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>
@@ -79,8 +79,8 @@ function deleteFileFunction(file: any) {
79
79
  // ------------------------- 初始化 -------------------------
80
80
 
81
81
  function initComponent() {
82
- if (props.imageList.length > 0) {
83
- imageList.value = props.imageList.map((item) => {
82
+ if (props?.imageList?.length > 0) {
83
+ imageList.value = props?.imageList.map((item) => {
84
84
  return { id: item.id, name: item.f_filename, url: item.f_downloadpath }
85
85
  })
86
86
  }
@@ -1,151 +1,151 @@
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>
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>