li.shaoyi 2 anni fa
parent
commit
1248c8b088
100 ha cambiato i file con 329 aggiunte e 493 eliminazioni
  1. 2 2
      .env.zrwyt
  2. 1 0
      package.json
  3. 162 0
      src/hooks/menu/index@next.ts
  4. 0 2
      src/packages/gstj/components/modules/quote/forex/index.vue
  5. 1 1
      src/packages/mobile/components/base/tabbar/index.vue
  6. 2 2
      src/packages/mobile/components/layouts/page/index.vue
  7. 1 1
      src/packages/mobile/components/modules/contact/index.vue
  8. 1 1
      src/packages/mobile/components/modules/quote/tik/index.vue
  9. 1 1
      src/packages/mobile/components/modules/receipt/index.vue
  10. 3 91
      src/packages/mobile/router/index.ts
  11. 3 3
      src/packages/mobile/views/account/certification/Index.vue
  12. 2 2
      src/packages/mobile/views/ballot/detail/Index.vue
  13. 1 1
      src/packages/mobile/views/ballot/detail/components/delisting/index.vue
  14. 3 3
      src/packages/mobile/views/ballot/list/Index.vue
  15. 1 1
      src/packages/mobile/views/bank/sign/Index.vue
  16. 8 7
      src/packages/mobile/views/bank/sign/components/edit/Index.vue
  17. 3 3
      src/packages/mobile/views/bank/statement/Index.vue
  18. 2 2
      src/packages/mobile/views/bank/statement/history/Index.vue
  19. 1 1
      src/packages/mobile/views/bank/wallet/Index.vue
  20. 9 8
      src/packages/mobile/views/bank/wallet/components/deposit/Index.vue
  21. 10 9
      src/packages/mobile/views/bank/wallet/components/withdraw/Index.vue
  22. 5 5
      src/packages/mobile/views/goods/detail/Index.vue
  23. 2 2
      src/packages/mobile/views/goods/detail/components/listing/Index.vue
  24. 2 2
      src/packages/mobile/views/goods/list/Index.vue
  25. 3 3
      src/packages/mobile/views/goods/trade/index.vue
  26. 4 4
      src/packages/mobile/views/home/Index.vue
  27. 3 3
      src/packages/mobile/views/home/main/Index.vue
  28. 4 4
      src/packages/mobile/views/market/detail/Index.vue
  29. 2 2
      src/packages/mobile/views/market/list/Index.vue
  30. 2 2
      src/packages/mobile/views/mine/Index.vue
  31. 1 1
      src/packages/mobile/views/mine/address/components/edit/Index.vue
  32. 1 1
      src/packages/mobile/views/mine/invoice/components/edit/Index.vue
  33. 1 1
      src/packages/mobile/views/mine/setting/Index.vue
  34. 2 2
      src/packages/mobile/views/news/detail/Index.vue
  35. 1 1
      src/packages/mobile/views/news/list/Index.vue
  36. 1 1
      src/packages/mobile/views/notice/list/components/detail/index.vue
  37. 1 1
      src/packages/mobile/views/notice/list/index.vue
  38. 1 1
      src/packages/mobile/views/order/delivery/components/offline/list/Index.vue
  39. 1 1
      src/packages/mobile/views/order/delivery/components/online/list/Index.vue
  40. 1 1
      src/packages/mobile/views/order/delivery/components/spot/list/Index.vue
  41. 1 1
      src/packages/mobile/views/order/list/components/goodsorder/history/Index.vue
  42. 1 1
      src/packages/mobile/views/order/list/components/goodsorder/list/Index.vue
  43. 1 1
      src/packages/mobile/views/order/list/components/goodstrade/history/Index.vue
  44. 1 1
      src/packages/mobile/views/order/list/components/goodstrade/list/Index.vue
  45. 1 1
      src/packages/mobile/views/order/list/components/listingorder/history/Index.vue
  46. 1 1
      src/packages/mobile/views/order/list/components/listingorder/list/Index.vue
  47. 1 1
      src/packages/mobile/views/order/list/components/listingtrade/history/Index.vue
  48. 1 1
      src/packages/mobile/views/order/list/components/listingtrade/list/Index.vue
  49. 1 1
      src/packages/mobile/views/order/list/components/presale/history/index.vue
  50. 1 1
      src/packages/mobile/views/order/list/components/presale/list/Index.vue
  51. 1 1
      src/packages/mobile/views/order/list/components/pricingorder/list/Index.vue
  52. 1 1
      src/packages/mobile/views/order/list/components/pricingtrade/list/Index.vue
  53. 1 1
      src/packages/mobile/views/order/list/components/swaporder/history/Index.vue
  54. 1 1
      src/packages/mobile/views/order/list/components/swaporder/list/Index.vue
  55. 1 1
      src/packages/mobile/views/order/list/components/swaptrade/history/Index.vue
  56. 1 1
      src/packages/mobile/views/order/list/components/swaptrade/list/Index.vue
  57. 1 1
      src/packages/mobile/views/order/list/components/transferorder/history/index.vue
  58. 1 1
      src/packages/mobile/views/order/list/components/transferorder/list/Index.vue
  59. 1 1
      src/packages/mobile/views/order/list/components/transfertrade/history/index.vue
  60. 1 1
      src/packages/mobile/views/order/list/components/transfertrade/list/Index.vue
  61. 1 1
      src/packages/mobile/views/order/performance/Index.vue
  62. 5 4
      src/packages/mobile/views/order/performance/components/breach/Index.vue
  63. 8 6
      src/packages/mobile/views/order/performance/components/modify/Index.vue
  64. 1 1
      src/packages/mobile/views/order/position/components/goods/delivery16/index.vue
  65. 1 1
      src/packages/mobile/views/order/position/components/goods/list/Index.vue
  66. 1 1
      src/packages/mobile/views/order/position/components/presale/list/Index.vue
  67. 2 2
      src/packages/mobile/views/order/position/components/pricing/list/Index.vue
  68. 1 1
      src/packages/mobile/views/order/position/components/spot/list/Index.vue
  69. 1 1
      src/packages/mobile/views/order/position/components/spot/listing/Index.vue
  70. 4 4
      src/packages/mobile/views/order/position/components/spot/pickup/Index.vue
  71. 1 1
      src/packages/mobile/views/order/position/components/swap/close/Index.vue
  72. 1 1
      src/packages/mobile/views/order/position/components/swap/list/Index.vue
  73. 1 1
      src/packages/mobile/views/order/position/components/transfer/delivery/Index.vue
  74. 1 1
      src/packages/mobile/views/order/position/components/transfer/list/Index.vue
  75. 2 2
      src/packages/mobile/views/presale/detail/Index.vue
  76. 2 2
      src/packages/mobile/views/presale/detail/components/delisting/index.vue
  77. 3 3
      src/packages/mobile/views/presale/list/Index.vue
  78. 1 1
      src/packages/mobile/views/pricing/detail/Index.vue
  79. 2 2
      src/packages/mobile/views/pricing/list/Index.vue
  80. 0 15
      src/packages/mobile/views/rules/buyrule/Index.vue
  81. 0 38
      src/packages/mobile/views/rules/ccwl/Index.vue
  82. 0 15
      src/packages/mobile/views/rules/ccwl/index.less
  83. 0 24
      src/packages/mobile/views/rules/cght/Index.vue
  84. 0 15
      src/packages/mobile/views/rules/djgz/Index.vue
  85. 0 15
      src/packages/mobile/views/rules/fpsm/Index.vue
  86. 1 1
      src/packages/mobile/views/rules/fwrx/Index.vue
  87. 1 1
      src/packages/mobile/views/rules/fxgzs/Index.vue
  88. 1 1
      src/packages/mobile/views/rules/gywm/Index.vue
  89. 0 15
      src/packages/mobile/views/rules/jfgz/Index.vue
  90. 0 24
      src/packages/mobile/views/rules/myrz/Index.vue
  91. 0 15
      src/packages/mobile/views/rules/ptgz/Index.vue
  92. 0 15
      src/packages/mobile/views/rules/sellrule/Index.vue
  93. 0 28
      src/packages/mobile/views/rules/xhht/Index.vue
  94. 1 1
      src/packages/mobile/views/rules/yszc/Index.vue
  95. 1 1
      src/packages/mobile/views/rules/zcxy/Index.vue
  96. 0 24
      src/packages/mobile/views/rules/zrht/Index.vue
  97. 2 2
      src/packages/mobile/views/spot/add/components/buy/index.vue
  98. 3 3
      src/packages/mobile/views/spot/add/components/sell/index.vue
  99. 3 3
      src/packages/mobile/views/spot/detail/Index.vue
  100. 2 2
      src/packages/mobile/views/spot/detail/components/delisting/index.vue

+ 2 - 2
.env.zrwyt

@@ -1,5 +1,5 @@
-VUE_APP_ENV = 'mobile'
+VUE_APP_ENV = 'zrwyt'
 VUE_APP_TITLE = 中融文遗通
-VUE_APP_ROOT = src/packages/mobile/
+VUE_APP_ROOT = src/packages/zrwyt/
 VUE_APP_OEM = oem/zrwyt/
 VUE_APP_HOST = localhost

+ 1 - 0
package.json

@@ -8,6 +8,7 @@
     "dev:gstj": "vue-cli-service serve --mode gstj",
     "dev:sbyj": "vue-cli-service serve --mode sbyj",
     "dev:qxst": "vue-cli-service serve --mode qxst",
+    "dev:zrwyt": "vue-cli-service serve --mode zrwyt",
     "build:pc": "vue-cli-service build --mode pc",
     "build:mobile": "vue-cli-service build --mode mobile",
     "build:gstj": "vue-cli-service build --mode gstj",

+ 162 - 0
src/hooks/menu/index@next.ts

@@ -0,0 +1,162 @@
+import { defineAsyncComponent, Component } from 'vue'
+import { useRoute, useRouter } from 'vue-router'
+import { useMenuStore } from '@/stores'
+import { AuthType } from '@/constants/menu'
+
+// 待优化
+export function useMenu(authCode?: string) {
+    const menuStore = useMenuStore()
+    const { userRoutes } = menuStore.$toRefs()
+
+    const route = useRoute()
+    const router = useRouter()
+    const componentMap = new Map<string, Component>()
+
+    // 过滤菜单
+    const filterMenu = (data: Model.UserRoutes[], parentPath = '') => {
+        const result: Model.UserRoutes[] = []
+        data.forEach((e) => {
+            if (!e.hidden && e.authType === AuthType.Menu) {
+                const routePath = (parentPath ? parentPath + '/' : '') + e.url
+                result.push({
+                    ...e,
+                    url: routePath,
+                    children: e.children ? filterMenu(e.children, routePath) : [],
+                })
+            }
+        })
+        return result
+    }
+
+    /**
+     * 根据 code 查找对应的子菜单
+     * @returns 
+     */
+    const findChildren = (data: Model.UserRoutes[], code?: string): Model.UserRoutes[] => {
+        const routeName = code ?? route.name?.toString()
+        for (const item of data) {
+            const { code, children } = item
+            if (code === routeName) return children ?? []
+            if (children) {
+                const res = findChildren(children, routeName)
+                if (res.length) return res
+            }
+        }
+        return []
+    }
+
+    /**
+     * 获取路由菜单(无限级)
+     * @param level 
+     * @returns 
+     */
+    const getMenus = (level = 0) => {
+        // 过滤层级
+        const filterLevel = (data: Model.UserRoutes[], n: number): Model.UserRoutes[] => {
+            if (level) {
+                return data.map((e) => ({ ...e, children: n <= 1 ? [] : filterLevel(e.children ?? [], n - 1) }))
+            }
+            return data
+        }
+        return filterMenu(filterLevel(userRoutes.value, level))
+    }
+
+    /**
+    * 获取路由子菜单
+    * @param code 
+    * @returns 
+    */
+    const getChildrenMenus = (code?: string) => {
+        const children = findChildren(userRoutes.value, code)
+        return filterMenu(children)
+    }
+
+    /**
+     * 获取首页地址
+     * @returns 
+     */
+    const getHomeUrl = () => {
+        const findNode = (tree: Model.UserRoutes[]): string => {
+            for (const node of tree) {
+                if (node.children?.length) {
+                    const res = findNode(node.children)
+                    if (res) return res
+                } else {
+                    return node.url
+                }
+            }
+            return '/404'
+        }
+        return findNode(getMenus())
+    }
+
+    /**
+     * 获取操作权限
+     * @returns 
+     */
+    const getAuth = (authType: AuthType) => {
+        const children = findChildren(userRoutes.value, authCode)
+        return children.reduce((res, cur) => {
+            if (!cur.hidden && cur.authType === authType) {
+                if (!componentMap.get(cur.code) && cur.component) {
+                    const componentString = cur.component.replace(/^\/+/, '') // 过滤字符串前面所有 '/' 字符
+                    const componentPath = componentString.replace(/\.\w+$/, '') // 过滤后缀名,为了让 import 加入 .vue ,不然会有警告提示...
+                    const asyncComponent = defineAsyncComponent({
+                        loader: () => import('/' + process.env.VUE_APP_ROOT + componentPath + '.vue'),
+                    })
+                    componentMap.set(cur.code, asyncComponent)
+                }
+                res.push(JSON.parse(JSON.stringify(cur)))
+            }
+            return res
+        }, [] as Model.UserRoutes[])
+    }
+
+    /**
+     * 过滤操作权限
+     * @param filtered 过滤的数据项
+     * @param reverse 是否反向过滤
+     * @returns 
+     */
+    const authFilter = (authType: AuthType, filtered: string[], reverse: boolean) => {
+        const auth = getAuth(authType);
+        if (filtered.length) {
+            if (reverse) {
+                // 返回除指定的权限代码
+                return auth.filter((e) => !filtered.includes(e.code))
+            } else {
+                // 返回指定的权限代码
+                return auth.filter((e) => filtered.includes(e.code))
+            }
+        }
+        return auth
+    }
+
+    /**
+     * 获取权限按钮
+     * @param filtered 
+     * @param reverse 
+     * @returns 
+     */
+    const getAuthButtons = (filtered: string[] = [], reverse = false) => authFilter(AuthType.Button, filtered, reverse)
+
+    /**
+     * 获取权限组件
+     * @param filtered 
+     * @param reverse 
+     * @returns 
+     */
+    const getAuthComponents = (filtered: string[] = [], reverse = false) => authFilter(AuthType.Component, filtered, reverse)
+
+    return {
+        route,
+        router,
+        userRoutes,
+        componentMap,
+        getMenus,
+        getHomeUrl,
+        getChildrenMenus,
+        getAuthButtons,
+        getAuthComponents,
+    }
+}

+ 0 - 2
src/packages/gstj/components/modules/quote/forex/index.vue

@@ -37,7 +37,6 @@
 import { shallowRef, computed, useAttrs } from 'vue'
 import { Icon } from 'vant'
 import { handleNumberValue } from '@/filters'
-import { useNavigation } from '../../../../router/navigation'
 import { BuyOrSell } from '@/constants/order'
 import { useFuturesStore } from '@/stores'
 
@@ -53,7 +52,6 @@ const props = defineProps({
 })
 
 const emit = defineEmits<{ (event: string, ...args: unknown[]): void }>()
-const { router } = useNavigation()
 const attrs = useAttrs()
 const futuresStore = useFuturesStore()
 const quote = computed(() => futuresStore.getGoodsQuote(props.goodsCode).value)

+ 1 - 1
src/packages/mobile/components/base/tabbar/index.vue

@@ -28,7 +28,7 @@
 import { PropType, computed } from 'vue'
 import { Tabbar } from './types'
 import { useGlobalStore } from '@/stores'
-import AppIconfont from '../../base/iconfont/index.vue'
+import AppIconfont from '@mobile/components/base/iconfont/index.vue'
 
 const emit = defineEmits(['click'])
 

+ 2 - 2
src/packages/mobile/components/layouts/page/index.vue

@@ -11,8 +11,8 @@
 
 <script lang="ts" setup>
 import { RouteLocationNormalized, RouteRecordNormalized, RouteRecordName } from 'vue-router'
-import animateRouter from '../../../router/animateRouter'
-import RouterTransition from '../../../components/base/router-transition/index.vue'
+import animateRouter from '@mobile/router/animateRouter'
+import RouterTransition from '@mobile/components/base/router-transition/index.vue'
 import http from '@/services/http'
 
 const { state } = animateRouter

+ 1 - 1
src/packages/mobile/components/modules/contact/index.vue

@@ -7,7 +7,7 @@
 <script lang="ts" setup>
 import { computed } from 'vue'
 import AppModal from '@/components/base/modal/index.vue'
-import AppAddress from '../../../views/mine/address/Index.vue'
+import AppAddress from '@mobile/views/mine/address/Index.vue'
 
 const props = defineProps({
     show: {

+ 1 - 1
src/packages/mobile/components/modules/quote/tik/index.vue

@@ -18,7 +18,7 @@ import { formatDate, handleNumberValue } from '@/filters'
 import { useRequest } from '@/hooks/request'
 import { queryHistoryTikDatas, queryMarketRun } from '@/services/api/market'
 import { useFuturesStore } from '@/stores'
-import AppList from '../../../base/list/index.vue'
+import AppList from '@mobile/components/base/list/index.vue'
 
 const props = defineProps({
     goodsCode: {

+ 1 - 1
src/packages/mobile/components/modules/receipt/index.vue

@@ -7,7 +7,7 @@
 <script lang="ts" setup>
 import { computed } from 'vue'
 import AppModal from '@/components/base/modal/index.vue'
-import AppInvoice from '../../../views/mine/invoice/Index.vue'
+import AppInvoice from '@mobile/views/mine/invoice/Index.vue'
 
 const props = defineProps({
     show: {

+ 3 - 91
src/packages/mobile/router/index.ts

@@ -2,7 +2,7 @@ import { createWebHashHistory, RouteRecordRaw } from 'vue-router'
 import { useLoginStore } from '@/stores'
 import { clearPending } from '@/services/http/pending'
 import service from '@/services'
-import Page from '../components/layouts/page/index.vue'
+import Page from '@mobile/components/layouts/page/index.vue'
 import animateRouter from './animateRouter'
 
 const loginStore = useLoginStore()
@@ -416,30 +416,6 @@ const routes: Array<RouteRecordRaw> = [
     component: Page,
     children: [
       {
-        path: "ptgz",
-        name: "rules-ptgz",
-        component: () => import("../views/rules/ptgz/Index.vue"),
-        meta: {
-          ignoreAuth: true,
-        },
-      },
-      {
-        path: "myrz",
-        name: "rules-myrz",
-        component: () => import("../views/rules/myrz/Index.vue"),
-        meta: {
-          ignoreAuth: true,
-        },
-      },
-      {
-        path: "ccwl",
-        name: "rules-ccwl",
-        component: () => import("../views/rules/ccwl/Index.vue"),
-        meta: {
-          ignoreAuth: true,
-        },
-      },
-      {
         path: "zcxy",
         name: "rules-zcxy",
         component: () => import("../views/rules/zcxy/Index.vue"),
@@ -472,14 +448,6 @@ const routes: Array<RouteRecordRaw> = [
         },
       },
       {
-        path: "fpsm",
-        name: "rules-fpsm",
-        component: () => import("../views/rules/fpsm/Index.vue"),
-        meta: {
-          ignoreAuth: true,
-        },
-      },
-      {
         path: "fwrx",
         name: "rules-fwrx",
         component: () => import("../views/rules/fwrx/Index.vue"),
@@ -487,64 +455,8 @@ const routes: Array<RouteRecordRaw> = [
           ignoreAuth: true,
         },
       },
-      {
-        path: "buyrule",
-        name: "rules-buyrule",
-        component: () => import("../views/rules/buyrule/Index.vue"),
-        meta: {
-          ignoreAuth: true,
-        },
-      },
-      {
-        path: "sellrule",
-        name: "rules-sellrule",
-        component: () => import("../views/rules/sellrule/Index.vue"),
-        meta: {
-          ignoreAuth: true,
-        },
-      },
-      {
-        path: "djgz",
-        name: "rules-dj",
-        component: () => import("../views/rules/djgz/Index.vue"),
-        meta: {
-          ignoreAuth: true,
-        },
-      },
-      {
-        path: "jfgz",
-        name: "rules-jf",
-        component: () => import("../views/rules/jfgz/Index.vue"),
-        meta: {
-          ignoreAuth: true,
-        },
-      },
-      {
-        path: "cght",
-        name: "rules-cght",
-        component: () => import("../views/rules/cght/Index.vue"),
-        meta: {
-          ignoreAuth: true,
-        },
-      },
-      {
-        path: "zrht",
-        name: "rules-zrht",
-        component: () => import("../views/rules/zrht/Index.vue"),
-        meta: {
-          ignoreAuth: true,
-        },
-      },
-      {
-        path: "xhht",
-        name: "rules-xhht",
-        component: () => import("../views/rules/xhht/Index.vue"),
-        meta: {
-          ignoreAuth: true,
-        },
-      },
-    ],
-  },
+    ]
+  }
 ]
 
 const router = animateRouter.create({

+ 3 - 3
src/packages/mobile/views/account/certification/Index.vue

@@ -46,9 +46,9 @@ import { CellGroup, Button, Field, Form, FormInstance, showFailToast, FieldRule
 import { addAuthReq } from '@/business/user'
 import { fullloading, dialog } from '@/utils/vant';
 import { getCerTypePersonList } from "@/constants/account";
-import AppSelect from '../../../components/base/select/index.vue'
-import { useNavigation } from '../../../router/navigation'
-import AppUploader from '../../../components/base/uploader/index.vue'
+import AppSelect from '@mobile/components/base/select/index.vue'
+import { useNavigation } from '@mobile/router/navigation'
+import AppUploader from '@mobile/components/base/uploader/index.vue'
 
 const formRef = shallowRef<FormInstance>()
 const { formData, formSubmit } = addAuthReq()

+ 2 - 2
src/packages/mobile/views/ballot/detail/Index.vue

@@ -64,8 +64,8 @@ import { computed, defineAsyncComponent } from 'vue'
 import { Tag } from 'vant'
 import { getFileUrl, parsePercent } from '@/filters'
 import { useComponent } from '@/hooks/component'
-import { useNavigation } from '../../../router/navigation'
-import Banner from '../../../components/base/banner/index.vue'
+import { useNavigation } from '@mobile/router/navigation'
+import Banner from '@mobile/components/base/banner/index.vue'
 
 const componentMap = new Map<string, unknown>([
     ['delisting', defineAsyncComponent(() => import('./components/delisting/index.vue'))], // 摘牌

+ 1 - 1
src/packages/mobile/views/ballot/detail/components/delisting/index.vue

@@ -40,7 +40,7 @@ import { Form, Field, Stepper, Button, FieldRule, FormInstance } from 'vant'
 import { fullloading, dialog } from '@/utils/vant'
 import { useAccountStore } from '@/stores'
 import { useOrder } from '@/business/trade'
-import AppPopup from '../../../../../components/base/popup/index.vue'
+import AppPopup from '@mobile/components/base/popup/index.vue'
 import { BuyOrSell } from '@/constants/order'
 import { EPriceMode, EValidType } from '@/constants/client'
 

+ 3 - 3
src/packages/mobile/views/ballot/list/Index.vue

@@ -83,11 +83,11 @@
 import { shallowRef } from 'vue'
 import { Tag, Divider, Icon } from 'vant'
 import { getFileUrl, getFirstImage } from '@/filters'
-import { useNavigation } from '../../../router/navigation'
+import { useNavigation } from '@mobile/router/navigation'
 import { useRequest } from '@/hooks/request'
 import { queryPresaleAuctions } from '@/services/api/presale'
-import Banner from '../../../components/base/banner/index.vue'
-import Waterfall from '../../../components/base/waterfall/index.vue'
+import Banner from '@mobile/components/base/banner/index.vue'
+import Waterfall from '@mobile/components/base/waterfall/index.vue'
 
 const isWaterfall = shallowRef(false)
 const { router } = useNavigation()

+ 1 - 1
src/packages/mobile/views/bank/sign/Index.vue

@@ -35,7 +35,7 @@ import { fullloading, dialog } from '@/utils/vant'
 import { useComponent } from '@/hooks/component'
 import { getSignStatusName, SignStatus } from '@/constants/bank'
 import { useDoCancelBankSign } from '@/business/bank'
-import { useNavigation } from '../../../router/navigation'
+import { useNavigation } from '@mobile/router/navigation'
 
 const componentMap = new Map<string, unknown>([
     ['edit', defineAsyncComponent(() => import('./components/edit/Index.vue'))],

+ 8 - 7
src/packages/mobile/views/bank/sign/components/edit/Index.vue

@@ -17,8 +17,9 @@
                     <Field name="AccountName" label="姓名" readonly v-model="formData.BankAccountName" placeholder="请输入银行卡账户名"
                         :rules="formRules.BankAccountName" />
                     <template v-for="(item, index) in configs" :key="index">
-                        <Field v-if="item.usabletype === 1 || item.usabletype === userStore.userInfo?.userinfotype" 
-                            :name="item.fieldcode" :label="item.fieldname" v-model="item.value" :placeholder="`请输入${ item.fieldname }`" />
+                        <Field v-if="item.usabletype === 1 || item.usabletype === userStore.userInfo?.userinfotype"
+                            :name="item.fieldcode" :label="item.fieldname" v-model="item.value"
+                            :placeholder="`请输入${item.fieldname}`" />
                     </template>
                 </CellGroup>
             </Form>
@@ -41,7 +42,7 @@ import { validateRules } from '@/constants/regex'
 import { useErrorInfoStore } from '@/stores'
 import { useUserStore } from '@/stores'
 import AppModal from '@/components/base/modal/index.vue'
-import AppSelect from '../../../../../components/base/select/index.vue'
+import AppSelect from '@mobile/components/base/select/index.vue'
 
 const { formData, onSubmit, banklist, bankInfo } = useDoBankSign()
 const showModal = shallowRef(true)
@@ -87,10 +88,10 @@ const formRules: { [key in keyof Proto.t2bBankSignReq]?: FieldRule[] } = {
 
 const formSubmit = () => {
     fullloading((hideLoading) => {
-        const obj:{[key:string]:unknown}=Object.create({})
-        configs.value.forEach((e)=>{
-            if(e.value){
-                obj[e.fieldcode]=e.value
+        const obj: { [key: string]: unknown } = Object.create({})
+        configs.value.forEach((e) => {
+            if (e.value) {
+                obj[e.fieldcode] = e.value
             }
             if (e.fieldcode === 'bank_branch_name') {
                 formData.OpenBankName = e.value

+ 3 - 3
src/packages/mobile/views/bank/statement/Index.vue

@@ -25,10 +25,10 @@
 import { shallowRef } from 'vue'
 import { formatDate } from '@/filters'
 import { useRequest } from '@/hooks/request'
-import { useNavigation } from '../../../router/navigation'
+import { useNavigation } from '@mobile/router/navigation'
 import { queryAmountLog } from '@/services/api/bank'
-import AppPullRefresh from '../../../components/base/pull-refresh/index.vue'
-import AppList from '../../../components/base/list/index.vue'
+import AppPullRefresh from '@mobile/components/base/pull-refresh/index.vue'
+import AppList from '@mobile/components/base/list/index.vue'
 
 const { routerTo } = useNavigation()
 const dataList = shallowRef<Model.AmountLogRsp[]>([])

+ 2 - 2
src/packages/mobile/views/bank/statement/history/Index.vue

@@ -20,8 +20,8 @@ import { shallowRef } from 'vue'
 import { formatDate } from '@/filters'
 import { useRequest } from '@/hooks/request'
 import { queryHisAmountLog } from '@/services/api/bank'
-import AppPullRefresh from '../../../../components/base/pull-refresh/index.vue'
-import AppList from '../../../../components/base/list/index.vue'
+import AppPullRefresh from '@mobile/components/base/pull-refresh/index.vue'
+import AppList from '@mobile/components/base/list/index.vue'
 
 const dataList = shallowRef<Model.HisAmountLogRsp[]>([])
 const error = shallowRef(false)

+ 1 - 1
src/packages/mobile/views/bank/wallet/Index.vue

@@ -17,7 +17,7 @@
 <script lang="ts" setup>
 import { shallowRef } from 'vue'
 import { Tab, Tabs } from 'vant'
-import { useNavigation } from '../../../router/navigation'
+import { useNavigation } from '@mobile/router/navigation'
 import AppDeposit from './components/deposit/Index.vue'
 import AppWithdraw from './components/withdraw/Index.vue'
 

+ 9 - 8
src/packages/mobile/views/bank/wallet/components/deposit/Index.vue

@@ -10,8 +10,9 @@
                     </template>
                 </Field>
                 <template v-for="(item, index) in configs" :key="index">
-                    <Field v-if="item.usabletype === 1 || item.usabletype === userStore.userInfo?.userinfotype" :name="item.fieldcode" 
-                       :label="item.fieldname" v-model="item.value" :placeholder="`请输入${ item.fieldname }`" />
+                    <Field v-if="item.usabletype === 1 || item.usabletype === userStore.userInfo?.userinfotype"
+                        :name="item.fieldcode" :label="item.fieldname" v-model="item.value"
+                        :placeholder="`请输入${item.fieldname}`" />
                 </template>
             </CellGroup>
         </Form>
@@ -73,9 +74,9 @@ import { shallowRef, ref } from 'vue'
 import { Form, Field, CellGroup, Button, FieldRule, FormInstance, showFailToast, showSuccessToast } from 'vant'
 import { useDoDeposit, useDoCusBankExtendConfigs, useQueryCusBankSignBank } from '@/business/bank'
 import { fullloading, dialog } from '@/utils/vant'
-import { useNavigation } from '../../../../../router/navigation'
+import { useNavigation } from '@mobile/router/navigation'
 import { useUserStore } from '@/stores'
-import AppUploader from '../../../../../components/base/uploader/index.vue'
+import AppUploader from '@mobile/components/base/uploader/index.vue'
 
 const formRef = shallowRef<FormInstance>()
 const { formData, onSubmit } = useDoDeposit()
@@ -118,10 +119,10 @@ const onUploadSuccess = (filePath: string) => {
 
 const formSubmit = () => {
     fullloading((hideLoading) => {
-        const obj:{[key:string]:unknown}=Object.create({})
-        configs.value.forEach((e)=>{
-            if(e.value){
-                obj[e.fieldcode]=e.value
+        const obj: { [key: string]: unknown } = Object.create({})
+        configs.value.forEach((e) => {
+            if (e.value) {
+                obj[e.fieldcode] = e.value
             }
         })
         obj['certificate_photo_url'] = certificate_photo_url.value

+ 10 - 9
src/packages/mobile/views/bank/wallet/components/withdraw/Index.vue

@@ -24,14 +24,15 @@
                     </template>
                 </Field>
                 <template v-for="(item, index) in configs" :key="index">
-                    <Field v-if="item.usabletype === 1 || item.usabletype === userStore.userInfo?.userinfotype" :name="item.fieldcode" 
-                       :label="item.fieldname" v-model="item.value" :placeholder="`请输入${ item.fieldname }`" />
+                    <Field v-if="item.usabletype === 1 || item.usabletype === userStore.userInfo?.userinfotype"
+                        :name="item.fieldcode" :label="item.fieldname" v-model="item.value"
+                        :placeholder="`请输入${item.fieldname}`" />
                 </template>
             </CellGroup>
         </Form>
         <div class="g-form__bank" v-else>
-                <span>{{ msg }}</span>
-            </div>
+            <span>{{ msg }}</span>
+        </div>
         <div class="g-form__time">
             <label>充值提现时间:{{ start }}-{{ end }}</label>
         </div>
@@ -48,7 +49,7 @@ import { useDoWithdraw, useAccountFundInfo, useDoCusBankExtendConfigs, useQueryC
 import { Form, Field, CellGroup, FormInstance, Button, FieldRule } from 'vant'
 import { shallowRef } from 'vue'
 import { fullloading, dialog } from '@/utils/vant'
-import { useNavigation } from '../../../../../router/navigation'
+import { useNavigation } from '@mobile/router/navigation'
 import { useUserStore } from '@/stores'
 
 const { formData, onSubmit, sign } = useDoWithdraw()
@@ -80,10 +81,10 @@ const formRules: { [key in keyof Proto.t2bBankWithdrawReq]?: FieldRule[] } = {
 }
 
 const formSubmit = () => {
-    const obj:{[key:string]:unknown}=Object.create({})
-    configs.value.forEach((e)=>{
-        if(e.value){
-            obj[e.fieldcode]=e.value
+    const obj: { [key: string]: unknown } = Object.create({})
+    configs.value.forEach((e) => {
+        if (e.value) {
+            obj[e.fieldcode] = e.value
         }
     })
     formData.extend_info = JSON.stringify(obj)

+ 5 - 5
src/packages/mobile/views/goods/detail/Index.vue

@@ -21,15 +21,15 @@
 <script lang="ts" setup>
 import { shallowRef, defineAsyncComponent, computed } from 'vue'
 import { Button } from 'vant'
-import { useNavigation } from '../../../router/navigation'
+import { useNavigation } from '@mobile/router/navigation'
 import { useComponent } from '@/hooks/component'
 import { BuyOrSell } from '@/constants/order'
 import { useFuturesStore } from '@/stores'
 
-const Price = defineAsyncComponent(() => import('../../../components/modules/quote/price/index.vue'))
-const Chart = defineAsyncComponent(() => import('../../../components/modules/quote/chart/index.vue'))
-const Forex = defineAsyncComponent(() => import('../../../components/modules/quote/forex/index.vue'))
-const Tik = defineAsyncComponent(() => import('../../../components/modules/quote/tik/index.vue'))
+const Price = defineAsyncComponent(() => import('@mobile/components/modules/quote/price/index.vue'))
+const Chart = defineAsyncComponent(() => import('@mobile/components/modules/quote/chart/index.vue'))
+const Forex = defineAsyncComponent(() => import('@mobile/components/modules/quote/forex/index.vue'))
+const Tik = defineAsyncComponent(() => import('@mobile/components/modules/quote/tik/index.vue'))
 
 const componentMap = new Map<string, unknown>([
     ['listing', defineAsyncComponent(() => import('./components/listing/Index.vue'))],

+ 2 - 2
src/packages/mobile/views/goods/detail/components/listing/Index.vue

@@ -74,8 +74,8 @@ import { useAccountStore, useFuturesStore } from '@/stores'
 import { EPriceMode, EListingSelectType, EDelistingType, EBuildType, EValidType, EOrderOperateType } from '@/constants/client'
 import AppModal from '@/components/base/modal/index.vue'
 
-const Price = defineAsyncComponent(() => import('../../../../../components/modules/quote/price/index.vue'))
-const Forex = defineAsyncComponent(() => import('../../../../../components/modules/quote/forex/index.vue'))
+const Price = defineAsyncComponent(() => import('@mobile/components/modules/quote/price/index.vue'))
+const Forex = defineAsyncComponent(() => import('@mobile/components/modules/quote/forex/index.vue'))
 
 const props = defineProps({
     goodsCode: {

+ 2 - 2
src/packages/mobile/views/goods/list/Index.vue

@@ -68,10 +68,10 @@
 <script lang="ts" setup>
 import { onUnmounted, onActivated, watch } from 'vue'
 import { parsePercent, handleNumberValue, formatDecimal } from '@/filters'
-import { useNavigation } from '../../../router/navigation'
+import { useNavigation } from '@mobile/router/navigation'
 import { useFuturesStore } from '@/stores'
 import quoteSocket from '@/services/websocket/quote'
-import AppList from '../../../components/base/list/index.vue'
+import AppList from '@mobile/components/base/list/index.vue'
 
 const props = defineProps({
     marketId: {

+ 3 - 3
src/packages/mobile/views/goods/trade/index.vue

@@ -35,14 +35,14 @@
 <script lang="ts" setup>
 import { shallowRef, defineAsyncComponent, watch } from 'vue'
 import { showToast, Tabs, Tab, Button } from 'vant'
-import { useNavigation } from '../../../router/navigation'
+import { useNavigation } from '@mobile/router/navigation'
 import { useComponent } from '@/hooks/component'
 import { useRequest } from '@/hooks/request'
 import { BuyOrSell } from '@/constants/order'
 import { queryWrTradeOrderDetail } from '@/services/api/transfer'
 import { useLoginStore, useFuturesStore } from '@/stores'
-import AppList from '../../../components/base/list/index.vue'
-import AppPullRefresh from '../../../components/base/pull-refresh/index.vue'
+import AppList from '@mobile/components/base/list/index.vue'
+import AppPullRefresh from '@mobile/components/base/pull-refresh/index.vue'
 
 const componentMap = new Map<string, unknown>([
     ['delisting', defineAsyncComponent(() => import('./components/delisting/index.vue'))],

+ 4 - 4
src/packages/mobile/views/home/Index.vue

@@ -15,14 +15,14 @@
 <script lang="ts" setup>
 import { shallowRef, nextTick, watch, onMounted } from 'vue'
 import { fullloading, dialog } from '@/utils/vant'
-import { Tabbar } from '../../components/base/tabbar/types'
+import { Tabbar } from '@mobile/components/base/tabbar/types'
 import { getAppUpdateInfo } from '@/services/api/common'
-import { useNavigation } from '../../router/navigation'
+import { useNavigation } from '@mobile/router/navigation'
 import { useLogin } from '@/business/login'
 import { useLoginStore } from '@/stores'
 import plus from '@/utils/h5plus'
-import AppTabbar from '../../components/base/tabbar/index.vue'
-import RouterTransition from '../../components/base/router-transition/index.vue'
+import AppTabbar from '@mobile/components/base/tabbar/index.vue'
+import RouterTransition from '@mobile/components/base/router-transition/index.vue'
 
 const { route, routerTo, getGlobalUrlParams } = useNavigation()
 const { userLogin } = useLogin()

+ 3 - 3
src/packages/mobile/views/home/main/Index.vue

@@ -66,12 +66,12 @@
 import { shallowRef } from "vue";
 import { Cell, CellGroup, PullRefresh } from "vant";
 import { formatDate } from "@/filters";
-import { useNavigation } from '../../../router/navigation';
+import { useNavigation } from '@mobile/router/navigation';
 import { queryImageConfigs } from "@/services/api/common";
 import { queryNewTitles } from "@/services/api/news";
 import { useLoginStore, useGlobalStore } from '@/stores'
-import Banner from '../../../components/base/banner/index.vue'
-import Iconfont from '../../../components/base/iconfont/index.vue'
+import Banner from '@mobile/components/base/banner/index.vue'
+import Iconfont from '@mobile/components/base/iconfont/index.vue'
 
 const globalStore = useGlobalStore()
 const loginStore = useLoginStore();

+ 4 - 4
src/packages/mobile/views/market/detail/Index.vue

@@ -11,12 +11,12 @@
 
 <script lang="ts" setup>
 import { defineAsyncComponent } from 'vue'
-import { useNavigation } from '../../../router/navigation'
+import { useNavigation } from '@mobile/router/navigation'
 import { useFuturesStore } from '@/stores'
 
-const Price = defineAsyncComponent(() => import('../../../components/modules/quote/price/index.vue'))
-const Chart = defineAsyncComponent(() => import('../../../components/modules/quote/chart/index.vue'))
-const Tik = defineAsyncComponent(() => import('../../../components/modules/quote/tik/index.vue'))
+const Price = defineAsyncComponent(() => import('@mobile/components/modules/quote/price/index.vue'))
+const Chart = defineAsyncComponent(() => import('@mobile/components/modules/quote/chart/index.vue'))
+const Tik = defineAsyncComponent(() => import('@mobile/components/modules/quote/tik/index.vue'))
 
 const { getQueryString } = useNavigation()
 const goodsCode = getQueryString('goodscode')

+ 2 - 2
src/packages/mobile/views/market/list/Index.vue

@@ -43,10 +43,10 @@
 <script lang="ts" setup>
 import { onMounted, onUnmounted, computed } from 'vue'
 import { parsePercent, handleNumberValue, formatDecimal } from '@/filters'
-import { useNavigation } from '../../../router/navigation'
+import { useNavigation } from '@mobile/router/navigation'
 import { useFuturesStore } from '@/stores'
 import quoteSocket from '@/services/websocket/quote'
-import AppList from '../../../components/base/list/index.vue'
+import AppList from '@mobile/components/base/list/index.vue'
 
 const { router } = useNavigation()
 const futuresStore = useFuturesStore()

+ 2 - 2
src/packages/mobile/views/mine/Index.vue

@@ -121,13 +121,13 @@
 import { shallowRef, onActivated } from 'vue'
 import { Cell, CellGroup, Button, Icon } from 'vant'
 import { fullloading, dialog } from '@/utils/vant'
-import { useNavigation } from '../../router/navigation'
+import { useNavigation } from '@mobile/router/navigation'
 import { AuthStatus } from '@/constants/account'
 import { queryBankAccountSign } from '@/services/api/bank'
 import { queryUserAccount } from '@/services/api/account'
 import { useLoginStore, useAccountStore, useUserStore } from '@/stores'
 import eventBus from '@/services/bus'
-import Iconfont from '../../components/base/iconfont/index.vue'
+import Iconfont from '@mobile/components/base/iconfont/index.vue'
 
 const { router, routerTo } = useNavigation()
 const loginStore = useLoginStore()

+ 1 - 1
src/packages/mobile/views/mine/address/components/edit/Index.vue

@@ -44,7 +44,7 @@ import { useAddressForm } from '@/business/user'
 import AppModal from '@/components/base/modal/index.vue'
 
 // 地区选择
-const AppRegion = defineAsyncComponent(() => import('../../../../../components/base/region/index.vue'))
+const AppRegion = defineAsyncComponent(() => import('@mobile/components/base/region/index.vue'))
 
 const props = defineProps({
     selectedRow: {

+ 1 - 1
src/packages/mobile/views/mine/invoice/components/edit/Index.vue

@@ -50,7 +50,7 @@ import { ReceiptType, getReceiptTypeList } from '@/constants/receipt'
 import { validateRules } from '@/constants/regex'
 import { useInvoiceForm } from '@/business/user'
 import AppModal from '@/components/base/modal/index.vue'
-import AppSelect from '../../../../../components/base/select/index.vue'
+import AppSelect from '@mobile/components/base/select/index.vue'
 
 const props = defineProps({
     selectedRow: {

+ 1 - 1
src/packages/mobile/views/mine/setting/Index.vue

@@ -22,5 +22,5 @@
 
 <script lang="ts" setup>
 import { Cell, CellGroup } from 'vant'
-import AppIconfont from '../../../components/base/iconfont/index.vue'
+import AppIconfont from '@mobile/components/base/iconfont/index.vue'
 </script>

+ 2 - 2
src/packages/mobile/views/news/detail/Index.vue

@@ -40,11 +40,11 @@
 <script lang="ts" setup>
 import { CellGroup, Cell, Divider, showFailToast, showToast, Icon } from 'vant'
 import { formatDate, getFileUrl, getNewsShareUrl, formatHtmlString } from '@/filters'
-import { useNavigation } from '../../../router/navigation'
+import { useNavigation } from '@mobile/router/navigation'
 import { useRequest } from '@/hooks/request'
 import { queryNewTitles, queryNewContents } from '@/services/api/news'
 import plus from '@/utils/h5plus'
-import HtmlContainer from '../../../components/base/html-container/index.vue'
+import HtmlContainer from '@mobile/components/base/html-container/index.vue'
 
 const { getQueryString } = useNavigation()
 const newsId = getQueryString('id')

+ 1 - 1
src/packages/mobile/views/news/list/Index.vue

@@ -25,7 +25,7 @@ import { Cell, Tab, Tabs, Empty } from 'vant'
 import { formatDate } from '@/filters'
 import { useRequest } from '@/hooks/request'
 import { querySiteColumnDetail, querySiteColumnConfig } from '@/services/api/news'
-import AppPullRefresh from '../../../components/base/pull-refresh/index.vue'
+import AppPullRefresh from '@mobile/components/base/pull-refresh/index.vue'
 
 const pullRefreshRef = shallowRef()
 const dataList = shallowRef<Model.SiteColumnDetailRsp[]>([])

+ 1 - 1
src/packages/mobile/views/notice/list/components/detail/index.vue

@@ -20,7 +20,7 @@ import { shallowRef, PropType, onMounted } from 'vue'
 import { formatDate, formatHtmlString } from '@/filters'
 import { postNoticeReaded } from '@/services/api/common'
 import AppModal from '@/components/base/modal/index.vue'
-import HtmlContainer from '../../../../../components/base/html-container/index.vue'
+import HtmlContainer from '@mobile/components/base/html-container/index.vue'
 
 const props = defineProps({
     selectedRow: {

+ 1 - 1
src/packages/mobile/views/notice/list/index.vue

@@ -34,7 +34,7 @@ import { formatDate } from '@/filters'
 import { useComponent } from '@/hooks/component'
 import { useRequest } from '@/hooks/request'
 import { queryNotice } from '@/services/api/common'
-import AppPullRefresh from '../../../components/base/pull-refresh/index.vue'
+import AppPullRefresh from '@mobile/components/base/pull-refresh/index.vue'
 
 const componentMap = new Map<string, unknown>([
     ['detail', defineAsyncComponent(() => import('./components/detail/index.vue'))],

+ 1 - 1
src/packages/mobile/views/order/delivery/components/offline/list/Index.vue

@@ -57,7 +57,7 @@ import { formatDate } from '@/filters'
 import { useComponent } from '@/hooks/component'
 import { useRequest } from '@/hooks/request'
 import { queryMineTradeGoodsDeliveryOfflines } from '@/services/api/transfer'
-import AppPullRefresh from '../../../../../../components/base/pull-refresh/index.vue'
+import AppPullRefresh from '@mobile/components/base/pull-refresh/index.vue'
 
 const componentMap = new Map<string, unknown>([
     ['detail', defineAsyncComponent(() => import('../detail/Index.vue'))],

+ 1 - 1
src/packages/mobile/views/order/delivery/components/online/list/Index.vue

@@ -53,7 +53,7 @@ import { formatDate } from '@/filters'
 import { useComponent } from '@/hooks/component'
 import { useRequest } from '@/hooks/request'
 import { queryWrDeliveryDetail } from '@/services/api/transfer'
-import AppPullRefresh from '../../../../../../components/base/pull-refresh/index.vue'
+import AppPullRefresh from '@mobile/components/base/pull-refresh/index.vue'
 
 const componentMap = new Map<string, unknown>([
     ['detail', defineAsyncComponent(() => import('../detail/Index.vue'))],

+ 1 - 1
src/packages/mobile/views/order/delivery/components/spot/list/Index.vue

@@ -47,7 +47,7 @@ import { useComponent } from '@/hooks/component'
 import { useRequest } from '@/hooks/request'
 import { getApplyStatusName } from '@/constants/order'
 import { queryWrOutInApply } from '@/services/api/order'
-import AppPullRefresh from '../../../../../../components/base/pull-refresh/index.vue'
+import AppPullRefresh from '@mobile/components/base/pull-refresh/index.vue'
 
 const componentMap = new Map<string, unknown>([
     ['detail', defineAsyncComponent(() => import('../detail/Index.vue'))],

+ 1 - 1
src/packages/mobile/views/order/list/components/goodsorder/history/Index.vue

@@ -69,7 +69,7 @@ import { useComponent } from '@/hooks/component'
 import { Button, Calendar, Cell } from 'vant'
 import moment from 'moment'
 import AppModal from '@/components/base/modal/index.vue'
-import AppPullRefresh from '../../../../../../components/base/pull-refresh/index.vue'
+import AppPullRefresh from '@mobile/components/base/pull-refresh/index.vue'
 
 const dataList = shallowRef<Model.HisTradeOrderDetailRsp[]>([])
 const showModal = shallowRef(true)

+ 1 - 1
src/packages/mobile/views/order/list/components/goodsorder/list/Index.vue

@@ -60,7 +60,7 @@ import { useCancelOrder } from '@/business/trade'
 import { dialog } from '@/utils/vant'
 import { fullloading } from '@/utils/vant'
 
-import AppPullRefresh from '../../../../../../components/base/pull-refresh/index.vue'
+import AppPullRefresh from '@mobile/components/base/pull-refresh/index.vue'
 
 const componentMap = new Map<string, unknown>([
     ['detail', defineAsyncComponent(() => import('../detail/Index.vue'))]

+ 1 - 1
src/packages/mobile/views/order/list/components/goodstrade/history/Index.vue

@@ -74,7 +74,7 @@ import { useComponent } from '@/hooks/component'
 import { Button, Calendar, Cell } from 'vant'
 import moment from 'moment'
 import AppModal from '@/components/base/modal/index.vue'
-import AppPullRefresh from '../../../../../../components/base/pull-refresh/index.vue'
+import AppPullRefresh from '@mobile/components/base/pull-refresh/index.vue'
 
 const dataList = shallowRef<Model.HisTradeDetailRsp[]>([])
 const showModal = shallowRef(true)

+ 1 - 1
src/packages/mobile/views/order/list/components/goodstrade/list/Index.vue

@@ -56,7 +56,7 @@ import { Button } from 'vant'
 import { useComponent } from '@/hooks/component'
 import { useRequest } from '@/hooks/request'
 import { queryTradeDetail } from '@/services/api/order'
-import AppPullRefresh from '../../../../../../components/base/pull-refresh/index.vue'
+import AppPullRefresh from '@mobile/components/base/pull-refresh/index.vue'
 import { getBuyOrSellName, getBuildTypeName } from '@/constants/order'
 import { formatDate, formatDecimal } from '@/filters'
 

+ 1 - 1
src/packages/mobile/views/order/list/components/listingorder/history/Index.vue

@@ -70,7 +70,7 @@ import { useComponent } from '@/hooks/component'
 import { Button, Calendar, Cell } from 'vant'
 import moment from 'moment'
 import AppModal from '@/components/base/modal/index.vue'
-import AppPullRefresh from '../../../../../../components/base/pull-refresh/index.vue'
+import AppPullRefresh from '@mobile/components/base/pull-refresh/index.vue'
 
 const dataList = shallowRef<Model.WrOrderDetailRsp[]>([])
 const showModal = shallowRef(true)

+ 1 - 1
src/packages/mobile/views/order/list/components/listingorder/list/Index.vue

@@ -60,7 +60,7 @@ import { formatDate, formatDecimal } from '@/filters'
 import { useWrListingCancelOrder } from '@/business/trade'
 import { dialog } from '@/utils/vant'
 import { fullloading } from '@/utils/vant'
-import AppPullRefresh from '../../../../../../components/base/pull-refresh/index.vue'
+import AppPullRefresh from '@mobile/components/base/pull-refresh/index.vue'
 
 const componentMap = new Map<string, unknown>([
     ['detail', defineAsyncComponent(() => import('../detail/Index.vue'))]

+ 1 - 1
src/packages/mobile/views/order/list/components/listingtrade/history/Index.vue

@@ -67,7 +67,7 @@ import { useComponent } from '@/hooks/component'
 import { Button, Calendar, Cell } from 'vant'
 import moment from 'moment'
 import AppModal from '@/components/base/modal/index.vue'
-import AppPullRefresh from '../../../../../../components/base/pull-refresh/index.vue'
+import AppPullRefresh from '@mobile/components/base/pull-refresh/index.vue'
 
 const dataList = shallowRef<Model.WrTradeDetailRsp[]>([])
 const showModal = shallowRef(true)

+ 1 - 1
src/packages/mobile/views/order/list/components/listingtrade/list/Index.vue

@@ -49,7 +49,7 @@ import { Button } from 'vant'
 import { useComponent } from '@/hooks/component'
 import { useRequest } from '@/hooks/request'
 import { queryWrTradeDetail } from '@/services/api/order'
-import AppPullRefresh from '../../../../../../components/base/pull-refresh/index.vue'
+import AppPullRefresh from '@mobile/components/base/pull-refresh/index.vue'
 import { getBuyOrSellName } from '@/constants/order'
 import { formatDate, formatDecimal } from '@/filters'
 

+ 1 - 1
src/packages/mobile/views/order/list/components/presale/history/index.vue

@@ -85,7 +85,7 @@ import { useComponent } from '@/hooks/component'
 import { Button, Calendar, Cell } from 'vant'
 import moment from 'moment'
 import AppModal from '@/components/base/modal/index.vue'
-import AppPullRefresh from '../../../../../../components/base/pull-refresh/index.vue'
+import AppPullRefresh from '@mobile/components/base/pull-refresh/index.vue'
 
 const componentMap = new Map<string, unknown>([
     ['detail', defineAsyncComponent(() => import('../detail/Index.vue'))],

+ 1 - 1
src/packages/mobile/views/order/list/components/presale/list/Index.vue

@@ -69,7 +69,7 @@ import { formatDate, handleNumberValue, parsePercent, formatDecimal } from '@/fi
 import { useComponent } from '@/hooks/component'
 import { useRequest } from '@/hooks/request'
 import { queryMineTradeOrderDetails } from '@/services/api/presale'
-import AppPullRefresh from '../../../../../../components/base/pull-refresh/index.vue'
+import AppPullRefresh from '@mobile/components/base/pull-refresh/index.vue'
 import { getOrderStatusName } from '@/constants/order'
 
 const componentMap = new Map<string, unknown>([

+ 1 - 1
src/packages/mobile/views/order/list/components/pricingorder/list/Index.vue

@@ -60,7 +60,7 @@ import { useCancelOrder } from '@/business/trade'
 import { dialog } from '@/utils/vant'
 import { fullloading } from '@/utils/vant'
 
-import AppPullRefresh from '../../../../../../components/base/pull-refresh/index.vue'
+import AppPullRefresh from '@mobile/components/base/pull-refresh/index.vue'
 
 const componentMap = new Map<string, unknown>([
     ['detail', defineAsyncComponent(() => import('../detail/Index.vue'))]

+ 1 - 1
src/packages/mobile/views/order/list/components/pricingtrade/list/Index.vue

@@ -53,7 +53,7 @@ import { Button } from 'vant'
 import { useComponent } from '@/hooks/component'
 import { useRequest } from '@/hooks/request'
 import { queryTradeDetail } from '@/services/api/order'
-import AppPullRefresh from '../../../../../../components/base/pull-refresh/index.vue'
+import AppPullRefresh from '@mobile/components/base/pull-refresh/index.vue'
 import { getBuyOrSellName, getBuildTypeName } from '@/constants/order'
 import { formatDate, formatDecimal } from '@/filters'
 

+ 1 - 1
src/packages/mobile/views/order/list/components/swaporder/history/Index.vue

@@ -69,7 +69,7 @@ import { useComponent } from '@/hooks/component'
 import { Button, Calendar, Cell } from 'vant'
 import moment from 'moment'
 import AppModal from '@/components/base/modal/index.vue'
-import AppPullRefresh from '../../../../../../components/base/pull-refresh/index.vue'
+import AppPullRefresh from '@mobile/components/base/pull-refresh/index.vue'
 
 const dataList = shallowRef<Model.HisTradeOrderDetailRsp[]>([])
 const showModal = shallowRef(true)

+ 1 - 1
src/packages/mobile/views/order/list/components/swaporder/list/Index.vue

@@ -60,7 +60,7 @@ import { useCancelOrder } from '@/business/trade'
 import { dialog } from '@/utils/vant'
 import { fullloading } from '@/utils/vant'
 
-import AppPullRefresh from '../../../../../../components/base/pull-refresh/index.vue'
+import AppPullRefresh from '@mobile/components/base/pull-refresh/index.vue'
 
 const componentMap = new Map<string, unknown>([
     ['detail', defineAsyncComponent(() => import('../detail/Index.vue'))]

+ 1 - 1
src/packages/mobile/views/order/list/components/swaptrade/history/Index.vue

@@ -71,7 +71,7 @@ import { useComponent } from '@/hooks/component'
 import { Button, Calendar, Cell } from 'vant'
 import moment from 'moment'
 import AppModal from '@/components/base/modal/index.vue'
-import AppPullRefresh from '../../../../../../components/base/pull-refresh/index.vue'
+import AppPullRefresh from '@mobile/components/base/pull-refresh/index.vue'
 
 const dataList = shallowRef<Model.HisTradeDetailRsp[]>([])
 const showModal = shallowRef(true)

+ 1 - 1
src/packages/mobile/views/order/list/components/swaptrade/list/Index.vue

@@ -53,7 +53,7 @@ import { Button } from 'vant'
 import { useComponent } from '@/hooks/component'
 import { useRequest } from '@/hooks/request'
 import { queryTradeDetail } from '@/services/api/order'
-import AppPullRefresh from '../../../../../../components/base/pull-refresh/index.vue'
+import AppPullRefresh from '@mobile/components/base/pull-refresh/index.vue'
 import { getBuyOrSellName, getBuildTypeName } from '@/constants/order'
 import { formatDate, formatDecimal } from '@/filters'
 

+ 1 - 1
src/packages/mobile/views/order/list/components/transferorder/history/index.vue

@@ -64,7 +64,7 @@ import { useComponent } from '@/hooks/component'
 import { Button, Calendar, Cell } from 'vant'
 import moment from 'moment'
 import AppModal from '@/components/base/modal/index.vue'
-import AppPullRefresh from '../../../../../../components/base/pull-refresh/index.vue'
+import AppPullRefresh from '@mobile/components/base/pull-refresh/index.vue'
 
 const componentMap = new Map<string, unknown>([
     ['detail', defineAsyncComponent(() => import('../detail/Index.vue'))],

+ 1 - 1
src/packages/mobile/views/order/list/components/transferorder/list/Index.vue

@@ -52,7 +52,7 @@ import { useRequest } from '@/hooks/request'
 import { EOperateType } from '@/constants/client'
 import { queryMineTradeOrders } from '@/services/api/transfer'
 import { useCancelOrder } from '@/business/trade'
-import AppPullRefresh from '../../../../../../components/base/pull-refresh/index.vue'
+import AppPullRefresh from '@mobile/components/base/pull-refresh/index.vue'
 import { getOrderStatusName } from '@/constants/order'
 
 const componentMap = new Map<string, unknown>([

+ 1 - 1
src/packages/mobile/views/order/list/components/transfertrade/history/index.vue

@@ -69,7 +69,7 @@ import { useComponent } from '@/hooks/component'
 import { Button, Calendar, Cell } from 'vant'
 import moment from 'moment'
 import AppModal from '@/components/base/modal/index.vue'
-import AppPullRefresh from '../../../../../../components/base/pull-refresh/index.vue'
+import AppPullRefresh from '@mobile/components/base/pull-refresh/index.vue'
 
 const componentMap = new Map<string, unknown>([
     ['detail', defineAsyncComponent(() => import('../detail/Index.vue'))],

+ 1 - 1
src/packages/mobile/views/order/list/components/transfertrade/list/Index.vue

@@ -53,7 +53,7 @@ import { formatDate, handleNumberValue } from '@/filters'
 import { useComponent } from '@/hooks/component'
 import { useRequest } from '@/hooks/request'
 import { queryMineTradeTradeDetails } from '@/services/api/transfer'
-import AppPullRefresh from '../../../../../../components/base/pull-refresh/index.vue'
+import AppPullRefresh from '@mobile/components/base/pull-refresh/index.vue'
 import { getBuyOrSellName } from '@/constants/order'
 
 const componentMap = new Map<string, unknown>([

+ 1 - 1
src/packages/mobile/views/order/performance/Index.vue

@@ -82,7 +82,7 @@ import { queryPerformancePlan } from '@/services/api/performance'
 import { formatDate, handleNoneValue } from '@/filters'
 import { getPerformanceStatusName, getPerformanceTypeName } from '@/constants/order'
 
-import AppPullRefresh from '../../../components/base/pull-refresh/index.vue'
+import AppPullRefresh from '@mobile/components/base/pull-refresh/index.vue'
 
 const componentMap = new Map<string, unknown>([
     ['detail', defineAsyncComponent(() => import('./components/detail/Index.vue'))], // 详情

+ 5 - 4
src/packages/mobile/views/order/performance/components/breach/Index.vue

@@ -9,9 +9,10 @@
                 <CellGroup title="履约信息">
                     <Cell title="履约单号" :value="selectedRow.performanceplanid" />
                     <Cell title="当前步骤" :value="selectedRow.curstepname" />
-                    <Field name="ApplyRemark" label="备注" v-model="formData.ApplyRemark" maxlength="50" type="textarea" rows="2" autosize show-word-limit placeholder="请输入备注"
-                        :rules="formRules.ApplyRemark" />
-                    <Field name="Attachment" label="附件" :rules="formRules.Attachment" is-link @click-input="onUploadSuccess">
+                    <Field name="ApplyRemark" label="备注" v-model="formData.ApplyRemark" maxlength="50" type="textarea"
+                        rows="2" autosize show-word-limit placeholder="请输入备注" :rules="formRules.ApplyRemark" />
+                    <Field name="Attachment" label="附件" :rules="formRules.Attachment" is-link
+                        @click-input="onUploadSuccess">
                         <template #input>
                             <app-uploader @success="onUploadSuccess" />
                         </template>
@@ -31,7 +32,7 @@ import { CellGroup, Cell, Button, Field, Form, FormInstance, FieldRule } from 'v
 import { dialog, fullloading } from '@/utils/vant'
 import { usePerformanceContractedApply } from '@/business/performance'
 
-import AppUploader from '../../../../../components/base/uploader/index.vue'
+import AppUploader from '@mobile/components/base/uploader/index.vue'
 import AppModal from '@/components/base/modal/index.vue'
 
 const showModal = shallowRef(true)

+ 8 - 6
src/packages/mobile/views/order/performance/components/modify/Index.vue

@@ -9,10 +9,12 @@
                 <CellGroup title="履约信息">
                     <Field name="Contract" label="联络信息" type="textarea" autosize :maxlength="50" v-model="Contract"
                         placeholder="请输入联络信息" :rules="formRules.Contract" />
-                    <Field name="Receive" v-if="selectedRow.buyorsell === 0" label="收货地址" type="textarea" autosize v-model="Receive" :rules="formRules.Receive"
-                        placeholder="请输入收货地址" right-icon="add-o" @click-right-icon="showContact = true" />
-                    <Field name="Receipt" v-if="selectedRow.buyorsell === 0" label="发票信息" type="textarea" autosize v-model="Receipt" placeholder="必填"
-                        :rules="formRules.Receipt" right-icon="add-o" @click-right-icon="showReceipt = true" />
+                    <Field name="Receive" v-if="selectedRow.buyorsell === 0" label="收货地址" type="textarea" autosize
+                        v-model="Receive" :rules="formRules.Receive" placeholder="请输入收货地址" right-icon="add-o"
+                        @click-right-icon="showContact = true" />
+                    <Field name="Receipt" v-if="selectedRow.buyorsell === 0" label="发票信息" type="textarea" autosize
+                        v-model="Receipt" placeholder="必填" :rules="formRules.Receipt" right-icon="add-o"
+                        @click-right-icon="showReceipt = true" />
                 </CellGroup>
             </Form>
             <template #footer>
@@ -31,8 +33,8 @@ import { dialog, fullloading } from '@/utils/vant'
 import { usePerformanceModifyContact } from '@/business/performance'
 
 import AppModal from '@/components/base/modal/index.vue'
-import AppContact from '../../../../../components/modules/contact/index.vue'
-import AppReceipt from '../../../../../components/modules/receipt/index.vue'
+import AppContact from '@mobile/components/modules/contact/index.vue'
+import AppReceipt from '@mobile/components/modules/receipt/index.vue'
 import { getReceiptTypeName } from '@/constants/receipt'
 
 const showModal = shallowRef(true)

+ 1 - 1
src/packages/mobile/views/order/position/components/goods/delivery16/index.vue

@@ -12,7 +12,7 @@
 <script lang="ts" setup>
 import { shallowRef, PropType } from 'vue'
 import { Cell } from 'vant'
-import Delivery from '../../../../../../components/modules/delivery/index.vue'
+import Delivery from '@mobile/components/modules/delivery/index.vue'
 
 defineProps({
     selectedRow: {

+ 1 - 1
src/packages/mobile/views/order/position/components/goods/list/Index.vue

@@ -59,7 +59,7 @@
 import { shallowRef, defineAsyncComponent } from 'vue'
 import { Button } from 'vant'
 import { useComponent } from '@/hooks/component'
-import AppPullRefresh from '../../../../../../components/base/pull-refresh/index.vue'
+import AppPullRefresh from '@mobile/components/base/pull-refresh/index.vue'
 import { getBuyOrSellName } from '@/constants/order'
 import { formatDecimal, handleNumberValue } from '@/filters'
 import { usePosition } from '@/business/position'

+ 1 - 1
src/packages/mobile/views/order/position/components/presale/list/Index.vue

@@ -70,7 +70,7 @@ import { PayStatus, getPayStatusName } from '@/constants/order'
 import { useRequest } from '@/hooks/request'
 import { queryMineCpTradePreSaleResults } from '@/services/api/presale'
 import { makeUpDeposit } from '@/services/api/trade'
-import AppPullRefresh from '../../../../../../components/base/pull-refresh/index.vue'
+import AppPullRefresh from '@mobile/components/base/pull-refresh/index.vue'
 
 const componentMap = new Map<string, unknown>([
     ['detail', defineAsyncComponent(() => import('../detail/Index.vue'))],

+ 2 - 2
src/packages/mobile/views/order/position/components/pricing/list/Index.vue

@@ -56,10 +56,10 @@
 import { shallowRef } from 'vue'
 import { Button } from 'vant'
 import { useComponent } from '@/hooks/component'
-import AppPullRefresh from '../../../../../../components/base/pull-refresh/index.vue'
+import AppPullRefresh from '@mobile/components/base/pull-refresh/index.vue'
 import { getBuyOrSellName } from '@/constants/order'
 import { formatDecimal } from '@/filters'
-import { useNavigation } from '../../../../../../router/navigation'
+import { useNavigation } from '@mobile/router/navigation'
 import { BuyOrSell, BuildType } from '@/constants/order'
 import { usePosition } from '@/business/position'
 import eventBus from '@/services/bus'

+ 1 - 1
src/packages/mobile/views/order/position/components/spot/list/Index.vue

@@ -43,7 +43,7 @@ import { Button } from 'vant'
 import { useComponent } from '@/hooks/component'
 import { useRequest } from '@/hooks/request'
 import { queryHoldLB } from '@/services/api/order'
-import AppPullRefresh from '../../../../../../components/base/pull-refresh/index.vue'
+import AppPullRefresh from '@mobile/components/base/pull-refresh/index.vue'
 
 const componentMap = new Map<string, unknown>([
     ['listing', defineAsyncComponent(() => import('../listing/Index.vue'))],

+ 1 - 1
src/packages/mobile/views/order/position/components/spot/listing/Index.vue

@@ -46,7 +46,7 @@ import { fullloading } from '@/utils/vant'
 import { useHdWROrder } from '@/business/trade'
 import AppModal from '@/components/base/modal/index.vue'
 
-const Performance = defineAsyncComponent(() => import('../../../../../../components/modules/performance/index.vue'))
+const Performance = defineAsyncComponent(() => import('@mobile/components/modules/performance/index.vue'))
 
 const props = defineProps({
     selectedRow: {

+ 4 - 4
src/packages/mobile/views/order/position/components/spot/pickup/Index.vue

@@ -66,12 +66,12 @@ import { getAppointmentModelOutList } from '@/constants/order'
 import { useWrOutInApply } from '@/business/trade'
 
 import AppModal from '@/components/base/modal/index.vue'
-import AppSelect from '../../../../../../components/base/select/index.vue'
-import AppContact from '../../../../../../components/modules/contact/index.vue'
-import AppReceipt from '../../../../../../components/modules/receipt/index.vue'
+import AppSelect from '@mobile/components/base/select/index.vue'
+import AppContact from '@mobile/components/modules/contact/index.vue'
+import AppReceipt from '@mobile/components/modules/receipt/index.vue'
 
 // 地区选择
-const AppRegion = defineAsyncComponent(() => import('../../../../../../components/base/region/index.vue'))
+const AppRegion = defineAsyncComponent(() => import('@mobile/components/base/region/index.vue'))
 
 const props = defineProps({
     selectedRow: {

+ 1 - 1
src/packages/mobile/views/order/position/components/swap/close/Index.vue

@@ -73,7 +73,7 @@ import { useFuturesStore } from '@/stores'
 
 import quoteSocket from '@/services/websocket/quote'
 import AppModal from '@/components/base/modal/index.vue'
-import AppPullRefresh from '../../../../../../components/base/pull-refresh/index.vue'
+import AppPullRefresh from '@mobile/components/base/pull-refresh/index.vue'
 
 const futuresStore = useFuturesStore()
 const dataList = shallowRef<Model.TradeHolderDetailRsp[]>([])

+ 1 - 1
src/packages/mobile/views/order/position/components/swap/list/Index.vue

@@ -58,7 +58,7 @@
 import { shallowRef, defineAsyncComponent } from 'vue'
 import { Button } from 'vant'
 import { useComponent } from '@/hooks/component'
-import AppPullRefresh from '../../../../../../components/base/pull-refresh/index.vue'
+import AppPullRefresh from '@mobile/components/base/pull-refresh/index.vue'
 import { getBuyOrSellName } from '@/constants/order'
 import { formatDecimal, handleNumberValue, handlePriceColor } from '@/filters'
 import { usePosition } from '@/business/position'

+ 1 - 1
src/packages/mobile/views/order/position/components/transfer/delivery/Index.vue

@@ -29,7 +29,7 @@
 <script lang="ts" setup>
 import { shallowRef, PropType, computed } from 'vue'
 import { Cell, Field } from 'vant'
-import Delivery from '../../../../../../components/modules/delivery/index.vue'
+import Delivery from '@mobile/components/modules/delivery/index.vue'
 
 const props = defineProps({
     selectedRow: {

+ 1 - 1
src/packages/mobile/views/order/position/components/transfer/list/Index.vue

@@ -74,7 +74,7 @@ import { useRequest } from '@/hooks/request'
 import { queryMineTradePositionExs } from '@/services/api/transfer'
 import { holdAppendDeposit } from '@/services/api/trade'
 import { PayStatus, getPayStatusName } from '@/constants/order'
-import AppPullRefresh from '../../../../../../components/base/pull-refresh/index.vue'
+import AppPullRefresh from '@mobile/components/base/pull-refresh/index.vue'
 
 const componentMap = new Map<string, unknown>([
     ['detail', defineAsyncComponent(() => import('../detail/Index.vue'))], // 详情

+ 2 - 2
src/packages/mobile/views/presale/detail/Index.vue

@@ -64,8 +64,8 @@ import { computed, defineAsyncComponent } from 'vue'
 import { Tag } from 'vant'
 import { getFileUrl, parsePercent } from '@/filters'
 import { useComponent } from '@/hooks/component'
-import { useNavigation } from '../../../router/navigation'
-import Banner from '../../../components/base/banner/index.vue'
+import { useNavigation } from '@mobile/router/navigation'
+import Banner from '@mobile/components/base/banner/index.vue'
 
 const componentMap = new Map<string, unknown>([
     ['delisting', defineAsyncComponent(() => import('./components/delisting/index.vue'))], // 摘牌

+ 2 - 2
src/packages/mobile/views/presale/detail/components/delisting/index.vue

@@ -42,10 +42,10 @@ import { fullloading, dialog } from '@/utils/vant'
 import { parsePercent } from '@/filters'
 import { useAccountStore } from '@/stores'
 import { useOrder } from '@/business/trade'
-import AppPopup from '../../../../../components/base/popup/index.vue'
+import AppPopup from '@mobile/components/base/popup/index.vue'
 import { BuyOrSell } from '@/constants/order'
 import { EPriceMode, EValidType } from '@/constants/client'
-//import AppSelect from '../../../../../components/base/select/index.vue'
+//import AppSelect from '@mobile/components/base/select/index.vue'
 
 const props = defineProps({
     detail: {

+ 3 - 3
src/packages/mobile/views/presale/list/Index.vue

@@ -82,11 +82,11 @@
 import { shallowRef } from 'vue'
 import { Tag, Divider, Icon } from 'vant'
 import { formatDate, getFileUrl, getFirstImage } from '@/filters'
-import { useNavigation } from '../../../router/navigation'
+import { useNavigation } from '@mobile/router/navigation'
 import { useRequest } from '@/hooks/request'
 import { queryPresaleAuctions } from '@/services/api/presale'
-import Banner from '../../../components/base/banner/index.vue'
-import Waterfall from '../../../components/base/waterfall/index.vue'
+import Banner from '@mobile/components/base/banner/index.vue'
+import Waterfall from '@mobile/components/base/waterfall/index.vue'
 
 const isWaterfall = shallowRef(false)
 const { router } = useNavigation()

+ 1 - 1
src/packages/mobile/views/pricing/detail/Index.vue

@@ -145,7 +145,7 @@
 
 <script lang="ts" setup>
 import { useFuturesStore } from '@/stores'
-import { useNavigation } from '../../../router/navigation'
+import { useNavigation } from '@mobile/router/navigation'
 import { parsePercent, handleNumberValue } from '@/filters'
 import quoteSocket from '@/services/websocket/quote'
 import { shallowRef, onMounted, onUnmounted, computed } from 'vue'

+ 2 - 2
src/packages/mobile/views/pricing/list/Index.vue

@@ -44,12 +44,12 @@
 
 import { computed, onUnmounted } from 'vue'
 import { parsePercent, handleNumberValue } from '@/filters'
-import { useNavigation } from '../../../router/navigation'
+import { useNavigation } from '@mobile/router/navigation'
 import { useRequest } from '@/hooks/request'
 import { queryQuoteGoodsList } from '@/services/api/swap'
 import { useFuturesStore, useUserStore } from '@/stores'
 import quoteSocket from '@/services/websocket/quote'
-import AppList from '../../../components/base/list/index.vue'
+import AppList from '@mobile/components/base/list/index.vue'
 import { BuyOrSell, BuildType } from '@/constants/order'
 
 const { router } = useNavigation()

+ 0 - 15
src/packages/mobile/views/rules/buyrule/Index.vue

@@ -1,15 +0,0 @@
-<template>
-  <app-view>
-    <template #header>
-      <app-navbar title="买方规则" />
-    </template>
-    <component :is="asyncComponent" :url="getHtmlFileUrl('mjgz_b.htm')" />
-  </app-view>
-</template>
-
-<script lang="ts" setup>
-import { defineAsyncComponent } from 'vue'
-import { getHtmlFileUrl } from '@/filters'
-
-const asyncComponent = defineAsyncComponent(() => import('../../../components/base/html-panel/index.vue'))
-</script>

+ 0 - 38
src/packages/mobile/views/rules/ccwl/Index.vue

@@ -1,38 +0,0 @@
-<template>
-    <app-view class="rules">
-        <template #header>
-            <app-navbar title="仓储物流" />
-        </template>
-        <Tabs>
-            <Tab title="运输委托">
-                <div style="padding: .2rem;">
-                    <div style="text-align: center;background-color: #fff;padding: 1rem 0;">
-                        <h4 style="margin-bottom: .32rem;">运输委托模版.docx</h4>
-                        <Button type="primary" style="width: 50%;" round @click="download">下载文档</Button>
-                    </div>
-                </div>
-            </Tab>
-            <Tab title="仓储服务">
-                <component :is="asyncComponent" :url="getHtmlFileUrl('ccfw.htm')" />
-            </Tab>
-        </Tabs>
-    </app-view>
-</template>
-
-<script lang="ts" setup>
-import { Tab, Tabs, Button } from 'vant'
-import { defineAsyncComponent } from 'vue'
-import { getHtmlFileUrl } from '@/filters'
-import plus from '@/utils/h5plus'
-
-const asyncComponent = defineAsyncComponent(() => import('../../../components/base/html-panel/index.vue'))
-
-const download = () => {
-    const url = getHtmlFileUrl('yswtmb.docx')
-    plus.openURL(url)
-}
-</script>
-
-<style lang="less">
-@import './index.less';
-</style>

+ 0 - 15
src/packages/mobile/views/rules/ccwl/index.less

@@ -1,15 +0,0 @@
-.rules{
-    .van-tabs{
-        display: flex;
-        flex-direction: column;
-        height: 100%;
-
-        &__content{
-            flex: 1;
-        }
-
-        .van-tab__panel{
-            height: 100%;
-        }
-    }
-}

+ 0 - 24
src/packages/mobile/views/rules/cght/Index.vue

@@ -1,24 +0,0 @@
-<template>
-  <app-view>
-    <template #header>
-      <app-navbar title="采购合同" />
-    </template>
-    <div style="padding: .2rem;">
-      <div style="text-align: center;background-color: #fff;padding: 1rem 0;">
-        <h4 style="margin-bottom: .32rem;">产能预售合同.docx</h4>
-        <Button type="primary" style="width: 50%;" round @click="download">下载文档</Button>
-      </div>
-    </div>
-  </app-view>
-</template>
-
-<script lang="ts" setup>
-import { Button } from 'vant'
-import service from '@/services'
-import plus from '@/utils/h5plus'
-
-const download = () => {
-  const url = service.getConfig('mobileOpenUrl')
-  plus.openURL(url + '/html/ht_cg.docx')
-}
-</script>

+ 0 - 15
src/packages/mobile/views/rules/djgz/Index.vue

@@ -1,15 +0,0 @@
-<template>
-  <app-view>
-    <template #header>
-      <app-navbar title="点价规则" />
-    </template>
-    <component :is="asyncComponent" :url="getHtmlFileUrl('djgz.htm')" />
-  </app-view>
-</template>
-
-<script lang="ts" setup>
-import { defineAsyncComponent } from 'vue'
-import { getHtmlFileUrl } from '@/filters'
-
-const asyncComponent = defineAsyncComponent(() => import('../../../components/base/html-panel/index.vue'))
-</script>

+ 0 - 15
src/packages/mobile/views/rules/fpsm/Index.vue

@@ -1,15 +0,0 @@
-<template>
-    <app-view>
-        <template #header>
-            <app-navbar title="发票说明" />
-        </template>
-        <component :is="asyncComponent" :url="getHtmlFileUrl('fpsm.htm')" />
-    </app-view>
-</template>
-
-<script lang="ts" setup>
-import { defineAsyncComponent } from 'vue'
-import { getHtmlFileUrl } from '@/filters'
-
-const asyncComponent = defineAsyncComponent(() => import('../../../components/base/html-panel/index.vue'))
-</script>

+ 1 - 1
src/packages/mobile/views/rules/fwrx/Index.vue

@@ -11,5 +11,5 @@
 import { defineAsyncComponent } from 'vue'
 import { getHtmlFileUrl } from '@/filters'
 
-const asyncComponent = defineAsyncComponent(() => import('../../../components/base/html-panel/index.vue'))
+const asyncComponent = defineAsyncComponent(() => import('@mobile/components/base/html-panel/index.vue'))
 </script>

+ 1 - 1
src/packages/mobile/views/rules/fxgzs/Index.vue

@@ -11,5 +11,5 @@
 import { defineAsyncComponent } from 'vue'
 import { getHtmlFileUrl } from '@/filters'
 
-const asyncComponent = defineAsyncComponent(() => import('../../../components/base/html-panel/index.vue'))
+const asyncComponent = defineAsyncComponent(() => import('@mobile/components/base/html-panel/index.vue'))
 </script>

+ 1 - 1
src/packages/mobile/views/rules/gywm/Index.vue

@@ -11,5 +11,5 @@
 import { defineAsyncComponent } from 'vue'
 import { getHtmlFileUrl } from '@/filters'
 
-const asyncComponent = defineAsyncComponent(() => import('../../../components/base/html-panel/index.vue'))
+const asyncComponent = defineAsyncComponent(() => import('@mobile/components/base/html-panel/index.vue'))
 </script>

+ 0 - 15
src/packages/mobile/views/rules/jfgz/Index.vue

@@ -1,15 +0,0 @@
-<template>
-  <app-view>
-    <template #header>
-      <app-navbar title="积分规则" />
-    </template>
-    <component :is="asyncComponent" :url="getHtmlFileUrl('jfgz.htm')" />
-  </app-view>
-</template>
-
-<script lang="ts" setup>
-import { defineAsyncComponent } from 'vue'
-import { getHtmlFileUrl } from '@/filters'
-
-const asyncComponent = defineAsyncComponent(() => import('../../../components/base/html-panel/index.vue'))
-</script>

+ 0 - 24
src/packages/mobile/views/rules/myrz/Index.vue

@@ -1,24 +0,0 @@
-<template>
-    <app-view>
-        <template #header>
-            <app-navbar title="贸易融资" />
-        </template>
-        <Tabs>
-            <Tab title="银行授信" />
-            <Tab title="仓单质押" />
-            <Tab title="联名互保" />
-        </Tabs>
-        <component :is="asyncComponent" :url="getHtmlFileUrl('yhsxzc.htm')" v-show="active === 0" />
-        <component :is="asyncComponent" :url="getHtmlFileUrl('cdzyzc.htm')" v-show="active === 1" />
-        <component :is="asyncComponent" :url="getHtmlFileUrl('lmhbzc.htm')" v-show="active === 2" />
-    </app-view>
-</template>
-
-<script lang="ts" setup>
-import { shallowRef, defineAsyncComponent } from 'vue'
-import { Tab, Tabs } from 'vant'
-import { getHtmlFileUrl } from '@/filters'
-
-const asyncComponent = defineAsyncComponent(() => import('../../../components/base/html-panel/index.vue'))
-const active = shallowRef(0)
-</script>

+ 0 - 15
src/packages/mobile/views/rules/ptgz/Index.vue

@@ -1,15 +0,0 @@
-<template>
-  <app-view>
-    <template #header>
-      <app-navbar title="平台规则" />
-    </template>
-    <component :is="asyncComponent" :url="getHtmlFileUrl('ptgz.htm')" />
-  </app-view>
-</template>
-
-<script lang="ts" setup>
-import { defineAsyncComponent } from 'vue'
-import { getHtmlFileUrl } from '@/filters'
-
-const asyncComponent = defineAsyncComponent(() => import('../../../components/base/html-panel/index.vue'))
-</script>

+ 0 - 15
src/packages/mobile/views/rules/sellrule/Index.vue

@@ -1,15 +0,0 @@
-<template>
-  <app-view class="app-html">
-    <template #header>
-      <app-navbar title="卖方规则" />
-    </template>
-    <component :is="asyncComponent" :url="getHtmlFileUrl('mjgz_s.htm')" />
-  </app-view>
-</template>
-
-<script lang="ts" setup>
-import { defineAsyncComponent } from 'vue'
-import { getHtmlFileUrl } from '@/filters'
-
-const asyncComponent = defineAsyncComponent(() => import('../../../components/base/html-panel/index.vue'))
-</script>

+ 0 - 28
src/packages/mobile/views/rules/xhht/Index.vue

@@ -1,28 +0,0 @@
-<template>
-  <app-view class="app-html">
-    <template #header>
-      <app-navbar title="现货合同" />
-    </template>
-    <div style="padding: .2rem;">
-      <div style="text-align: center;background-color: #fff;padding: 1rem 0;margin-bottom: .2rem;">
-        <h4 style="margin-bottom: .32rem;">现货贸易合同(买方).docx</h4>
-        <Button type="primary" style="width: 50%;" round @click="download('/html/ht_xh_b.docx')">下载文档</Button>
-      </div>
-      <div style="text-align: center;background-color: #fff;padding: 1rem 0;">
-        <h4 style="margin-bottom: .32rem;">现货贸易合同(卖方).docx</h4>
-        <Button type="primary" style="width: 50%;" round @click="download('/html/ht_xh_s.docx')">下载文档</Button>
-      </div>
-    </div>
-  </app-view>
-</template>
-
-<script lang="ts" setup>
-import { Button } from 'vant'
-import service from '@/services'
-import plus from '@/utils/h5plus'
-
-const download = (filePath: string) => {
-  const url = service.getConfig('mobileOpenUrl')
-  plus.openURL(url + filePath)
-}
-</script>

+ 1 - 1
src/packages/mobile/views/rules/yszc/Index.vue

@@ -19,7 +19,7 @@ import { defineAsyncComponent } from 'vue'
 import { Tab, Tabs } from 'vant'
 import { getHtmlFileUrl } from '@/filters'
 
-const asyncComponent = defineAsyncComponent(() => import('../../../components/base/html-panel/index.vue'))
+const asyncComponent = defineAsyncComponent(() => import('@mobile/components/base/html-panel/index.vue'))
 </script>
 
 <style lang="less">

+ 1 - 1
src/packages/mobile/views/rules/zcxy/Index.vue

@@ -11,5 +11,5 @@
 import { defineAsyncComponent } from 'vue'
 import { getHtmlFileUrl } from '@/filters'
 
-const asyncComponent = defineAsyncComponent(() => import('../../../components/base/html-panel/index.vue'))
+const asyncComponent = defineAsyncComponent(() => import('@mobile/components/base/html-panel/index.vue'))
 </script>

+ 0 - 24
src/packages/mobile/views/rules/zrht/Index.vue

@@ -1,24 +0,0 @@
-<template>
-  <app-view>
-    <template #header>
-      <app-navbar title="合同转让" />
-    </template>
-    <div style="padding: .2rem;">
-      <div style="text-align: center;background-color: #fff;padding: 1rem 0;">
-        <h4 style="margin-bottom: .32rem;">协议转让合同.docx</h4>
-        <Button type="primary" style="width: 50%;" round @click="download">下载文档</Button>
-      </div>
-    </div>
-  </app-view>
-</template>
-
-<script lang="ts" setup>
-import { Button } from 'vant'
-import service from '@/services'
-import plus from '@/utils/h5plus'
-
-const download = () => {
-  const url = service.getConfig('mobileOpenUrl')
-  plus.openURL(url + '/html/ht_zr.docx')
-}
-</script>

+ 2 - 2
src/packages/mobile/views/spot/add/components/buy/index.vue

@@ -47,11 +47,11 @@ import { shallowRef, defineAsyncComponent } from 'vue'
 import { onBeforeRouteLeave } from 'vue-router'
 import { CellGroup, Button, Field, Form, FormInstance, Stepper, FieldRule, showSuccessToast, showFailToast } from 'vant'
 import { fullloading } from '@/utils/vant'
-import { useNavigation } from '../../../../../router/navigation'
+import { useNavigation } from '@mobile/router/navigation'
 import { useHdWROrder } from '@/business/trade'
 
 const WarehouseReceipt = defineAsyncComponent(() => import('./warehouse-receipt.vue'))
-const Performance = defineAsyncComponent(() => import('../../../../../components/modules/performance/index.vue'))
+const Performance = defineAsyncComponent(() => import('@mobile/components/modules/performance/index.vue'))
 
 const { routerBack } = useNavigation()
 const { formData, listingSubmit, amount } = useHdWROrder()

+ 3 - 3
src/packages/mobile/views/spot/add/components/sell/index.vue

@@ -63,14 +63,14 @@ import { onBeforeRouteLeave } from 'vue-router'
 import { CellGroup, Button, Field, Form, FormInstance, Stepper, FieldRule, showSuccessToast, showFailToast } from 'vant'
 import { fullloading } from '@/utils/vant'
 import { BuyOrSell } from '@/constants/order'
-import { useNavigation } from '../../../../../router/navigation'
+import { useNavigation } from '@mobile/router/navigation'
 import { useRequest } from '@/hooks/request'
 import { queryFtDeliveryGoods, queryWrStandardFactoryItem } from '@/services/api/goods'
 import { useHdWROrder } from '@/business/trade'
 import { useAccountStore } from '@/stores'
-import AppSelect from '../../../../../components/base/select/index.vue'
+import AppSelect from '@mobile/components/base/select/index.vue'
 
-const Performance = defineAsyncComponent(() => import('../../../../../components/modules/performance/index.vue'))
+const Performance = defineAsyncComponent(() => import('@mobile/components/modules/performance/index.vue'))
 
 const { routerBack } = useNavigation()
 const { formData, listingSubmit, amount } = useHdWROrder()

+ 3 - 3
src/packages/mobile/views/spot/detail/Index.vue

@@ -81,12 +81,12 @@ import { Cell, Button } from 'vant'
 import { getFileUrl } from '@/filters'
 import { useRequest } from '@/hooks/request'
 import { useComponent } from '@/hooks/component'
-import { useNavigation } from '../../../router/navigation'
+import { useNavigation } from '@mobile/router/navigation'
 import { BuyOrSell } from '@/constants/order'
 import { queryOrderQuote, queryOrderQuoteDetail } from '@/services/api/goods'
 import eventBus from '@/services/bus'
-import AppList from '../../../components/base/list/index.vue'
-import Banner from '../../../components/base/banner/index.vue'
+import AppList from '@mobile/components/base/list/index.vue'
+import Banner from '@mobile/components/base/banner/index.vue'
 
 const componentMap = new Map<string, unknown>([
     ['listing', defineAsyncComponent(() => import('./components/listing/index.vue'))], // 挂牌

+ 2 - 2
src/packages/mobile/views/spot/detail/components/delisting/index.vue

@@ -59,8 +59,8 @@ import { useAccountStore } from '@/stores'
 import { BuyOrSell } from '@/constants/order'
 import { queryHoldLB } from '@/services/api/order'
 import { useHdWRDealOrder } from '@/business/trade'
-import AppPopup from '../../../../../components/base/popup/index.vue'
-//import AppSelect from '../../../../../components/base/select/index.vue'
+import AppPopup from '@mobile/components/base/popup/index.vue'
+//import AppSelect from '@mobile/components/base/select/index.vue'
 
 const props = defineProps({
     quoteItem: {

Some files were not shown because too many files changed in this diff