af-mobile-client-vue3 1.4.47 → 1.4.49
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/package.json +7 -4
- package/public/favicon.svg +4 -4
- package/scripts/verifyCommit.js +19 -19
- package/src/assets/img/component/liuli.png +0 -0
- package/src/components/common/otherCharge/ChargePrintSelectorAndRemarks.vue +137 -137
- package/src/components/common/otherCharge/CodePayment.vue +357 -357
- package/src/components/common/otherCharge/FileUploader.vue +602 -602
- package/src/components/common/otherCharge/GridFileUploader.vue +846 -846
- package/src/components/common/otherCharge/PaymentMethodSelector.vue +202 -202
- package/src/components/common/otherCharge/PaymentMethodSelectorCard.vue +45 -45
- package/src/components/common/otherCharge/ReceiptModal.vue +273 -273
- package/src/components/common/otherCharge/index.ts +43 -43
- package/src/components/data/OtherCharge/OtherChargeItemModal.vue +547 -547
- package/src/components/data/UserDetail/types.ts +1 -1
- package/src/components/data/XReportGrid/XAddReport/index.ts +1 -1
- package/src/components/data/XReportGrid/XReportDrawer/index.ts +1 -1
- package/src/components/data/XTag/index.vue +10 -10
- package/src/components/layout/TabBarLayout/index.vue +40 -40
- package/src/hooks/useCommon.ts +9 -9
- package/src/main.ts +1 -2
- package/src/plugins/AppData.ts +38 -38
- package/src/router/invoiceRoutes.ts +33 -33
- package/src/router/routes.ts +433 -427
- package/src/services/api/common.ts +109 -109
- package/src/services/api/manage.ts +8 -8
- package/src/services/api/search.ts +16 -16
- package/src/services/restTools.ts +56 -56
- package/src/utils/authority-utils.ts +84 -84
- package/src/utils/crypto.ts +39 -39
- package/src/utils/queryFormDefaultRangePicker.ts +57 -57
- package/src/utils/runEvalFunction.ts +13 -13
- package/src/utils/wechat.ts +4 -4
- package/src/views/component/EvaluateRecordView/index.vue +40 -40
- package/src/views/component/MateChat/MateChatView.vue +258 -0
- package/src/views/component/MateChat/apiService.ts +104 -0
- package/src/views/component/XCellDetailView/index.vue +217 -217
- package/src/views/component/XCellListView/index.vue +107 -138
- package/src/views/component/XFormGroupView/index.vue +78 -82
- package/src/views/component/XFormView/index.vue +41 -46
- package/src/views/component/XReportFormIframeView/index.vue +47 -47
- package/src/views/component/XReportFormView/index.vue +13 -13
- package/src/views/component/XSignatureView/index.vue +50 -50
- package/src/views/component/index.vue +4 -0
- package/src/views/component/notice.vue +46 -46
- package/src/views/component/topNav.vue +36 -36
- package/src/views/invoiceShow/index.vue +61 -61
- package/src/views/user/login/index.vue +22 -22
- package/vite.config.ts +6 -0
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
<script setup lang="ts">
|
|
2
|
-
</script>
|
|
3
|
-
|
|
4
|
-
<template>
|
|
5
|
-
<VanTag />
|
|
6
|
-
</template>
|
|
7
|
-
|
|
8
|
-
<style scoped lang="less">
|
|
9
|
-
|
|
10
|
-
</style>
|
|
1
|
+
<script setup lang="ts">
|
|
2
|
+
</script>
|
|
3
|
+
|
|
4
|
+
<template>
|
|
5
|
+
<VanTag />
|
|
6
|
+
</template>
|
|
7
|
+
|
|
8
|
+
<style scoped lang="less">
|
|
9
|
+
|
|
10
|
+
</style>
|
|
@@ -1,40 +1,40 @@
|
|
|
1
|
-
<script setup lang="ts">
|
|
2
|
-
import {
|
|
3
|
-
Tabbar as VanTabbar,
|
|
4
|
-
TabbarItem as VanTabbarItem,
|
|
5
|
-
} from 'vant'
|
|
6
|
-
import { defineProps } from 'vue'
|
|
7
|
-
|
|
8
|
-
const { barList, callbacks } = defineProps<{
|
|
9
|
-
barList?: Array<{ icon: string, text: string, method: string }>
|
|
10
|
-
callbacks?: object
|
|
11
|
-
}>()
|
|
12
|
-
|
|
13
|
-
function handleClick(index) {
|
|
14
|
-
const methodName = (barList[index] as any).method
|
|
15
|
-
callbacks[methodName]()
|
|
16
|
-
}
|
|
17
|
-
</script>
|
|
18
|
-
|
|
19
|
-
<template>
|
|
20
|
-
<VanTabbar class="van-bar">
|
|
21
|
-
<VanTabbarItem v-for="(item, index) in barList" :key="index" :icon="(item as any).icon" @click="handleClick(index)">
|
|
22
|
-
{{ (item as any).text }}
|
|
23
|
-
</VanTabbarItem>
|
|
24
|
-
</VanTabbar>
|
|
25
|
-
</template>
|
|
26
|
-
|
|
27
|
-
<style scoped lang="less">
|
|
28
|
-
.van-bar {
|
|
29
|
-
height: 8vh;
|
|
30
|
-
background-color: #f7f8fa;
|
|
31
|
-
color: black;
|
|
32
|
-
}
|
|
33
|
-
.van-tabbar-item:hover {
|
|
34
|
-
color: var(--van-text-color-2);
|
|
35
|
-
}
|
|
36
|
-
:deep(.van-tabbar-item--active) {
|
|
37
|
-
background-color: #f7f8fa;
|
|
38
|
-
color: black;
|
|
39
|
-
}
|
|
40
|
-
</style>
|
|
1
|
+
<script setup lang="ts">
|
|
2
|
+
import {
|
|
3
|
+
Tabbar as VanTabbar,
|
|
4
|
+
TabbarItem as VanTabbarItem,
|
|
5
|
+
} from 'vant'
|
|
6
|
+
import { defineProps } from 'vue'
|
|
7
|
+
|
|
8
|
+
const { barList, callbacks } = defineProps<{
|
|
9
|
+
barList?: Array<{ icon: string, text: string, method: string }>
|
|
10
|
+
callbacks?: object
|
|
11
|
+
}>()
|
|
12
|
+
|
|
13
|
+
function handleClick(index) {
|
|
14
|
+
const methodName = (barList[index] as any).method
|
|
15
|
+
callbacks[methodName]()
|
|
16
|
+
}
|
|
17
|
+
</script>
|
|
18
|
+
|
|
19
|
+
<template>
|
|
20
|
+
<VanTabbar class="van-bar">
|
|
21
|
+
<VanTabbarItem v-for="(item, index) in barList" :key="index" :icon="(item as any).icon" @click="handleClick(index)">
|
|
22
|
+
{{ (item as any).text }}
|
|
23
|
+
</VanTabbarItem>
|
|
24
|
+
</VanTabbar>
|
|
25
|
+
</template>
|
|
26
|
+
|
|
27
|
+
<style scoped lang="less">
|
|
28
|
+
.van-bar {
|
|
29
|
+
height: 8vh;
|
|
30
|
+
background-color: #f7f8fa;
|
|
31
|
+
color: black;
|
|
32
|
+
}
|
|
33
|
+
.van-tabbar-item:hover {
|
|
34
|
+
color: var(--van-text-color-2);
|
|
35
|
+
}
|
|
36
|
+
:deep(.van-tabbar-item--active) {
|
|
37
|
+
background-color: #f7f8fa;
|
|
38
|
+
color: black;
|
|
39
|
+
}
|
|
40
|
+
</style>
|
package/src/hooks/useCommon.ts
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
export function formatDate(date) {
|
|
2
|
-
const year = date.getFullYear()
|
|
3
|
-
const month = (date.getMonth() + 1).toString().padStart(2, '0') // 月份加1,并补零
|
|
4
|
-
const day = date.getDate().toString().padStart(2, '0') // 日期补零
|
|
5
|
-
const hours = date.getHours().toString().padStart(2, '0') // 小时补零
|
|
6
|
-
const minutes = date.getMinutes().toString().padStart(2, '0') // 分钟补零
|
|
7
|
-
const seconds = date.getSeconds().toString().padStart(2, '0') // 秒数补零
|
|
8
|
-
return `${year}-${month}-${day} ${hours}:${minutes}:${seconds}`
|
|
9
|
-
}
|
|
1
|
+
export function formatDate(date) {
|
|
2
|
+
const year = date.getFullYear()
|
|
3
|
+
const month = (date.getMonth() + 1).toString().padStart(2, '0') // 月份加1,并补零
|
|
4
|
+
const day = date.getDate().toString().padStart(2, '0') // 日期补零
|
|
5
|
+
const hours = date.getHours().toString().padStart(2, '0') // 小时补零
|
|
6
|
+
const minutes = date.getMinutes().toString().padStart(2, '0') // 分钟补零
|
|
7
|
+
const seconds = date.getSeconds().toString().padStart(2, '0') // 秒数补零
|
|
8
|
+
return `${year}-${month}-${day} ${hours}:${minutes}:${seconds}`
|
|
9
|
+
}
|
package/src/main.ts
CHANGED
|
@@ -8,11 +8,11 @@ import { createHead } from '@unhead/vue/client'
|
|
|
8
8
|
import { createApp } from 'vue'
|
|
9
9
|
import 'virtual:uno.css'
|
|
10
10
|
import '@af-mobile-client-vue3/styles/app.less'
|
|
11
|
+
|
|
11
12
|
import '@af-mobile-client-vue3/styles/var.less'
|
|
12
13
|
|
|
13
14
|
// Vant 桌面端适配
|
|
14
15
|
import '@vant/touch-emulator'
|
|
15
|
-
|
|
16
16
|
/* --------------------------------
|
|
17
17
|
Vant 中有个别组件是以函数的形式提供的,
|
|
18
18
|
包括 Toast,Dialog,Notify 和 ImagePreview 组件。
|
|
@@ -22,7 +22,6 @@ Vant 中有个别组件是以函数的形式提供的,
|
|
|
22
22
|
import 'vant/es/toast/style'
|
|
23
23
|
import 'vant/es/dialog/style'
|
|
24
24
|
import 'vant/es/notify/style'
|
|
25
|
-
import 'vant/es/image-preview/style'
|
|
26
25
|
|
|
27
26
|
(async () => {
|
|
28
27
|
const app = createApp(App)
|
package/src/plugins/AppData.ts
CHANGED
|
@@ -1,38 +1,38 @@
|
|
|
1
|
-
import type { App } from 'vue'
|
|
2
|
-
import { manageApi } from '@af-mobile-client-vue3/services/api/manage'
|
|
3
|
-
import { APP_WEB_CONFIG_KEY } from '@af-mobile-client-vue3/stores/mutation-type'
|
|
4
|
-
import { handleTree } from '@af-mobile-client-vue3/utils/dataUtil'
|
|
5
|
-
import { indexedDB } from '@af-mobile-client-vue3/utils/indexedDB'
|
|
6
|
-
import { createStorage } from '@af-mobile-client-vue3/utils/Storage'
|
|
7
|
-
|
|
8
|
-
const Storage = createStorage({ storage: localStorage })
|
|
9
|
-
|
|
10
|
-
export const GetAppDataService = {
|
|
11
|
-
install(app: App<Element>) {
|
|
12
|
-
app.provide('$appdata', GetAppDataService)
|
|
13
|
-
},
|
|
14
|
-
async load() {
|
|
15
|
-
},
|
|
16
|
-
// 返回树形省市区
|
|
17
|
-
async getDivisionsOhChinaForTree() {
|
|
18
|
-
// 获取省市区数据
|
|
19
|
-
return new Promise((resolve, reject) => {
|
|
20
|
-
try {
|
|
21
|
-
indexedDB.getByWeb('divisionsOhChina', manageApi.getDivisionsOhChina, {}, (res) => {
|
|
22
|
-
resolve(res)
|
|
23
|
-
}, (processRes) => {
|
|
24
|
-
return handleTree(processRes, 'code', 'parentcode', null)
|
|
25
|
-
})
|
|
26
|
-
}
|
|
27
|
-
catch (e) {
|
|
28
|
-
reject(e)
|
|
29
|
-
}
|
|
30
|
-
})
|
|
31
|
-
},
|
|
32
|
-
getWebConfigByKey(key: string) {
|
|
33
|
-
const object = Storage.get(APP_WEB_CONFIG_KEY)
|
|
34
|
-
return object[key]
|
|
35
|
-
},
|
|
36
|
-
}
|
|
37
|
-
|
|
38
|
-
export default GetAppDataService
|
|
1
|
+
import type { App } from 'vue'
|
|
2
|
+
import { manageApi } from '@af-mobile-client-vue3/services/api/manage'
|
|
3
|
+
import { APP_WEB_CONFIG_KEY } from '@af-mobile-client-vue3/stores/mutation-type'
|
|
4
|
+
import { handleTree } from '@af-mobile-client-vue3/utils/dataUtil'
|
|
5
|
+
import { indexedDB } from '@af-mobile-client-vue3/utils/indexedDB'
|
|
6
|
+
import { createStorage } from '@af-mobile-client-vue3/utils/Storage'
|
|
7
|
+
|
|
8
|
+
const Storage = createStorage({ storage: localStorage })
|
|
9
|
+
|
|
10
|
+
export const GetAppDataService = {
|
|
11
|
+
install(app: App<Element>) {
|
|
12
|
+
app.provide('$appdata', GetAppDataService)
|
|
13
|
+
},
|
|
14
|
+
async load() {
|
|
15
|
+
},
|
|
16
|
+
// 返回树形省市区
|
|
17
|
+
async getDivisionsOhChinaForTree() {
|
|
18
|
+
// 获取省市区数据
|
|
19
|
+
return new Promise((resolve, reject) => {
|
|
20
|
+
try {
|
|
21
|
+
indexedDB.getByWeb('divisionsOhChina', manageApi.getDivisionsOhChina, {}, (res) => {
|
|
22
|
+
resolve(res)
|
|
23
|
+
}, (processRes) => {
|
|
24
|
+
return handleTree(processRes, 'code', 'parentcode', null)
|
|
25
|
+
})
|
|
26
|
+
}
|
|
27
|
+
catch (e) {
|
|
28
|
+
reject(e)
|
|
29
|
+
}
|
|
30
|
+
})
|
|
31
|
+
},
|
|
32
|
+
getWebConfigByKey(key: string) {
|
|
33
|
+
const object = Storage.get(APP_WEB_CONFIG_KEY)
|
|
34
|
+
return object[key]
|
|
35
|
+
},
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
export default GetAppDataService
|
|
@@ -1,33 +1,33 @@
|
|
|
1
|
-
import type { RouteRecordRaw } from 'vue-router'
|
|
2
|
-
import PageLayout from '@af-mobile-client-vue3/layout/PageLayout.vue'
|
|
3
|
-
import NotFound from '@af-mobile-client-vue3/views/common/NotFound.vue'
|
|
4
|
-
import invoiceShow from '@af-mobile-client-vue3/views/invoiceShow/index.vue'
|
|
5
|
-
|
|
6
|
-
const routes: Array<RouteRecordRaw> = [
|
|
7
|
-
{
|
|
8
|
-
path: '/',
|
|
9
|
-
name: 'root',
|
|
10
|
-
component: PageLayout,
|
|
11
|
-
redirect: { name: 'Component' },
|
|
12
|
-
children: [
|
|
13
|
-
{
|
|
14
|
-
path: '/invoiceShow',
|
|
15
|
-
name: 'invoiceShow',
|
|
16
|
-
component: invoiceShow,
|
|
17
|
-
},
|
|
18
|
-
],
|
|
19
|
-
},
|
|
20
|
-
{
|
|
21
|
-
path: '/404',
|
|
22
|
-
name: '404',
|
|
23
|
-
component: NotFound,
|
|
24
|
-
},
|
|
25
|
-
{
|
|
26
|
-
path: '/:pathMatch(.*)',
|
|
27
|
-
redirect: {
|
|
28
|
-
name: '404',
|
|
29
|
-
},
|
|
30
|
-
},
|
|
31
|
-
]
|
|
32
|
-
|
|
33
|
-
export default routes
|
|
1
|
+
import type { RouteRecordRaw } from 'vue-router'
|
|
2
|
+
import PageLayout from '@af-mobile-client-vue3/layout/PageLayout.vue'
|
|
3
|
+
import NotFound from '@af-mobile-client-vue3/views/common/NotFound.vue'
|
|
4
|
+
import invoiceShow from '@af-mobile-client-vue3/views/invoiceShow/index.vue'
|
|
5
|
+
|
|
6
|
+
const routes: Array<RouteRecordRaw> = [
|
|
7
|
+
{
|
|
8
|
+
path: '/',
|
|
9
|
+
name: 'root',
|
|
10
|
+
component: PageLayout,
|
|
11
|
+
redirect: { name: 'Component' },
|
|
12
|
+
children: [
|
|
13
|
+
{
|
|
14
|
+
path: '/invoiceShow',
|
|
15
|
+
name: 'invoiceShow',
|
|
16
|
+
component: invoiceShow,
|
|
17
|
+
},
|
|
18
|
+
],
|
|
19
|
+
},
|
|
20
|
+
{
|
|
21
|
+
path: '/404',
|
|
22
|
+
name: '404',
|
|
23
|
+
component: NotFound,
|
|
24
|
+
},
|
|
25
|
+
{
|
|
26
|
+
path: '/:pathMatch(.*)',
|
|
27
|
+
redirect: {
|
|
28
|
+
name: '404',
|
|
29
|
+
},
|
|
30
|
+
},
|
|
31
|
+
]
|
|
32
|
+
|
|
33
|
+
export default routes
|