Kaynağa Gözat

文件目录层级优化

liucong 4 yıl önce
ebeveyn
işleme
54a3bd04a4
100 değiştirilmiş dosya ile 2292 ekleme ve 2582 silme
  1. 1 1
      src/App.vue
  2. BIN
      src/assets/images/login1.png
  3. BIN
      src/assets/images/login2.png
  4. 0 0
      src/common/components/capitalInfo/index.vue
  5. 0 0
      src/common/components/contextMenu/contextMenu.vue
  6. 0 0
      src/common/components/contextMenu/index.vue
  7. 0 0
      src/common/components/contextMenu/interface.ts
  8. 0 0
      src/common/components/countDown/index.vue
  9. 147 0
      src/common/components/drawer/index.vue
  10. 0 0
      src/common/components/firstMenu/index.vue
  11. 0 0
      src/common/components/fiveGear/index.vue
  12. 0 0
      src/common/components/font-adaption.vue
  13. 136 0
      src/common/components/orderTable/index.vue
  14. 73 0
      src/common/components/quoteTable/index.vue
  15. 0 0
      src/common/components/secondeMenu/index.vue
  16. 95 0
      src/common/components/thirdMenu/index.vue
  17. 1 1
      src/common/methods/format/index.ts
  18. 0 0
      src/common/methods/goDetail/index.ts
  19. 0 0
      src/common/methods/index.ts
  20. 0 0
      src/common/methods/mixin/index.ts
  21. 0 0
      src/common/methods/router/index.ts
  22. 0 0
      src/common/methods/statusfilter/index.ts
  23. 0 0
      src/common/setup/index.ts
  24. 5 0
      src/common/setup/modal/index.ts
  25. 0 0
      src/common/setup/modal/interface.ts
  26. 0 0
      src/common/setup/modal/modal.ts
  27. 0 0
      src/common/setup/router/index.ts
  28. 0 151
      src/components/drawer/index.vue
  29. 0 143
      src/components/orderTable/index.vue
  30. 0 80
      src/components/quoteTable/index.vue
  31. 0 97
      src/components/thirdMenu/index.vue
  32. 102 106
      src/layout/bottom.vue
  33. 405 424
      src/layout/top.vue
  34. 1 1
      src/services/bus/error.ts
  35. 2 2
      src/services/bus/index.ts
  36. 1 1
      src/services/bus/login.ts
  37. 3 4
      src/services/go/commonService/index.ts
  38. 9 10
      src/services/go/index.ts
  39. 1 1
      src/services/http/account/index.ts
  40. 1 1
      src/services/http/advert/index.ts
  41. 1 1
      src/services/http/getconf.ts
  42. 1 1
      src/services/http/goodsDeatil/index.ts
  43. 1 1
      src/services/http/mine/colloct.ts
  44. 2 2
      src/services/http/mine/index.ts
  45. 1 1
      src/services/http/notice/index.ts
  46. 1 1
      src/services/http/quote/index.ts
  47. 2 2
      src/services/http/system/index.ts
  48. 5 5
      src/services/http/user/index.ts
  49. 1 1
      src/services/index.ts
  50. 0 0
      src/services/request/index.ts
  51. 0 0
      src/services/request/request.ts
  52. 4 5
      src/services/request/serviceURL.ts
  53. 1 1
      src/services/socket/address/index.ts
  54. 1 1
      src/services/socket/quota/adapter/index.ts
  55. 0 1
      src/setup/computed/index.ts
  56. 0 6
      src/setup/modal/index.ts
  57. 0 0
      src/utils/copy/index.ts
  58. 0 0
      src/utils/objHandle/index.ts
  59. 0 0
      src/utils/qt/common.ts
  60. 0 0
      src/utils/qt/encrytion.ts
  61. 0 0
      src/utils/qt/index.ts
  62. 0 0
      src/utils/qt/qwebchannel.d.ts
  63. 0 0
      src/utils/qt/qwebchannel.js
  64. 0 0
      src/utils/storage/base64/index.ts
  65. 0 0
      src/utils/storage/index.ts
  66. 0 0
      src/utils/storage/indexedBD.ts
  67. 1 1
      src/utils/storage/localStorage.ts
  68. 1 1
      src/utils/storage/sessionStorage.ts
  69. 0 107
      src/utils/tool/cahce.js
  70. 278 291
      src/views/account/login.vue
  71. 26 28
      src/views/business/purchase/index.vue
  72. 1 1
      src/views/business/purchase/list/forward/index.vue
  73. 1 1
      src/views/business/purchase/list/history/index.vue
  74. 1 1
      src/views/business/purchase/list/real-time/index.vue
  75. 1 1
      src/views/business/purchase/list/spot/index.vue
  76. 1 1
      src/views/home.vue
  77. 3 3
      src/views/information/custom/compoments/addCustom/index.vue
  78. 134 143
      src/views/information/custom/compoments/customDetail/index.vue
  79. 32 39
      src/views/information/custom/compoments/deleteCustom/index.vue
  80. 121 132
      src/views/information/custom/compoments/disableCustom/index.vue
  81. 31 39
      src/views/information/custom/compoments/modifyCustom/index.vue
  82. 32 39
      src/views/information/custom/compoments/recover/index.vue
  83. 22 24
      src/views/information/custom/index.vue
  84. 81 90
      src/views/information/custom/list/normal-use/index.vue
  85. 81 90
      src/views/information/custom/list/stop-use/index.vue
  86. 7 7
      src/views/information/goods/index.vue
  87. 19 19
      src/views/information/goods/list/hedging-variety/index.vue
  88. 2 2
      src/views/information/goods/list/spot-variety/index.vue
  89. 34 41
      src/views/information/spot-contract/components/add/index.vue
  90. 25 27
      src/views/information/spot-contract/index.vue
  91. 1 1
      src/views/information/spot-contract/list/done/index.vue
  92. 43 50
      src/views/information/spot-contract/list/not-commit/index.vue
  93. 1 1
      src/views/information/spot-contract/list/peddding/index.vue
  94. 1 1
      src/views/information/spot-contract/list/performance/index.vue
  95. 133 161
      src/views/information/warehouse-info/compoments/addWarehouse/index.vue
  96. 83 94
      src/views/information/warehouse-info/compoments/disableWarehouse/index.vue
  97. 25 27
      src/views/information/warehouse-info/index.vue
  98. 1 1
      src/views/information/warehouse-info/list/normal-use/index.vue
  99. 1 1
      src/views/information/warehouse-info/list/stop-use/index.vue
  100. 64 65
      src/views/market/forward/components/forwarTrade/index.vue

+ 1 - 1
src/App.vue

@@ -15,7 +15,7 @@
     import Router from '@/router';
     import APP from '@/services';
     import { Modal } from 'ant-design-vue';
-    import { setLoadComplete } from '@/setup/methods/index';
+    import { setLoadComplete } from '@/common/methods';
     import { isLogin, logout } from '@/services/bus/login';
     let lastTime = new Date().getTime();
 

BIN
src/assets/images/login1.png


BIN
src/assets/images/login2.png


+ 0 - 0
src/components/capitalInfo/index.vue → src/common/components/capitalInfo/index.vue


+ 0 - 0
src/components/contextMenu/contextMenu.vue → src/common/components/contextMenu/contextMenu.vue


+ 0 - 0
src/components/contextMenu/index.vue → src/common/components/contextMenu/index.vue


+ 0 - 0
src/components/contextMenu/interface.ts → src/common/components/contextMenu/interface.ts


+ 0 - 0
src/components/countDown/index.vue → src/common/components/countDown/index.vue


+ 147 - 0
src/common/components/drawer/index.vue

@@ -0,0 +1,147 @@
+<template>
+    <div class="drawer">
+        <a-drawer :placement="placement" :closable="false" :visible="visible" class="tradeDialog">
+            <!-- 摘牌是top  挂牌是bottom 期货交易是tradeDialog -->
+            <div class="collapse" @click="cancel"></div>
+            <div class="collapseCont">
+                <!-- <div class="title">{{ title }}</div> -->
+                <div class="content highContent">
+                    <!-- <Listed></Listed> -->
+                    <!-- <Delisting></Delisting> -->
+                    <Trade></Trade>
+                </div>
+            </div>
+        </a-drawer>
+    </div>
+</template>
+
+<script lang="ts">
+    import { defineComponent, ref, PropType } from 'vue';
+    import { closeModal, ModalName } from '@/common/setup/modal/index';
+    import Listed from '@/views/market/warehouseTrade/components/listed/index.vue';
+    import Delisting from '@/views/market/warehouseTrade/components/delisting/index.vue';
+    import Trade from '@/views/market/warehouseTrade/components/trade/index.vue';
+
+    interface Key {
+        [propName: string]: string;
+    }
+
+    export default defineComponent({
+        name: 'drawer',
+        props: {
+            modalName: {
+                default: 'drawer',
+                type: String as PropType<keyof ModalName>,
+            },
+            title: {
+                default: '',
+                type: String,
+            },
+            placement: {
+                // 需要绑定的值得 key
+                default: 'right',
+                type: String,
+            },
+        },
+        components: {
+            Listed,
+            Delisting,
+            Trade,
+        },
+        setup(props, context) {
+            const { visible, cancel } = closeModal(props.modalName);
+            return {
+                visible,
+                cancel,
+            };
+        },
+    });
+</script>
+
+<style lang="less">
+    .bottom {
+        .position(fixed, auto, 0, -2px, auto);
+        width: 586px;
+        height: 330px;
+        background: transparent;
+        z-index: 10;
+        .ant-drawer-content-wrapper {
+            width: 586px !important;
+        }
+    }
+    .top {
+        .position(fixed, 116px, 0, auto, auto);
+        width: 446px;
+        height: 350px;
+        background: transparent;
+        z-index: 10;
+        .ant-drawer-content-wrapper {
+            width: 446px !important;
+        }
+    }
+    .tradeDialog {
+        .position(fixed, 116px, 0, auto, auto);
+        width: 467px;
+        height: 310px;
+        background: transparent;
+        z-index: 10;
+        .ant-drawer-content-wrapper {
+            width: 467px !important;
+        }
+    }
+    .ant-drawer.ant-drawer-open {
+        .ant-drawer-mask {
+            background: transparent;
+        }
+        .ant-drawer-content-wrapper {
+            box-shadow: none;
+            .ant-drawer-content {
+                background: transparent;
+                .ant-drawer-wrapper-body {
+                    overflow: hidden;
+                    .ant-drawer-body {
+                        width: 100%;
+                        height: 100%;
+                        padding: 0;
+                        .inlineflex;
+                        .collapse {
+                            width: 26px;
+                            height: 66px;
+                            margin-top: 15px;
+                            background: url(../../../assets/images/dialogClose.png) center center no-repeat;
+                            background-size: cover;
+                        }
+                        .collapseCont {
+                            flex: 1;
+                            height: 100%;
+                            border: 2px solid @m-blue0;
+                            border-right: 0;
+                            .flex;
+                            flex-direction: column;
+                            .title {
+                                width: 100%;
+                                height: 36px;
+                                line-height: 36px;
+                                text-align: center;
+                                background: linear-gradient(0deg, @m-blue4, @m-blue5);
+                                font-size: 16px;
+                                color: @m-white1;
+                                border-bottom: 2px solid @m-blue0;
+                            }
+                            .content {
+                                flex: 1;
+                                width: 100%;
+                                max-height: calc(100% - 36px);
+                                overflow-y: auto;
+                                background: @m-grey11;
+                            }
+                            .highContent {
+                                max-height: 100%;
+                            }
+                        }
+                    }
+                }
+            }
+        }
+    }</style
+>;

+ 0 - 0
src/components/firstMenu/index.vue → src/common/components/firstMenu/index.vue


+ 0 - 0
src/components/fiveGear/index.vue → src/common/components/fiveGear/index.vue


+ 0 - 0
src/components/font-adaption.vue → src/common/components/font-adaption.vue


+ 136 - 0
src/common/components/orderTable/index.vue

@@ -0,0 +1,136 @@
+<template>
+    <div @contextmenu.prevent="onContextMenu">
+        <a-table :columns="columns" :data-source="dataSource" class="order-table" bordered :scroll="{ x: true, y: 400 }" :pagination="false">
+            <template>
+                <a>Delete</a>
+            </template>
+            <template #expandedRowRender="{ record }">
+                <p style="margin: 0">
+                    {{ record.description }}
+                </p>
+            </template>
+        </a-table>
+        <contextMenu :contextMenu="context" @update="updateContextMenu" />
+    </div>
+</template>
+<script lang="ts">
+    import { defineComponent, reactive, PropType } from 'vue';
+    import contextMenu from '@/common/components/contextMenu/index.vue';
+    import { ContextMenu, MenuItem } from '@/common/components/contextMenu/interface';
+
+    // 右键事件
+    function handleContextMenu(props: any) {
+        const context = reactive<ContextMenu>({
+            position: { clientX: 0, clientY: 0 },
+            show: false,
+            menuList: [],
+            selectedData: null,
+        });
+        function onContextMenu(value: MouseEvent) {
+            const target = value.target as any;
+            // 获取点击表格的 tr  所在的 索引位置
+            const index = target.parentElement.rowIndex;
+            const { clientX, clientY } = value;
+            Object.assign(context.position, { clientX, clientY });
+            context.show = true;
+            context.selectedData = props.dataSource[index];
+        }
+        // 关闭右键弹窗
+        function updateContextMenu(value: boolean) {
+            context.show = value;
+        }
+        return { context, onContextMenu, updateContextMenu };
+    }
+
+    export default defineComponent({
+        components: {
+            contextMenu,
+        },
+        props: {
+            columns: {
+                default: [],
+                type: Array,
+            },
+            dataSource: {
+                default: [],
+                type: Array,
+            },
+            contextMenuList: {
+                default: [],
+                type: Object as PropType<MenuItem[]>,
+            },
+        },
+        setup(props) {
+            const { context, onContextMenu, updateContextMenu } = handleContextMenu(props);
+            context.menuList = props.contextMenuList;
+            return {
+                onContextMenu,
+                context,
+                updateContextMenu,
+            };
+        },
+    });
+</script>
+<style lang="less">
+    .order-table {
+        .ant-table-fixed {
+            width: max-content !important;
+            color: #e5e5e5;
+            background: #0e0e0f;
+            border-top-color: #0e0e0f !important;
+            border-left-color: #161a1c !important;
+        }
+        .ant-table-thead {
+            tr th {
+                background: #212629;
+                color: #556772;
+                font-size: 14px;
+                font-family: Adobe Heiti Std;
+            }
+        }
+        .ant-table-tbody > tr {
+            height: 40px;
+        }
+        .ant-table-tbody .ant-table-row-hover td {
+            background: #172b56 !important;
+        }
+        .ant-table-tbody > tr:hover:not(.ant-table-expanded-row):not(.ant-table-row-selected) > td {
+            background: #172b56;
+        }
+        .ant-table-bordered .ant-table-thead > tr > th,
+        .ant-table-bordered .ant-table-tbody > tr > td {
+            padding: 0;
+            height: 34px;
+            line-height: 34px;
+            border-color: #161a1c;
+            font-family: Adobe Heiti Std;
+            font-size: 16px;
+        }
+        ant-table-bordered .ant-table-thead > tr > th,
+        .ant-table-bordered .ant-table-tbody > tr > td {
+            padding: 0;
+            height: 34px;
+            line-height: 34px;
+            border-color: #161a1c;
+            font-family: Adobe Heiti Std;
+            font-size: 16px;
+        }
+        .ant-table-row-expand-icon {
+            width: 14px;
+            height: 14px;
+            line-height: 9px;
+            border: 1px solid @m-blue2;
+            border-radius: 3px;
+            background: inherit;
+        }
+        .ant-table-row-collapsed::after,
+        .ant-table-row-expanded::after {
+            color: @m-blue2;
+        }
+
+        .ant-table-expanded-row,
+        .ant-table-expanded-row:hover {
+            background: #121618;
+        }
+    }</style
+>;

+ 73 - 0
src/common/components/quoteTable/index.vue

@@ -0,0 +1,73 @@
+<template>
+    <contextMenu :contextMenuList="context" :tableList="dataSource">
+        <a-table class="quote-table" :columns="columns" :data-source="dataSource" bordered :pagination="false" :scroll="{ x: true, y: 262 }">
+            <template #action>
+                <a>action</a>
+            </template>
+        </a-table>
+    </contextMenu>
+</template>
+<script lang="ts">
+    import { defineComponent, ref } from 'vue';
+    import contextMenu from '@/common/components/contextMenu/index.vue';
+    import { MenuItem } from '@/common/components/contextMenu/interface';
+
+    export default defineComponent({
+        components: {
+            contextMenu,
+        },
+        props: {
+            columns: {
+                default: [],
+                type: Array,
+            },
+            dataSource: {
+                default: [],
+                type: Array,
+            },
+        },
+        setup(props) {
+            const contextMenuList = ref<MenuItem[]>([
+                {
+                    lable: '修改',
+                    callback: () => {
+                        console.log('lll');
+                    },
+                },
+            ]);
+            return {
+                contextMenuList,
+            };
+        },
+    });
+</script>
+<style lang="less">
+    .quoteTable {
+        width: 100%;
+        max-height: calc(100% - 68px);
+        flex: 1;
+    }
+    .quote-table {
+        height: 100%;
+        .ant-spin-nested-loading {
+            .ant-spin-container {
+            }
+        }
+        .ant-table td {
+            white-space: nowrap;
+        }
+        .ant-table-thead {
+            .ant-table-fixed-columns-in-body {
+                width: 100px;
+            }
+        }
+        .ant-table-fixed,
+        .ant-table-body {
+            .ant-table-row-hover {
+                td.ant-table-row-cell-break-word {
+                    background-color: @m-blue3 !important;
+                }
+            }
+        }
+    }</style
+>;

+ 0 - 0
src/components/secondeMenu/index.vue → src/common/components/secondeMenu/index.vue


+ 95 - 0
src/common/components/thirdMenu/index.vue

@@ -0,0 +1,95 @@
+<template>
+    <div class="thirdMenu">
+        <a-tabs default-active-key="1" @change="callback">
+            <a-tab-pane key="1" tab="一口价挂牌"> </a-tab-pane>
+            <a-tab-pane key="2" tab="浮动价挂牌"> </a-tab-pane>
+        </a-tabs>
+    </div>
+</template>
+
+<script lang="ts">
+    import { defineComponent, ref, PropType } from 'vue';
+
+    interface Key {
+        [propName: string]: string;
+    }
+
+    export default defineComponent({
+        name: 'third-menu',
+        props: {
+            list: {
+                default: [],
+                type: Object as PropType<Key[]>,
+            },
+            value: {
+                // 需要绑定的值得 key
+                default: '',
+                type: String,
+            },
+        },
+        components: {},
+        setup(props, context) {
+            function callback(key: any) {
+                console.log(key);
+            }
+            return {
+                callback,
+            };
+        },
+    });
+</script>
+
+<style lang="less">
+    .noBorderBottom {
+        border-bottom: none;
+    }
+    .thirdMenu {
+        width: 100%;
+        height: 28px;
+        padding-bottom: 2px;
+        background-color: @m-black5;
+        z-index: 2;
+        .ant-tabs {
+            line-height: 26px;
+            .flex;
+            .ant-tabs-bar {
+                margin-bottom: 0;
+                border-bottom: 0;
+                .ant-tabs-nav-container {
+                    margin-bottom: 0;
+                    line-height: 100%;
+                    .ant-tabs-nav-wrap {
+                        margin-bottom: 0;
+                        .ant-tabs-nav-scroll {
+                            .ant-tabs-nav {
+                                .ant-tabs-tab {
+                                    width: 121px;
+                                    height: 26px;
+                                    line-height: 26px;
+                                    text-align: center;
+                                    color: @m-grey1;
+                                    padding: 0;
+                                    margin: 0;
+                                    background: url(../../../assets/images/tabbg.png) center center no-repeat;
+                                    background-size: cover;
+                                }
+                                .ant-tabs-tab-active.ant-tabs-tab {
+                                    color: @m-white0;
+                                    background: url(../../../assets/images/tabbgActive.png) center center no-repeat;
+                                    background-size: cover;
+                                    z-index: 2;
+                                }
+                                .ant-tabs-tab + .ant-tabs-tab {
+                                    margin-left: -14px;
+                                }
+                                .ant-tabs-ink-bar {
+                                    width: 0px !important;
+                                }
+                            }
+                        }
+                    }
+                }
+            }
+        }
+    }</style
+>;

+ 1 - 1
src/setup/methods/format/index.ts → src/common/methods/format/index.ts

@@ -1,4 +1,4 @@
-import { serviceURL } from '@/utils/request/index';
+import { serviceURL } from '@/services/request/index';
 import moment from 'moment';
 
 function getMtpUlr(): string {

+ 0 - 0
src/setup/methods/goDetail/index.ts → src/common/methods/goDetail/index.ts


+ 0 - 0
src/setup/methods/index.ts → src/common/methods/index.ts


+ 0 - 0
src/setup/methods/mixin/index.ts → src/common/methods/mixin/index.ts


+ 0 - 0
src/setup/methods/router/index.ts → src/common/methods/router/index.ts


+ 0 - 0
src/setup/methods/statusfilter/index.ts → src/common/methods/statusfilter/index.ts


+ 0 - 0
src/setup/index.ts → src/common/setup/index.ts


+ 5 - 0
src/common/setup/modal/index.ts

@@ -0,0 +1,5 @@
+
+import { closeModal, ModalName, openModal } from './modal';
+
+export { closeModal, openModal };
+export type { ModalName };

+ 0 - 0
src/setup/modal/interface.ts → src/common/setup/modal/interface.ts


+ 0 - 0
src/setup/modal/modal.ts → src/common/setup/modal/modal.ts


+ 0 - 0
src/setup/router/index.ts → src/common/setup/router/index.ts


+ 0 - 151
src/components/drawer/index.vue

@@ -1,151 +0,0 @@
-<template>
-  <div class="drawer">
-    <a-drawer :placement="placement"
-              :closable="false"
-              :visible="visible"
-              class="tradeDialog">
-      <!-- 摘牌是top  挂牌是bottom 期货交易是tradeDialog -->
-      <div class="collapse"
-           @click="cancel"></div>
-      <div class="collapseCont">
-        <!-- <div class="title">{{ title }}</div> -->
-        <div class="content highContent">
-          <!-- <Listed></Listed> -->
-          <!-- <Delisting></Delisting> -->
-          <Trade></Trade>
-        </div>
-      </div>
-    </a-drawer>
-  </div>
-</template>
-
-<script lang="ts">
-import { defineComponent, ref, PropType } from 'vue';
-import { closeModal, ModalName } from '@/setup/modal/index';
-import Listed from '@/views/market/warehouseTrade/components/listed/index.vue';
-import Delisting from '@/views/market/warehouseTrade/components/delisting/index.vue';
-import Trade from '@/views/market/warehouseTrade/components/trade/index.vue';
-
-interface Key {
-    [propName: string]: string;
-}
-
-export default defineComponent({
-    name: 'drawer',
-    props: {
-        modalName: {
-            default: 'drawer',
-            type: String as PropType<keyof ModalName>,
-        },
-        title: {
-            default: '',
-            type: String,
-        },
-        placement: {
-            // 需要绑定的值得 key
-            default: 'right',
-            type: String,
-        },
-    },
-    components: {
-        Listed,
-        Delisting,
-        Trade,
-    },
-    setup(props, context) {
-        const { visible, cancel } = closeModal(props.modalName);
-        return {
-            visible,
-            cancel,
-        };
-    },
-});
-</script>
-
-<style lang="less">
-.bottom {
-    .position(fixed, auto, 0, -2px, auto);
-    width: 586px;
-    height: 330px;
-    background: transparent;
-    z-index: 10;
-    .ant-drawer-content-wrapper {
-        width: 586px !important;
-    }
-}
-.top {
-    .position(fixed, 116px, 0, auto, auto);
-    width: 446px;
-    height: 350px;
-    background: transparent;
-    z-index: 10;
-    .ant-drawer-content-wrapper {
-        width: 446px !important;
-    }
-}
-.tradeDialog {
-    .position(fixed, 116px, 0, auto, auto);
-    width: 467px;
-    height: 310px;
-    background: transparent;
-    z-index: 10;
-    .ant-drawer-content-wrapper {
-        width: 467px !important;
-    }
-}
-.ant-drawer.ant-drawer-open {
-    .ant-drawer-mask {
-        background: transparent;
-    }
-    .ant-drawer-content-wrapper {
-        box-shadow: none;
-        .ant-drawer-content {
-            background: transparent;
-            .ant-drawer-wrapper-body {
-                overflow: hidden;
-                .ant-drawer-body {
-                    width: 100%;
-                    height: 100%;
-                    padding: 0;
-                    .inlineflex;
-                    .collapse {
-                        width: 26px;
-                        height: 66px;
-                        margin-top: 15px;
-                        background: url(../../assets/images/dialogClose.png) center center no-repeat;
-                        background-size: cover;
-                    }
-                    .collapseCont {
-                        flex: 1;
-                        height: 100%;
-                        border: 2px solid @m-blue0;
-                        border-right: 0;
-                        .flex;
-                        flex-direction: column;
-                        .title {
-                            width: 100%;
-                            height: 36px;
-                            line-height: 36px;
-                            text-align: center;
-                            background: linear-gradient(0deg, @m-blue4, @m-blue5);
-                            font-size: 16px;
-                            color: @m-white1;
-                            border-bottom: 2px solid @m-blue0;
-                        }
-                        .content {
-                            flex: 1;
-                            width: 100%;
-                            max-height: calc(100% - 36px);
-                            overflow-y: auto;
-                            background: @m-grey11;
-                        }
-                        .highContent {
-                            max-height: 100%;
-                        }
-                    }
-                }
-            }
-        }
-    }
-}
-</style>;

+ 0 - 143
src/components/orderTable/index.vue

@@ -1,143 +0,0 @@
-<template>
-  <div @contextmenu.prevent="onContextMenu">
-    <a-table :columns="columns"
-             :data-source="dataSource"
-             class="order-table"
-             bordered
-             :scroll="{ x: true, y: 400 }"
-             :pagination="false">
-      <template>
-        <a>Delete</a>
-      </template>
-      <template #expandedRowRender="{ record }">
-        <p style="margin: 0">
-          {{ record.description }}
-        </p>
-      </template>
-    </a-table>
-    <contextMenu :contextMenu="context"
-                 @update="updateContextMenu" />
-  </div>
-</template>
-<script lang="ts">
-import { defineComponent, reactive, PropType } from 'vue';
-import contextMenu from '@/components/contextMenu/index.vue';
-import { ContextMenu, MenuItem } from '@/components/contextMenu/interface';
-
-// 右键事件
-function handleContextMenu(props: any) {
-    const context = reactive<ContextMenu>({
-        position: { clientX: 0, clientY: 0 },
-        show: false,
-        menuList: [],
-        selectedData: null,
-    });
-    function onContextMenu(value: MouseEvent) {
-        const target = value.target as any;
-        // 获取点击表格的 tr  所在的 索引位置
-        const index = target.parentElement.rowIndex;
-        const { clientX, clientY } = value;
-        Object.assign(context.position, { clientX, clientY });
-        context.show = true;
-        context.selectedData = props.dataSource[index];
-    }
-    // 关闭右键弹窗
-    function updateContextMenu(value: boolean) {
-        context.show = value;
-    }
-    return { context, onContextMenu, updateContextMenu };
-}
-
-export default defineComponent({
-    components: {
-        contextMenu,
-    },
-    props: {
-        columns: {
-            default: [],
-            type: Array,
-        },
-        dataSource: {
-            default: [],
-            type: Array,
-        },
-        contextMenuList: {
-            default: [],
-            type: Object as PropType<MenuItem[]>,
-        },
-    },
-    setup(props) {
-        const { context, onContextMenu, updateContextMenu } = handleContextMenu(props);
-        context.menuList = props.contextMenuList;
-        return {
-            onContextMenu,
-            context,
-            updateContextMenu,
-        };
-    },
-});
-</script>
-<style lang="less">
-.order-table {
-    .ant-table-fixed {
-        width: max-content !important;
-        color: #e5e5e5;
-        background: #0e0e0f;
-        border-top-color: #0e0e0f !important;
-        border-left-color: #161a1c !important;
-    }
-    .ant-table-thead {
-        tr th {
-            background: #212629;
-            color: #556772;
-            font-size: 14px;
-            font-family: Adobe Heiti Std;
-        }
-    }
-    .ant-table-tbody > tr {
-        height: 40px;
-    }
-    .ant-table-tbody .ant-table-row-hover td {
-        background: #172b56 !important;
-    }
-    .ant-table-tbody > tr:hover:not(.ant-table-expanded-row):not(.ant-table-row-selected) > td {
-        background: #172b56;
-    }
-    .ant-table-bordered .ant-table-thead > tr > th,
-    .ant-table-bordered .ant-table-tbody > tr > td {
-        padding: 0;
-        height: 34px;
-        line-height: 34px;
-        border-color: #161a1c;
-        font-family: Adobe Heiti Std;
-        font-size: 16px;
-    }
-    ant-table-bordered .ant-table-thead > tr > th,
-    .ant-table-bordered .ant-table-tbody > tr > td {
-        padding: 0;
-        height: 34px;
-        line-height: 34px;
-        border-color: #161a1c;
-        font-family: Adobe Heiti Std;
-        font-size: 16px;
-    }
-    .ant-table-row-expand-icon {
-        width: 14px;
-        height: 14px;
-        line-height: 9px;
-        border: 1px solid @m-blue2;
-        border-radius: 3px;
-        background: inherit;
-    }
-    .ant-table-row-collapsed::after,
-    .ant-table-row-expanded::after {
-        color: @m-blue2;
-    }
-
-    .ant-table-expanded-row,
-    .ant-table-expanded-row:hover {
-        background: #121618;
-    }
-}
-</style
->;

+ 0 - 80
src/components/quoteTable/index.vue

@@ -1,80 +0,0 @@
-<template>
-
-  <contextMenu :contextMenuList="context"
-               :tableList="dataSource">
-    <a-table class="quote-table"
-             :columns="columns"
-             :data-source="dataSource"
-             bordered
-             :pagination="false"
-             :scroll="{ x: true, y: 262 }">
-      <template #action>
-        <a>action</a>
-      </template>
-    </a-table>
-  </contextMenu>
-</template>
-<script lang="ts">
-import { defineComponent, ref } from 'vue';
-import contextMenu from '@/components/contextMenu/index.vue';
-import { MenuItem } from '@/components/contextMenu/interface';
-
-export default defineComponent({
-    components: {
-        contextMenu,
-    },
-    props: {
-        columns: {
-            default: [],
-            type: Array,
-        },
-        dataSource: {
-            default: [],
-            type: Array,
-        },
-    },
-    setup(props) {
-        const contextMenuList = ref<MenuItem[]>([
-            {
-                lable: '修改',
-                callback: () => {
-                    console.log('lll');
-                },
-            },
-        ]);
-        return {
-            contextMenuList,
-        };
-    },
-});
-</script>
-<style lang="less">
-.quoteTable {
-    width: 100%;
-    max-height: calc(100% - 68px);
-    flex: 1;
-}
-.quote-table {
-    height: 100%;
-    .ant-spin-nested-loading {
-        .ant-spin-container {
-        }
-    }
-    .ant-table td {
-        white-space: nowrap;
-    }
-    .ant-table-thead {
-        .ant-table-fixed-columns-in-body {
-            width: 100px;
-        }
-    }
-    .ant-table-fixed,
-    .ant-table-body {
-        .ant-table-row-hover {
-            td.ant-table-row-cell-break-word {
-                background-color: @m-blue3 !important;
-            }
-        }
-    }
-}
-</style>;

+ 0 - 97
src/components/thirdMenu/index.vue

@@ -1,97 +0,0 @@
-<template>
-  <div class="thirdMenu">
-    <a-tabs default-active-key="1" @change="callback">
-      <a-tab-pane key="1" tab="一口价挂牌">
-      </a-tab-pane>
-      <a-tab-pane key="2" tab="浮动价挂牌">
-      </a-tab-pane>
-    </a-tabs>
-  </div>
-</template>
-
-<script lang="ts">
-import { defineComponent, ref, PropType } from 'vue';
-
-interface Key {
-    [propName: string]: string;
-}
-
-export default defineComponent({
-    name: 'third-menu',
-    props: {
-        list: {
-            default: [],
-            type: Object as PropType<Key[]>,
-        },
-        value: {
-            // 需要绑定的值得 key
-            default: '',
-            type: String,
-        },
-    },
-    components: {},
-    setup(props, context) {
-        function callback(key: any) {
-            console.log(key);
-        };
-        return {
-            callback,
-        };
-    },
-});
-</script>
-
-<style lang="less">
-.noBorderBottom {
-    border-bottom: none;
-}
-.thirdMenu {
-    width: 100%;
-    height: 28px;
-    padding-bottom: 2px;
-    background-color: @m-black5;
-    z-index: 2;
-    .ant-tabs {
-        line-height: 26px;
-        .flex;
-        .ant-tabs-bar {
-            margin-bottom: 0;
-            border-bottom: 0;
-            .ant-tabs-nav-container {
-                margin-bottom: 0;
-                line-height: 100%;
-                .ant-tabs-nav-wrap {
-                    margin-bottom: 0;
-                    .ant-tabs-nav-scroll {
-                        .ant-tabs-nav {
-                            .ant-tabs-tab {
-                                width: 121px;
-                                height: 26px;
-                                line-height: 26px;
-                                text-align: center;
-                                color: @m-grey1;
-                                padding: 0;
-                                margin: 0;
-                                background: url(../../assets/images/tabbg.png) center center no-repeat;
-                                background-size: cover;
-                            }
-                            .ant-tabs-tab-active.ant-tabs-tab {
-                                color: @m-white0;
-                                background: url(../../assets/images/tabbgActive.png) center center no-repeat;
-                                background-size: cover;
-                                z-index: 2;
-                            }
-                            .ant-tabs-tab+.ant-tabs-tab {
-                                margin-left: -14px;
-                            }
-                            .ant-tabs-ink-bar {
-                                width: 0px !important;
-                            }
-                        }
-                    }
-                }
-            }
-        }
-    }
-}
-</style>;

+ 102 - 106
src/layout/bottom.vue

@@ -1,121 +1,117 @@
 <template>
-  <section class="layout-bottom">
-    <CapitalInfo class="capital-info-container"></CapitalInfo>
-    <main>
-        <div class="conditionIcon icon iconfont icon-shouqi"></div>
-        <firstMenu :list="list"
-            :value="'value'"
-            @selectMenu="selectMenu" />
-        <quoteTable :columns="columns"
-                :dataSource="data"
-                />
-        <thirdMenu></thirdMenu>
-    </main>
-  </section>
+    <section class="layout-bottom">
+        <CapitalInfo class="capital-info-container"></CapitalInfo>
+        <main>
+            <div class="conditionIcon icon iconfont icon-shouqi"></div>
+            <firstMenu :list="list" :value="'value'" @selectMenu="selectMenu" />
+            <quoteTable :columns="columns" :dataSource="data" />
+            <thirdMenu></thirdMenu>
+        </main>
+    </section>
 </template>
 <script lang="ts">
-import { defineComponent } from 'vue';
-import CapitalInfo from '@/components/capitalInfo/index.vue';
-import firstMenu from '@/components/firstMenu/index.vue';
-import thirdMenu from '@/components/thirdMenu/index.vue';
-import quoteTable from '@/components/quoteTable/index.vue';
-import { MenuItem } from '@/components/contextMenu/interface';
+    import { defineComponent } from 'vue';
+    import CapitalInfo from '@/common/components/capitalInfo/index.vue';
+    import firstMenu from '@/common/components/firstMenu/index.vue';
+    import thirdMenu from '@/common/components/thirdMenu/index.vue';
+    import quoteTable from '@/common/components/quoteTable/index.vue';
+    import { MenuItem } from '@/common/components/contextMenu/interface';
 
-const columns = [
-    { title: '序号', width: 100, dataIndex: 'name', key: 'name', fixed: 'left', align: 'center' },
-    { title: '品种', width: 100, dataIndex: 'age', key: 'age', fixed: 'left', align: 'center' },
-    { title: '种类', dataIndex: 'address', key: '1', width: 200, align: 'center' },
-    { title: '品牌', dataIndex: 'address', key: '2', width: 200, align: 'center' },
-    { title: '数量', dataIndex: 'address', key: '3', width: 200, align: 'center' },
-    { title: '价格', dataIndex: 'address', key: '4', width: 200, align: 'center' },
-    { title: '仓库', dataIndex: 'address', key: '5', width: 200, align: 'center' },
-    { title: '所在地', dataIndex: 'address', key: '6', width: 200, align: 'center' },
-    { title: '挂牌方', dataIndex: 'address', key: '7', width: 'auto', align: 'center' },
-    // {
-    //     title: 'Action',
-    //     key: 'operation',
-    //     fixed: 'right',
-    //     align: 'center',
-    //     width: 100,
-    //     slots: { customRender: 'action' },
-    // },
-];
+    const columns = [
+        { title: '序号', width: 100, dataIndex: 'name', key: 'name', fixed: 'left', align: 'center' },
+        { title: '品种', width: 100, dataIndex: 'age', key: 'age', fixed: 'left', align: 'center' },
+        { title: '种类', dataIndex: 'address', key: '1', width: 200, align: 'center' },
+        { title: '品牌', dataIndex: 'address', key: '2', width: 200, align: 'center' },
+        { title: '数量', dataIndex: 'address', key: '3', width: 200, align: 'center' },
+        { title: '价格', dataIndex: 'address', key: '4', width: 200, align: 'center' },
+        { title: '仓库', dataIndex: 'address', key: '5', width: 200, align: 'center' },
+        { title: '所在地', dataIndex: 'address', key: '6', width: 200, align: 'center' },
+        { title: '挂牌方', dataIndex: 'address', key: '7', width: 'auto', align: 'center' },
+        // {
+        //     title: 'Action',
+        //     key: 'operation',
+        //     fixed: 'right',
+        //     align: 'center',
+        //     width: 100,
+        //     slots: { customRender: 'action' },
+        // },
+    ];
 
-interface DataItem {
-    key: number;
-    name: string;
-    age: number;
-    address: string;
-}
+    interface DataItem {
+        key: number;
+        name: string;
+        age: number;
+        address: string;
+    }
 
-const data: DataItem[] = [];
-for (let i = 0; i < 100; i++) {
-    data.push({
-        key: i,
-        name: `Edrward ${i}`,
-        age: 32,
-        address: `London Park no. ${i}`,
-    });
-}
+    const data: DataItem[] = [];
+    for (let i = 0; i < 100; i++) {
+        data.push({
+            key: i,
+            name: `Edrward ${i}`,
+            age: 32,
+            address: `London Park no. ${i}`,
+        });
+    }
 
-function handleMenu() {
-    const list = [
-        { key: '1', value: '仓单贸易' },
-        { key: '2', value: '拍卖' },
-    ];
-    function selectMenu(item: any) {
-        console.log(item);
+    function handleMenu() {
+        const list = [
+            { key: '1', value: '仓单贸易' },
+            { key: '2', value: '拍卖' },
+        ];
+        function selectMenu(item: any) {
+            console.log(item);
+        }
+        return { list, selectMenu };
     }
-    return { list, selectMenu };
-}
 
-export default defineComponent({
-    name: 'layout-top',
-    components: {
-        CapitalInfo,
-        firstMenu,
-        quoteTable,
-        thirdMenu
-    },
-    setup() {
-        const { list, selectMenu } = handleMenu();
-        return {
-            columns,
-            data,
-            list,
-            selectMenu,
-        };
-    },
-});
+    export default defineComponent({
+        name: 'layout-top',
+        components: {
+            CapitalInfo,
+            firstMenu,
+            quoteTable,
+            thirdMenu,
+        },
+        setup() {
+            const { list, selectMenu } = handleMenu();
+            return {
+                columns,
+                data,
+                list,
+                selectMenu,
+            };
+        },
+    });
 </script>
 <style lang="less">
-.layout-bottom {
-    display: flex;
-    width: 100%;
-    overflow: hidden;
-    .capital-info-container {
-        width: 180px;
-    }
-    main {
-        max-width: calc(100% - 180px);
-        flex: 1;
-        .flex;
-        flex-direction: column;
-        background: rgb(14, 14, 15);
-        position: relative;
-        .conditionIcon {
-            font-size: 16px;
-            color: @m-grey1;
-            width: 16px;
-            height: 16px;
-            line-height: 16px;
-            cursor: pointer;
-            .position(absolute, 8px, 14px, auto, auto);
-            z-index: 2;
-            &:hover {
-                color: rgba(@m-grey1, .8);
+    .layout-bottom {
+        display: flex;
+        width: 100%;
+        overflow: hidden;
+        .capital-info-container {
+            width: 180px;
+        }
+        main {
+            max-width: calc(100% - 180px);
+            flex: 1;
+            .flex;
+            flex-direction: column;
+            background: rgb(14, 14, 15);
+            position: relative;
+            .conditionIcon {
+                font-size: 16px;
+                color: @m-grey1;
+                width: 16px;
+                height: 16px;
+                line-height: 16px;
+                cursor: pointer;
+                .position(absolute, 8px, 14px, auto, auto);
+                z-index: 2;
+                &:hover {
+                    color: rgba(@m-grey1, 0.8);
+                }
             }
         }
     }
-}
 </style>

+ 405 - 424
src/layout/top.vue

@@ -1,481 +1,462 @@
 <template>
-  <a-layout class="layout-top">
-    <a-layout-header class="m-layout-header">
-      <div>
-        <img src="../assets/images/logoHeader.png" />
-        <span>深圳市多元世纪信息技术股份有限公司</span>
-      </div>
-      <div class="m-layout-header-right">
-        <div @click="openDrawer">
-          <span>{{ username }},您好!</span>
-        </div>
-        <div class="relative">
-          <!-- <a-input-search ref="userNameInput"
+    <a-layout class="layout-top">
+        <a-layout-header class="m-layout-header">
+            <div>
+                <img src="../assets/images/logoHeader.png" />
+                <span>深圳市多元世纪信息技术股份有限公司</span>
+            </div>
+            <div class="m-layout-header-right">
+                <div @click="openDrawer">
+                    <span>{{ username }},您好!</span>
+                </div>
+                <div class="relative">
+                    <!-- <a-input-search ref="userNameInput"
                           class="searchInput"
                           readonly
                           placeholder="请输入代码/名称"
                           @pressEnter="search">
           </a-input-search> -->
-          <!-- <a-icon type="search" /> -->
-        </div>
-        <div class="news-container">
-          <a-badge @click="openNotice">
-            <svg class="icon svg-icon"
-                 aria-hidden="true">
-              <use xlink:href="#icon-xiaoxi"></use>
-            </svg>
-          </a-badge>
-        </div>
-        <div>
-          <a-popover v-model:visible="visible"
-                     trigger="click"
-                     placement="bottomRight">
-            <template #content>
-              <div v-for="item in setMenu"
-                   @click="chooseSetMenu(item.path)"
-                   :key="item.path">{{item.name}}</div>
-            </template>
-            <a-avatar :size="24">
-              <template #icon>
-                <UserOutlined />
-              </template>
-            </a-avatar>
-          </a-popover>
-          <Setting />
-        </div>
-      </div>
-    </a-layout-header>
-    <a-layout class="middleLayout">
-      <a-layout-sider class="m-layout-left"
-                      width="180"
-                      v-model:collapsed="collapsed"
-                      @collapse="collapse"
-                      collapsible>
-        <a-menu theme="dark"
-                mode="inline"
-                class="left-menu"
-                v-model:selectedKeys="selectedKeys"
-                v-model:openKeys="openKeys"
-                @click="menuClick">
-          <a-sub-menu v-for="item in menuList"
-                      :key="item.code">
-            <template #title>
-              <span>
-                <svg class="icon svg-icon"
-                     aria-hidden="true">
-                  <use :xlink:href="fontIcon(item.code)"></use>
-                </svg>
-                <span class="menu-item_title"
-                      v-show="!collapsed">{{ item.title }}</span>
-              </span>
-            </template>
-            <a-menu-item :key="subItem.code"
-                         v-for="subItem in item.children">
-              <span>{{ subItem.title }}</span>
-            </a-menu-item>
-          </a-sub-menu>
-        </a-menu>
-      </a-layout-sider>
-      <a-layout-content :style="{ background: '#0E0E0F', flex: 1 }">
-        <Drawer :title="'挂牌'"
-                :visible="visible"></Drawer>
-        <router-view />
-      </a-layout-content>
+                    <!-- <a-icon type="search" /> -->
+                </div>
+                <div class="news-container">
+                    <a-badge @click="openNotice">
+                        <svg class="icon svg-icon" aria-hidden="true">
+                            <use xlink:href="#icon-xiaoxi"></use>
+                        </svg>
+                    </a-badge>
+                </div>
+                <div>
+                    <a-popover v-model:visible="visible" trigger="click" placement="bottomRight">
+                        <template #content>
+                            <div v-for="item in setMenu" @click="chooseSetMenu(item.path)" :key="item.path">{{ item.name }}</div>
+                        </template>
+                        <a-avatar :size="24">
+                            <template #icon>
+                                <UserOutlined />
+                            </template>
+                        </a-avatar>
+                    </a-popover>
+                    <Setting />
+                </div>
+            </div>
+        </a-layout-header>
+        <a-layout class="middleLayout">
+            <a-layout-sider class="m-layout-left" width="180" v-model:collapsed="collapsed" @collapse="collapse" collapsible>
+                <a-menu theme="dark" mode="inline" class="left-menu" v-model:selectedKeys="selectedKeys" v-model:openKeys="openKeys" @click="menuClick">
+                    <a-sub-menu v-for="item in menuList" :key="item.code">
+                        <template #title>
+                            <span>
+                                <svg class="icon svg-icon" aria-hidden="true">
+                                    <use :xlink:href="fontIcon(item.code)"></use>
+                                </svg>
+                                <span class="menu-item_title" v-show="!collapsed">{{ item.title }}</span>
+                            </span>
+                        </template>
+                        <a-menu-item :key="subItem.code" v-for="subItem in item.children">
+                            <span>{{ subItem.title }}</span>
+                        </a-menu-item>
+                    </a-sub-menu>
+                </a-menu>
+            </a-layout-sider>
+            <a-layout-content :style="{ background: '#0E0E0F', flex: 1 }">
+                <Drawer :title="'挂牌'" :visible="visible"></Drawer>
+                <router-view />
+            </a-layout-content>
+        </a-layout>
     </a-layout>
-  </a-layout>
 </template>
 <script lang="ts">
-import { UserOutlined } from '@ant-design/icons-vue';
-import { defineComponent, ref, provide, unref } from 'vue';
-import Setting from '@/views/setting/index.vue';
-import CapitalInfo from '@/components/capitalInfo/index.vue';
-import SecondMenu from '@/components/secondeMenu/index.vue';
-import APP from '@/services';
-import { initData } from '@/setup/methods/index';
-import { useRouter } from 'vue-router';
-import { openModal } from '@/setup/modal/index';
-import Drawer from '@/components/drawer/index.vue';
+    import { UserOutlined } from '@ant-design/icons-vue';
+    import { defineComponent, ref, provide, unref } from 'vue';
+    import Setting from '@/views/setting/index.vue';
+    import CapitalInfo from '@/common/components/capitalInfo/index.vue';
+    import SecondMenu from '@/common/components/secondeMenu/index.vue';
+    import APP from '@/services';
+    import { initData } from '@/common/methods';
+    import { useRouter } from 'vue-router';
+    import { openModal } from '@/common/setup/modal/index';
+    import Drawer from '@/common/components/drawer/index.vue';
 
-// 菜单栏
-const handleMenu = () => {
-    const collapsed = ref<boolean>(false);
-    const selectedKeys = ref<string[]>(['1-1']);
-    const openKeys = ref<string[]>(['1']);
-    const preOpenKeys = ref<string[]>(['1']);
-    const menuList = APP.getRef('menus');
-    // const menuList = [
-    //     {
-    //       key: '1',
-    //       title: '市场',
-    //       code: 'market',
-    //       children: [
-    //         {
-    //           key: '1-1',
-    //           title: '现货贸易',
-    //           code: ''
-    //         },
-    //       ],
-    //     },
-    //     {
-    //       key: '2',
-    //       title: '查询',
-    //       code: 'search',
-    //       children: [
-    //         {
-    //           key: '2-1',
-    //           title: '单据记录',
-    //           code: ''
-    //         },
-    //         {
-    //           key: '2-2',
-    //           title: '资金流水',
-    //           code: ''
-    //         },
-    //         {
-    //           key: '2-3',
-    //           title: '出入库',
-    //           code: ''
-    //         },
-    //         {
-    //           key: '2-4',
-    //           title: '登录日志',
-    //           code: ''
-    //         },
-    //       ],
-    //     },
-    //     {
-    //       key: '3',
-    //       title: '报表',
-    //       code: 'report'
-    //     },
-    //   ];
-    const router = useRouter();
-    // 控制菜单是否隐藏
-    function collapse(collapsed: boolean) {
-        if (collapsed) {
-            preOpenKeys.value = openKeys.value;
-            openKeys.value = [];
-        } else {
-            openKeys.value = preOpenKeys.value;
+    // 菜单栏
+    const handleMenu = () => {
+        const collapsed = ref<boolean>(false);
+        const selectedKeys = ref<string[]>(['1-1']);
+        const openKeys = ref<string[]>(['1']);
+        const preOpenKeys = ref<string[]>(['1']);
+        const menuList = APP.getRef('menus');
+        // const menuList = [
+        //     {
+        //       key: '1',
+        //       title: '市场',
+        //       code: 'market',
+        //       children: [
+        //         {
+        //           key: '1-1',
+        //           title: '现货贸易',
+        //           code: ''
+        //         },
+        //       ],
+        //     },
+        //     {
+        //       key: '2',
+        //       title: '查询',
+        //       code: 'search',
+        //       children: [
+        //         {
+        //           key: '2-1',
+        //           title: '单据记录',
+        //           code: ''
+        //         },
+        //         {
+        //           key: '2-2',
+        //           title: '资金流水',
+        //           code: ''
+        //         },
+        //         {
+        //           key: '2-3',
+        //           title: '出入库',
+        //           code: ''
+        //         },
+        //         {
+        //           key: '2-4',
+        //           title: '登录日志',
+        //           code: ''
+        //         },
+        //       ],
+        //     },
+        //     {
+        //       key: '3',
+        //       title: '报表',
+        //       code: 'report'
+        //     },
+        //   ];
+        const router = useRouter();
+        // 控制菜单是否隐藏
+        function collapse(collapsed: boolean) {
+            if (collapsed) {
+                preOpenKeys.value = openKeys.value;
+                openKeys.value = [];
+            } else {
+                openKeys.value = preOpenKeys.value;
+            }
         }
-    }
-    // 配置是否显示下半部分
-    function setShowBottomPart(code: string): boolean {
-        // 显示下半部分 这里保存的是市场对应的 code
-        const show: string[] = [''];
-        return show.includes(code);
-    }
-    function menuClick(value: any) {
-        console.log('菜单: ', value);
-        const key = value.key;
-        setShowBottomPart(key);
-        router.push({ name: key });
-    }
-    // 一级菜单图标
-    function fontIcon(code: string): string {
-        let result = 'icon-jinrongfenxi';
-        switch (code) {
-            case 'market':
-                result = 'icon-jinrongfenxi';
-                break;
-            case 'info':
-                result = 'icon-zhangdan';
-                break;
-            case 'business':
-                result = 'icon-renwu';
-                break;
-            case 'manage':
-                result = 'icon-quanxian';
-                break;
-            case 'search':
-                result = 'icon-chazhaojilu';
-                break;
-            case 'report':
-                result = 'icon-bingtu';
-                break;
+        // 配置是否显示下半部分
+        function setShowBottomPart(code: string): boolean {
+            // 显示下半部分 这里保存的是市场对应的 code
+            const show: string[] = [''];
+            return show.includes(code);
+        }
+        function menuClick(value: any) {
+            console.log('菜单: ', value);
+            const key = value.key;
+            setShowBottomPart(key);
+            router.push({ name: key });
         }
-        return '#' + result;
+        // 一级菜单图标
+        function fontIcon(code: string): string {
+            let result = 'icon-jinrongfenxi';
+            switch (code) {
+                case 'market':
+                    result = 'icon-jinrongfenxi';
+                    break;
+                case 'info':
+                    result = 'icon-zhangdan';
+                    break;
+                case 'business':
+                    result = 'icon-renwu';
+                    break;
+                case 'manage':
+                    result = 'icon-quanxian';
+                    break;
+                case 'search':
+                    result = 'icon-chazhaojilu';
+                    break;
+                case 'report':
+                    result = 'icon-bingtu';
+                    break;
+            }
+            return '#' + result;
+        }
+        return { collapsed, selectedKeys, menuList, openKeys, collapse, menuClick, setShowBottomPart, fontIcon };
+    };
+
+    function testAction() {
+        const { openAction } = openModal('drawer');
+        return { openDrawer: openAction };
     }
-    return { collapsed, selectedKeys, menuList, openKeys, collapse, menuClick, setShowBottomPart, fontIcon };
-};
 
-function testAction() {
-    const { openAction } = openModal('drawer');
-    return { openDrawer: openAction };
-}
+    // 设置
+    const setFn = () => {
+        const visible = ref<boolean>(false);
+        const chooseSetupItem = ref<string>('');
+        provide('ControlModal', chooseSetupItem);
+        const setMenu = [
+            // { name: '修改密码', path: 'password' },
+            // { name: '收货地址', path: 'addresss' },
+            // // {name: '发票', path: 'setup-password'},
+            // { name: '手机号码绑定/解绑', path: 'phone' },
+            // { name: '关于我们', path: 'aboutUs' },
+            { name: '退出', path: 'logout' },
+        ];
+        const { openAction } = openModal('logout');
+        function chooseSetMenu(path: string) {
+            // chooseSetupItem.value = path;
+            openAction();
+            console.log(path);
+            visible.value = false;
+        }
 
-// 设置
-const setFn = () => {
-    const visible = ref<boolean>(false);
-    const chooseSetupItem = ref<string>('');
-    provide('ControlModal', chooseSetupItem);
-    const setMenu = [
-        // { name: '修改密码', path: 'password' },
-        // { name: '收货地址', path: 'addresss' },
-        // // {name: '发票', path: 'setup-password'},
-        // { name: '手机号码绑定/解绑', path: 'phone' },
-        // { name: '关于我们', path: 'aboutUs' },
-        { name: '退出', path: 'logout' },
-    ];
-    const { openAction } = openModal('logout');
-    function chooseSetMenu(path: string) {
-        // chooseSetupItem.value = path;
-        openAction();
-        console.log(path);
-        visible.value = false;
-    }
+        return { visible, setMenu, chooseSetMenu };
+    };
+    // 搜索
+    const onSearch = () => {
+        function search(value: string) {
+            console.log(value);
+        }
+        return { search };
+    };
 
-    return { visible, setMenu, chooseSetMenu };
-};
-// 搜索
-const onSearch = () => {
-    function search(value: string) {
-        console.log(value);
+    // 控制消息弹窗
+    function controlNotice() {
+        const { openAction } = openModal('notice');
+        return { openNotice: openAction };
     }
-    return { search };
-};
+    export default defineComponent({
+        name: 'layout-top',
+        components: {
+            Setting,
+            UserOutlined,
+            CapitalInfo,
+            SecondMenu,
+            Drawer,
+        },
+        setup(props, context) {
+            const { collapsed, selectedKeys, openKeys, menuList, collapse, menuClick, setShowBottomPart, fontIcon } = handleMenu();
+            const router = useRouter();
+            // 控制消息弹窗
+            const { openNotice } = controlNotice();
 
-// 控制消息弹窗
-function controlNotice() {
-    const { openAction } = openModal('notice');
-    return { openNotice: openAction };
-}
-export default defineComponent({
-    name: 'layout-top',
-    components: {
-        Setting,
-        UserOutlined,
-        CapitalInfo,
-        SecondMenu,
-        Drawer,
-    },
-    setup(props, context) {
-        const { collapsed, selectedKeys, openKeys, menuList, collapse, menuClick, setShowBottomPart, fontIcon } = handleMenu();
-        const router = useRouter();
-        // 控制消息弹窗
-        const { openNotice } = controlNotice();
-
-        initData(() => {
-            // 处理路由跳转到菜单栏里第一个对应的页面
-            const list = unref(menuList);
-            if (list.length && list[0].children && list[0].children.length) {
-                // 处理修改具体某个菜单栏,主要处理页面刷新
-                let firstIndex = 0,
-                    secondeIndex = 0;
-                for (let i = 0; i < list.length; i++) {
-                    for (let j = 0; j < list[i].children.length; j++) {
-                        if (window.location.hash.includes(list[i].children[j].code)) {
-                            firstIndex = i;
-                            secondeIndex = j;
-                            break;
+            initData(() => {
+                // 处理路由跳转到菜单栏里第一个对应的页面
+                const list = unref(menuList);
+                if (list.length && list[0].children && list[0].children.length) {
+                    // 处理修改具体某个菜单栏,主要处理页面刷新
+                    let firstIndex = 0,
+                        secondeIndex = 0;
+                    for (let i = 0; i < list.length; i++) {
+                        for (let j = 0; j < list[i].children.length; j++) {
+                            if (window.location.hash.includes(list[i].children[j].code)) {
+                                firstIndex = i;
+                                secondeIndex = j;
+                                break;
+                            }
                         }
                     }
+                    const code = list[firstIndex].children[secondeIndex].code;
+                    // selectedKeys.value.length = 0;
+                    // selectedKeys.value.push(code);
+                    // openKeys.value.length = 0;
+                    // openKeys.value.push(list[firstIndex].code);
+                    selectedKeys.value = [code];
+                    openKeys.value = [list[firstIndex].code];
+                    context.emit('chooseMenu', setShowBottomPart(code));
+                    // 处理页面刷新时候 引发路由乱跳的bug
+                    if (router.currentRoute.value.fullPath === '/home') {
+                        router.push(code);
+                    } else {
+                    }
                 }
-                const code = list[firstIndex].children[secondeIndex].code;
-                // selectedKeys.value.length = 0;
-                // selectedKeys.value.push(code);
-                // openKeys.value.length = 0;
-                // openKeys.value.push(list[firstIndex].code);
-                selectedKeys.value = [code];
-                openKeys.value = [list[firstIndex].code];
-                context.emit('chooseMenu', setShowBottomPart(code));
-                // 处理页面刷新时候 引发路由乱跳的bug
-                if (router.currentRoute.value.fullPath === '/home') {
-                    router.push(code);
-                } else {
-                }
-            }
-        });
+            });
 
-        const { openDrawer } = testAction();
+            const { openDrawer } = testAction();
 
-        const { visible, setMenu, chooseSetMenu } = setFn();
-        const username = APP.get('username');
-        const { search } = onSearch();
-        const searchName = ref<string[]>(['']);
-        return {
-            collapsed,
-            collapse,
-            selectedKeys,
-            openKeys,
-            menuClick,
-            username,
-            menuList,
-            visible,
-            setMenu,
-            chooseSetMenu,
-            fontIcon,
+            const { visible, setMenu, chooseSetMenu } = setFn();
+            const username = APP.get('username');
+            const { search } = onSearch();
+            const searchName = ref<string[]>(['']);
+            return {
+                collapsed,
+                collapse,
+                selectedKeys,
+                openKeys,
+                menuClick,
+                username,
+                menuList,
+                visible,
+                setMenu,
+                chooseSetMenu,
+                fontIcon,
 
-            openNotice,
+                openNotice,
 
-            openDrawer,
-        };
-    },
-});
+                openDrawer,
+            };
+        },
+    });
 </script>
 <style lang="less">
-.layout-top {
-    .flex;
-    width: 100%;
-    height: 100%;
-    flex-direction: column;
-    .m-layout-header {
+    .layout-top {
+        .flex;
         width: 100%;
-        height: 40px;
-        line-height: 40px;
-        background: @m-grey0;
-        color: @m-grey1;
-        padding: 0 20px;
-        .flex();
-        justify-content: space-between;
-        img {
-            margin-right: 16px;
-            width: 20px;
-            height: 20px;
-        }
-        .searchInput.ant-input-affix-wrapper {
-            width: 240px;
-            height: 30px;
-            line-height: 30px;
-            font-size: 14px;
-            background: @m-grey9;
-            border: 0;
-            vertical-align: middle;
-            padding-left: 40px;
-            position: relative;
-            .rounded-corners(15px);
-            .ant-input {
-                background: @m-grey9;
-                color: @m-white0;
+        height: 100%;
+        flex-direction: column;
+        .m-layout-header {
+            width: 100%;
+            height: 40px;
+            line-height: 40px;
+            background: @m-grey0;
+            color: @m-grey1;
+            padding: 0 20px;
+            .flex();
+            justify-content: space-between;
+            img {
+                margin-right: 16px;
+                width: 20px;
+                height: 20px;
             }
-            .ant-input-suffix {
-                margin-left: -215px;
-                .ant-input-search-icon {
-                    color: @m-grey10;
+            .searchInput.ant-input-affix-wrapper {
+                width: 240px;
+                height: 30px;
+                line-height: 30px;
+                font-size: 14px;
+                background: @m-grey9;
+                border: 0;
+                vertical-align: middle;
+                padding-left: 40px;
+                position: relative;
+                .rounded-corners(15px);
+                .ant-input {
+                    background: @m-grey9;
+                    color: @m-white0;
                 }
-            }
-        }
-        // .relative {
-        //     position: relative;
-        //     .a-icon {
-        //         font-size: 14px;
-        //         .position(absolute, 50%, auto, auto, 10px);
-        //         margin-top: -7px;
-        //         color: @m-grey10;
-        //         z-index: 10;
-        //     }
-        // }
-        .m-layout-header-right {
-            .flex();
-            .news-container {
-                padding-left: 10px;
-                padding-right: 16px;
-                .ant-badge {
-                    margin-top: 7px;
-                    cursor: pointer;
-                    > svg {
-                        font-size: 24px;
-                    }
-                    .ant-badge-dot {
-                        box-shadow: 0 0 0 1px @m-red0;
+                .ant-input-suffix {
+                    margin-left: -215px;
+                    .ant-input-search-icon {
+                        color: @m-grey10;
                     }
                 }
             }
+            // .relative {
+            //     position: relative;
+            //     .a-icon {
+            //         font-size: 14px;
+            //         .position(absolute, 50%, auto, auto, 10px);
+            //         margin-top: -7px;
+            //         color: @m-grey10;
+            //         z-index: 10;
+            //     }
+            // }
+            .m-layout-header-right {
+                .flex();
+                .news-container {
+                    padding-left: 10px;
+                    padding-right: 16px;
+                    .ant-badge {
+                        margin-top: 7px;
+                        cursor: pointer;
+                        > svg {
+                            font-size: 24px;
+                        }
+                        .ant-badge-dot {
+                            box-shadow: 0 0 0 1px @m-red0;
+                        }
+                    }
+                }
 
-            .ant-avatar-icon {
-                margin-top: -3px;
+                .ant-avatar-icon {
+                    margin-top: -3px;
+                }
             }
         }
-    }
 
-    .middleLayout {
-        flex: 1;
-        width: 100%;
-        .inlineflex;
-        border-bottom: 1px solid @m-black2;
-        .m-layout-left {
-            height: 100%;
-            background: @m-black4;
-            .ant-layout-sider-children {
-                ul.ant-menu.ant-menu-inline {
-                    li.ant-menu-submenu {
-                        padding-bottom: 0;
-                        .ant-menu-submenu-title {
-                            color: @m-grey2;
-                            font-size: 16px;
-                            height: 60px;
-                            line-height: 60px;
-                            margin-top: 0;
-                            margin-bottom: 0;
-                            padding: 5px 0;
-                            .icon {
-                                font-size: 20px;
-                            }
-                            .menu-item_title {
-                                display: inline-block;
+        .middleLayout {
+            flex: 1;
+            width: 100%;
+            .inlineflex;
+            border-bottom: 1px solid @m-black2;
+            .m-layout-left {
+                height: 100%;
+                background: @m-black4;
+                .ant-layout-sider-children {
+                    ul.ant-menu.ant-menu-inline {
+                        li.ant-menu-submenu {
+                            padding-bottom: 0;
+                            .ant-menu-submenu-title {
+                                color: @m-grey2;
                                 font-size: 16px;
-                                margin-left: 15px;
+                                height: 60px;
+                                line-height: 60px;
+                                margin-top: 0;
+                                margin-bottom: 0;
+                                padding: 5px 0;
+                                .icon {
+                                    font-size: 20px;
+                                }
+                                .menu-item_title {
+                                    display: inline-block;
+                                    font-size: 16px;
+                                    margin-left: 15px;
+                                }
                             }
-                        }
-                        .ant-menu-sub {
-                            .ant-menu-item {
-                                padding-left: 60px !important;
-                                margin-top: 5px;
-                                margin-bottom: 5px;
+                            .ant-menu-sub {
+                                .ant-menu-item {
+                                    padding-left: 60px !important;
+                                    margin-top: 5px;
+                                    margin-bottom: 5px;
+                                }
                             }
                         }
-                    }
-                    li.ant-menu-submenu-open {
-                        .ant-menu-submenu-title {
-                            color: @m-white0;
-                            .icon {
+                        li.ant-menu-submenu-open {
+                            .ant-menu-submenu-title {
                                 color: @m-white0;
+                                .icon {
+                                    color: @m-white0;
+                                }
                             }
-                        }
-                        .ant-menu-sub {
-                            .ant-menu-item.ant-menu-item-selected {
-                                background-color: @m-blue0;
+                            .ant-menu-sub {
+                                .ant-menu-item.ant-menu-item-selected {
+                                    background-color: @m-blue0;
+                                }
                             }
                         }
                     }
                 }
+                .ant-layout-sider-trigger {
+                    width: 100%;
+                    height: 40px;
+                    line-height: 40px;
+                    background: @m-black0;
+                    position: absolute;
+                }
             }
-            .ant-layout-sider-trigger {
-                width: 100%;
-                height: 40px;
-                line-height: 40px;
-                background: @m-black0;
-                position: absolute;
-            }
-        }
-        .ant-menu-vertical {
-            .ant-menu-submenu-vertical {
-                height: 60px;
-                line-height: 60px;
-                padding: 5px 0;
-                .ant-menu-submenu-title {
-                    height: 50px;
-                    line-height: 50px;
-                    .icon {
-                        font-size: 20px;
+            .ant-menu-vertical {
+                .ant-menu-submenu-vertical {
+                    height: 60px;
+                    line-height: 60px;
+                    padding: 5px 0;
+                    .ant-menu-submenu-title {
+                        height: 50px;
+                        line-height: 50px;
+                        .icon {
+                            font-size: 20px;
+                        }
                     }
                 }
-            }
-            .ant-menu-submenu {
-                .ant-menu-submenu-title {
-                    .menu-item_title {
-                        display: none;
+                .ant-menu-submenu {
+                    .ant-menu-submenu-title {
+                        .menu-item_title {
+                            display: none;
+                        }
                     }
                 }
             }
         }
-    }
 
-    .bottomLayout {
-        width: 100%;
-        flex: none;
-        height: @bottomHeight;
-        .inlineflex;
+        .bottomLayout {
+            width: 100%;
+            flex: none;
+            height: @bottomHeight;
+            .inlineflex;
+        }
     }
-}
 </style>

+ 1 - 1
src/services/bus/error.ts

@@ -1,6 +1,6 @@
 import APP from '@/services';
 import { ErrorCodeList } from '@/services/dataCenter/interafce/error';
-import { localStorageUtil } from '@/utils/tool/storage';
+import { localStorageUtil } from '@/utils/storage';
 
 /**
  * 通过错误码找到对应的错误信息

+ 2 - 2
src/services/bus/index.ts

@@ -11,8 +11,8 @@ import { getServerTime, queryErrorInfos } from '@/services/http/system/index';
 import { queryAccountInfo, queryAreaRoleMarket, queryTaAccountMarket, queryTradeDate } from '@/services/socket/account/index';
 import { querySystemParam } from '@/services/socket/error/index';
 import ProtobufCtr from '@/services/socket/protobuf/index';
-import { setServiceURL } from '@/utils/request/serviceURL';
-import { localStorageUtil } from '@/utils/tool/storage';
+import { setServiceURL } from '@/services/request/serviceURL';
+import { localStorageUtil } from '@/utils/storage';
 import { message } from 'ant-design-vue';
 import { pollingNotice } from '../http/notice';
 

+ 1 - 1
src/services/bus/login.ts

@@ -2,7 +2,7 @@ import { GetPCMenus, getServerTime, QueryTableDefine } from '@/services/go/commo
 import { GetLoginID, LoginQuery } from '@/services/go/useInfo/index';
 import APP from '@/services';
 import { checkTokenLoop } from '@/services/bus/token';
-import { sessionStorageUtil } from '@/utils/tool/storage/index';
+import { sessionStorageUtil } from '@/utils/storage/index';
 import Long from 'long';
 import { logoutResponse } from '../socket/login';
 import { loginAction } from '../socket/login/index';

+ 3 - 4
src/services/go/commonService/index.ts

@@ -1,6 +1,6 @@
 import APP from '@/services';
 import { getLongTypeLoginID } from '@/services/bus/login';
-import { localStorageUtil } from '@/utils/tool/storage';
+import { localStorageUtil } from '@/utils/storage';
 import moment from 'moment';
 import { commonSearch_go } from '../index';
 import * as type from './interface';
@@ -93,7 +93,7 @@ export function GetPCMenus(): Promise<string> {
 
 /**
  * 查询交易端列表头信息
- * @returns 
+ * @returns
  */
 export function QueryTableDefine(): Promise<type.TableDefineRsp[]> {
     const param = {
@@ -102,11 +102,10 @@ export function QueryTableDefine(): Promise<type.TableDefineRsp[]> {
     return commonSearch_go('/Common/QueryTableDefine', param)
         .then((res) => {
             console.log('查询交易端列表头信息', res);
-            APP.set('tableHead', res)
+            APP.set('tableHead', res);
             return res;
         })
         .catch((err: Error) => {
             throw new Error(`查询交易端列表头信息:${err.message}`);
         });
 }
-

+ 9 - 10
src/services/go/index.ts

@@ -1,5 +1,5 @@
-import { request, goCommonSearchUrl } from '@/utils/request/index';
-import { Method } from 'axios'
+import { request, goCommonSearchUrl } from '@/services/request/index';
+import { Method } from 'axios';
 
 /**
  *  go 接口通用查询
@@ -18,10 +18,9 @@ export function commonSearch_go(url: string, params: Object, method: Method = 'g
         .catch((err) => Promise.reject(err));
 }
 
-
-export interface BaseResponse{
-    result: boolean
-    message: String
+export interface BaseResponse {
+    result: boolean;
+    message: String;
 }
 
 /**
@@ -37,10 +36,10 @@ export function commonUpdate_go(url: string, params: Object, method: Method = 'p
         params,
     })
         .then((value) => {
-             return {
+            return {
                 result: value.data.code === 200 ? true : false,
-                message: value.data.msg
-            }
+                message: value.data.msg,
+            };
         })
         .catch((err) => Promise.reject(err));
-}
+}

+ 1 - 1
src/services/http/account/index.ts

@@ -1,4 +1,4 @@
-import { request, goCommonSearchUrl } from '@/utils/request/index';
+import { request, goCommonSearchUrl } from '@/services/request/index';
 import * as type from './interface';
 
 /**

+ 1 - 1
src/services/http/advert/index.ts

@@ -1,4 +1,4 @@
-import { request, goCommonSearchUrl } from '@/utils/request/index';
+import { request, goCommonSearchUrl } from '@/services/request/index';
 import { AxiosPromise } from 'axios';
 import * as advert from './interface';
 

+ 1 - 1
src/services/http/getconf.ts

@@ -1,4 +1,4 @@
-import { request } from '@/utils/request/index';
+import { request } from '@/services/request/index';
 /**
  * 获取 config文件下的配置信息
  */

+ 1 - 1
src/services/http/goodsDeatil/index.ts

@@ -1,4 +1,4 @@
-import { request, goCommonSearchUrl } from '@/utils/request/index';
+import { request, goCommonSearchUrl } from '@/services/request/index';
 import * as type from './interface';
 
 /**

+ 1 - 1
src/services/http/mine/colloct.ts

@@ -1,4 +1,4 @@
-import { request, goCommonSearchUrl } from '@/utils/request/index';
+import { request, goCommonSearchUrl } from '@/services/request/index';
 import { getUserId } from '@/services/bus/account';
 import APP from '@/services';
 import { message } from 'ant-design-vue';

+ 2 - 2
src/services/http/mine/index.ts

@@ -1,9 +1,9 @@
-import { request, goCommonSearchUrl } from '@/utils/request/index';
+import { request, goCommonSearchUrl } from '@/services/request/index';
 import { AxiosPromise } from 'axios';
 import * as mineType from './interface';
 import APP from '@/services';
 import { calcAmount } from '@/services/bus/account';
-import { serviceURL } from '@/utils/request/index';
+import { serviceURL } from '@/services/request/index';
 
 /**
  * 查询我的订单信息 - 已完成单据信息

+ 1 - 1
src/services/http/notice/index.ts

@@ -1,4 +1,4 @@
-import { request, goCommonSearchUrl } from '@/utils/request/index';
+import { request, goCommonSearchUrl } from '@/services/request/index';
 import { getLongTypeLoginID } from '@/services/bus/login';
 import { AxiosPromise } from 'axios';
 import * as Type from './interface';

+ 1 - 1
src/services/http/quote/index.ts

@@ -1,5 +1,5 @@
 import * as type from './interface';
-import { request, goCommonSearchUrl } from '@/utils/request/index';
+import { request, goCommonSearchUrl } from '@/services/request/index';
 import APP from '@/services';
 import { QueryHsbyTopGoodsesReponse } from '@/services/http/goodsList/interface';
 import timerUtil from '@/utils/timer/timerUtil';

+ 2 - 2
src/services/http/system/index.ts

@@ -1,8 +1,8 @@
-import { request, goCommonSearchUrl } from '@/utils/request/index';
+import { request, goCommonSearchUrl } from '@/services/request/index';
 import APP from '@/services';
 import moment from 'moment';
 import * as type from './interface';
-import { localStorageUtil } from '@/utils/tool/storage';
+import { localStorageUtil } from '@/utils/storage';
 
 /**
  * 获取服务器时间

+ 5 - 5
src/services/http/user/index.ts

@@ -1,4 +1,4 @@
-import { request, goCommonSearchUrl, commonSearchUrl } from '@/utils/request/index';
+import { request, goCommonSearchUrl, commonSearchUrl } from '@/services/request/index';
 import { sha256 } from 'js-sha256';
 import { getUserId } from '@/services/bus/account';
 import { UserInfoReq } from './interface';
@@ -95,14 +95,14 @@ export const queryResetpwdbycardnum = (mobile: String, vcode: String, pwd: Strin
  * @returns
  */
 export function GetUserAuthStatus(): Promise<boolean> {
-    const params = { userID: getUserId() }
+    const params = { userID: getUserId() };
     return request({
         method: 'get',
         url: goCommonSearchUrl('/User/GetUserAuthStatus'),
         params,
     })
         .then((value: any) => {
-            return value.data.data
+            return value.data.data;
         })
         .catch((err) => Promise.reject('获取用户实名认证状态失败:' + err.message));
 }
@@ -115,7 +115,7 @@ export function QueryUserInfo(): Promise<UserInfoReq> {
     const params = {
         userID: getUserId(),
         isDecrypt: true,
-     }
+    };
     return request({
         method: 'get',
         url: goCommonSearchUrl('/User/QueryUserInfo'),
@@ -123,7 +123,7 @@ export function QueryUserInfo(): Promise<UserInfoReq> {
     })
         .then((value: any) => {
             console.log(value);
-            return value.data.data
+            return value.data.data;
         })
         .catch((err) => Promise.reject('获取用户信息' + err.message));
 }

+ 1 - 1
src/services/index.ts

@@ -1,7 +1,7 @@
 import { funCode } from '@/services/funcode/index';
 import { checkTokenLoop } from '@/services/bus/token';
 import { NeedClearSourceDataType, NoClearSourceDataType } from '@/services/dataCenter/interface';
-import { serviceURL } from '@/utils/request/index';
+import { serviceURL } from '@/services/request/index';
 import timerUtil from '@/utils/timer/timerUtil';
 import { Callback, MTP2WebSocket, ReconnectChangeState } from '@/utils/websocket/index';
 import { Package40, Package50 } from '@/utils/websocket/package';

+ 0 - 0
src/utils/request/index.ts → src/services/request/index.ts


+ 0 - 0
src/utils/request/request.ts → src/services/request/request.ts


+ 4 - 5
src/utils/request/serviceURL.ts → src/services/request/serviceURL.ts

@@ -3,7 +3,7 @@
  * 故,全部请求服务地址统一存放在 serviceURL 这个对象中
  *
  * 使用例子:
- * import { serviceURL } from '@/utils/request/serviceURL';
+ * import { serviceURL } from '@/services/request/serviceURL';
  *
  * serviceURL.commSearchUrl
  */
@@ -76,9 +76,8 @@ export const setServiceURL = (config: URL): void => {
 
     // 外网环境(175),外包同事使用
     if (process.env.NODE_ENV === 'development') {
-        serviceURL.goCommonSearchUrl = "http://218.17.158.45:21001/api"
-        serviceURL.quoteUrl = "ws://218.17.158.45:21004"
-        serviceURL.tradeUrl = "ws://218.17.158.45:21005"
+        serviceURL.goCommonSearchUrl = 'http://218.17.158.45:21001/api';
+        serviceURL.quoteUrl = 'ws://218.17.158.45:21004';
+        serviceURL.tradeUrl = 'ws://218.17.158.45:21005';
     }
-
 };

+ 1 - 1
src/services/socket/address/index.ts

@@ -2,7 +2,7 @@
 import APP from '@/services';
 import { getUserId } from '@/services/bus/account';
 import { buildProtoReq50, parseProtoRsp50 } from '@/services/socket/protobuf/buildReq';
-import { getUUID } from '@/utils/tool/common';
+import { getUUID } from '@/utils/qt/common';
 import { Callback } from '@/utils/websocket/index';
 import { delUserReceiveInfoReq, queryProvinceAndCityParam, receiverInfo, userReceiveInfoReq, userReceiveIsDefaultReq } from './interface/index';
 

+ 1 - 1
src/services/socket/quota/adapter/index.ts

@@ -6,7 +6,7 @@ import { Package40 } from '@/utils/websocket/package';
 import { funCode } from '@/services/funcode/index';
 import APP from '@/services';
 import { queryQuoteDay } from '@/services/http/quote/interface';
-import { mergeObjSameProperty } from '@/utils/tool/set';
+import { mergeObjSameProperty } from '@/utils/objHandle';
 import Long from 'long';
 
 /**

+ 0 - 1
src/setup/computed/index.ts

@@ -1 +0,0 @@
-export const xx = 123;

+ 0 - 6
src/setup/modal/index.ts

@@ -1,6 +0,0 @@
-
-import { closeModal, ModalName, openModal } from '@/setup/modal/modal';
-
-export { closeModal, openModal };
-export type { ModalName };
-

+ 0 - 0
src/setup/methods/common/index.ts → src/utils/copy/index.ts


+ 0 - 0
src/utils/tool/set.ts → src/utils/objHandle/index.ts


+ 0 - 0
src/utils/tool/common.ts → src/utils/qt/common.ts


+ 0 - 0
src/utils/tool/encrytion.ts → src/utils/qt/encrytion.ts


+ 0 - 0
src/utils/tool/index.ts → src/utils/qt/index.ts


+ 0 - 0
src/utils/tool/qwebchannel.d.ts → src/utils/qt/qwebchannel.d.ts


+ 0 - 0
src/utils/tool/qwebchannel.js → src/utils/qt/qwebchannel.js


+ 0 - 0
src/utils/tool/base64.ts → src/utils/storage/base64/index.ts


+ 0 - 0
src/utils/tool/storage/index.ts → src/utils/storage/index.ts


+ 0 - 0
src/utils/tool/storage/indexedBD.ts → src/utils/storage/indexedBD.ts


+ 1 - 1
src/utils/tool/storage/localStorage.ts → src/utils/storage/localStorage.ts

@@ -1,4 +1,4 @@
-import { toBase64, parseBase64 } from '../base64';
+import { toBase64, parseBase64 } from './base64/index';
 import { ErrorCodeList } from '@/services/dataCenter/interafce/error';
 interface storageKeyName {
     loginData: string; // 账号登录返回信息 token等

+ 1 - 1
src/utils/tool/storage/sessionStorage.ts → src/utils/storage/sessionStorage.ts

@@ -1,4 +1,4 @@
-import { toBase64, parseBase64 } from '../base64';
+import { toBase64, parseBase64 } from './base64/index';
 
 /**
  * 封装LocalStorage,做了 JSON序列化, URI 组件编码,base-64编码 处理

+ 0 - 107
src/utils/tool/cahce.js

@@ -1,107 +0,0 @@
-class QWebChannel {
-	constructor(transport, initCallback) {
-		if (typeof transport !== 'object' || typeof transport.send !== 'function') {
-			console.error(
-				'The QWebChannel expects a transport object with a send function and onmessage callback property.' +
-					' Given is: transport: ' +
-					typeof transport +
-					', transport.send: ' +
-					typeof transport.send
-			);
-			return;
-		}
-		this.transport = transport;
-		this.transport.onmessage = function(message) {
-			var data = message.data;
-			if (typeof data === 'string') {
-				data = JSON.parse(data);
-			}
-			switch (data.type) {
-				case QWebChannelMessageTypes.signal:
-					this.handleSignal(data);
-					break;
-				case QWebChannelMessageTypes.response:
-					this.handleResponse(data);
-					break;
-				case QWebChannelMessageTypes.propertyUpdate:
-					this.handlePropertyUpdate(data);
-					break;
-				default:
-					console.error('invalid message received:', message.data);
-					break;
-			}
-		};
-		this.execCallbacks = {};
-		this.execId = 0;
-		this.objects = {};
-		this.exec({ type: QWebChannelMessageTypes.init }, function(data) {
-			for (const objectName of Object.keys(data)) {
-				new QObject(objectName, data[objectName], this);
-			}
-
-			// now unwrap properties, which might reference other registered objects
-			for (const objectName of Object.keys(this.objects)) {
-				this.objects[objectName].unwrapProperties();
-			}
-
-			if (initCallback) {
-				initCallback(this);
-			}
-			this.exec({ type: QWebChannelMessageTypes.idle });
-		});
-	}
-	send(data) {
-		if (typeof data !== 'string') {
-			data = JSON.stringify(data);
-		}
-		this.transport.send(data);
-	}
-	exec(data, callback) {
-		if (!callback) {
-			// if no callback is given, send directly
-			this.send(data);
-			return;
-		}
-		if (this.execId === Number.MAX_VALUE) {
-			// wrap
-			this.execId = Number.MIN_VALUE;
-		}
-		if (data.hasOwnProperty('id')) {
-			console.error('Cannot exec message with property id: ' + JSON.stringify(data));
-			return;
-		}
-		data.id = this.execId++;
-		this.execCallbacks[data.id] = callback;
-		this.send(data);
-	}
-	handleSignal(message) {
-		var object = this.objects[message.object];
-		if (object) {
-			object.signalEmitted(message.signal, message.args);
-		} else {
-			console.warn('Unhandled signal: ' + message.object + '::' + message.signal);
-		}
-	}
-	handleResponse(message) {
-		if (!message.hasOwnProperty('id')) {
-			console.error('Invalid response message received: ', JSON.stringify(message));
-			return;
-		}
-		this.execCallbacks[message.id](message.data);
-		delete this.execCallbacks[message.id];
-	}
-	handlePropertyUpdate(message) {
-		message.data.forEach((data) => {
-			var object = this.objects[data.object];
-			if (object) {
-				object.propertyUpdate(data.signals, data.properties);
-			} else {
-				console.warn('Unhandled property update: ' + data.object + '::' + data.signal);
-			}
-		});
-		this.exec({ type: QWebChannelMessageTypes.idle });
-	}
-	debug(message) {
-		this.send({ type: QWebChannelMessageTypes.debug, data: message });
-	}
-}

+ 278 - 291
src/views/account/login.vue

@@ -1,49 +1,38 @@
 <template>
-  <div class="login">
-    <a-row type="flex"
-           justify="center"
-           align="middle">
-      <a-col>
-        <div class="login-background">
-          <div>
-            <img src="@/assets/images/logo.png"
-                 alt="" />
-          </div>
-        </div>
-        <div class="login-content">
-          <p>账号登录</p>
-          <a-form ref="formDom"
-                  :model="form"
-                  :rules="rules">
-            <a-form-item name="account">
-              <a-input placeholder="用户名/账号/手机号"
-                       v-model:value="form.account">
-                <template #prefix>
-                  <img src="@/assets/images/user.png"
-                       alt="" />
-                </template>
-              </a-input>
-            </a-form-item>
-            <a-form-item name="password">
-              <a-input @keyup.enter="loginAction"
-                       placeholder="请输入您的登录密码"
-                       type="password"
-                       v-model:value="form.password">
-                <template #prefix>
-                  <img src="@/assets/images/password.png"
-                       alt="" />
-                </template>
-              </a-input>
-            </a-form-item>
-            <a-form-item>
-              <div class="login-remember-password">
-                <a-checkbox v-model:checked="form.isRemember">
-                  记住账号
-                </a-checkbox>
-                <!-- <router-link to="/resetPassword">忘记密码?</router-link> -->
-              </div>
-            </a-form-item>
-            <!-- <a-form-item>
+    <div class="login">
+        <a-row type="flex" justify="center" align="middle">
+            <a-col>
+                <div class="login-background">
+                    <div>
+                        <img src="@/assets/images/logo.png" alt="" />
+                    </div>
+                </div>
+                <div class="login-content">
+                    <p>账号登录</p>
+                    <a-form ref="formDom" :model="form" :rules="rules">
+                        <a-form-item name="account">
+                            <a-input placeholder="用户名/账号/手机号" v-model:value="form.account">
+                                <template #prefix>
+                                    <img src="@/assets/images/user.png" alt="" />
+                                </template>
+                            </a-input>
+                        </a-form-item>
+                        <a-form-item name="password">
+                            <a-input @keyup.enter="loginAction" placeholder="请输入您的登录密码" type="password" v-model:value="form.password">
+                                <template #prefix>
+                                    <img src="@/assets/images/password.png" alt="" />
+                                </template>
+                            </a-input>
+                        </a-form-item>
+                        <a-form-item>
+                            <div class="login-remember-password">
+                                <a-checkbox v-model:checked="form.isRemember">
+                                    记住账号
+                                </a-checkbox>
+                                <!-- <router-link to="/resetPassword">忘记密码?</router-link> -->
+                            </div>
+                        </a-form-item>
+                        <!-- <a-form-item>
               <div style="text-align:left">
                 <a-checkbox v-model:checked="form.isRead">
                   我已阅读并同意
@@ -51,279 +40,277 @@
                 <router-link to="/resetPassword">《用户协议》</router-link>
               </div>
             </a-form-item> -->
-            <a-form-item>
-              <a-button @click="loginAction"
-                        :loading="loading"
-                        :disabled="goHomeloading">登录</a-button>
-            </a-form-item>
-          </a-form>
-        </div>
-      </a-col>
-    </a-row>
-  </div>
+                        <a-form-item>
+                            <a-button @click="loginAction" :loading="loading" :disabled="goHomeloading">登录</a-button>
+                        </a-form-item>
+                    </a-form>
+                </div>
+            </a-col>
+        </a-row>
+    </div>
 </template>
 
 <script lang="ts">
-import { defineComponent, reactive, ref, toRaw, onMounted } from 'vue';
-import { globalDataRefresh } from '@/services/bus/index';
-import { login } from '@/services/bus/login';
-import { useRouter } from 'vue-router';
-import { message } from 'ant-design-vue';
-import { localStorageUtil } from '@/utils/tool/storage/index';
-import { setLoadComplete } from '@/setup/methods/index';
-import eventBus from '@/utils/eventBus/index';
-import { QWebChannel } from '@/utils/tool/qwebchannel.js';
+    import { defineComponent, reactive, ref, toRaw, onMounted } from 'vue';
+    import { globalDataRefresh } from '@/services/bus/index';
+    import { login } from '@/services/bus/login';
+    import { useRouter } from 'vue-router';
+    import { message } from 'ant-design-vue';
+    import { localStorageUtil } from '@/utils/storage/index';
+    import { setLoadComplete } from '@/common/methods';
+    import eventBus from '@/utils/eventBus/index';
+    import { QWebChannel } from '@/utils/qt/qwebchannel.js';
 
-interface Form {
-    account: string;
-    password: string;
-    isRemember: boolean;
-    isRead: boolean;
-}
+    interface Form {
+        account: string;
+        password: string;
+        isRemember: boolean;
+        isRead: boolean;
+    }
 
-const initForm: Form = {
-    account: '',
-    password: '',
-    isRemember: false,
-    isRead: false,
-};
+    const initForm: Form = {
+        account: '',
+        password: '',
+        isRemember: false,
+        isRead: false,
+    };
 
-function setRememberAccount(): void {
-    const account: string = localStorageUtil.getItem('loginAccount');
-    if (account) {
-        Object.assign(initForm, { account, isRemember: true });
+    function setRememberAccount(): void {
+        const account: string = localStorageUtil.getItem('loginAccount');
+        if (account) {
+            Object.assign(initForm, { account, isRemember: true });
+        }
     }
-}
-declare global {
-    interface Window {
-        qt: {
-            webChannelTransport: {
-                send: (payload: any) => void;
-                onmessage: (payload: any) => void;
+    declare global {
+        interface Window {
+            qt: {
+                webChannelTransport: {
+                    send: (payload: any) => void;
+                    onmessage: (payload: any) => void;
+                };
             };
-        };
-    }
-}
-function qtAction() {
-    // 获取 与qt交互实例
-    let qtWebChannel: any = null;
-    const webChannelTransport = window.qt?.webChannelTransport;
-    if (webChannelTransport) {
-        new QWebChannel(webChannelTransport, (channel: any) => {
-            // all published objects are available in channel.objects under
-            // the identifier set in their attached WebChannel.id property
-            qtWebChannel = channel.objects.bridge;
-            console.log('qtWebChannel', qtWebChannel);
-        });
+        }
     }
-
-    function getQtInfo(): Promise<Uint8Array[]> {
-        if (qtWebChannel) {
-            return qtWebChannel.getSystemInfo().then((res: any) => {
-                const arr = [];
-                for (var i = 0, j = res.length; i < j; ++i) {
-                    arr.push(res.charCodeAt(i));
-                }
-                return new Uint8Array(arr);
+    function qtAction() {
+        // 获取 与qt交互实例
+        let qtWebChannel: any = null;
+        const webChannelTransport = window.qt?.webChannelTransport;
+        if (webChannelTransport) {
+            new QWebChannel(webChannelTransport, (channel: any) => {
+                // all published objects are available in channel.objects under
+                // the identifier set in their attached WebChannel.id property
+                qtWebChannel = channel.objects.bridge;
+                console.log('qtWebChannel', qtWebChannel);
             });
-        } else {
-            console.warn('qtWebChannel is null');
-            return Promise.resolve([]);
         }
-    }
-    return { getQtInfo };
-}
-
-// function qtAction(value: any) {
-//     if (qtWebChannel) {
-//         qtWebChannel.getSystemInfo().then((res: any) => {
-//             const arr = [];
-//             for (var i = 0, j = res.length; i < j; ++i) {
-//                 arr.push(res.charCodeAt(i));
-//             }
-//             console.log(new Uint8Array(arr));
-//         });
-//     } else {
-//         alert('qtWebChannel is null');
-//     }
-// }
 
-export default defineComponent({
-    name: 'login',
-    components: {},
-    setup() {
-        const loading = ref<boolean>(false);
-        const form = reactive(initForm);
-        const rules = {
-            account: [{ required: true, message: '请输入手机号!', trigger: 'change', type: 'string' }],
-            password: [{ required: true, message: '请输入密码!', trigger: 'change', type: 'string' }],
-        };
-        const formDom: any = ref(null);
-        const router = useRouter();
-        form.password = '';
-        setRememberAccount();
-        // qt
-        const { getQtInfo } = qtAction();
-        function loginAction() {
-            formDom.value.validate().then(() => {
-                loading.value = true;
-                const { account, password } = toRaw(form);
-                setLoadComplete(false);
-                getQtInfo().then((arr) => {
-                    console.log('Uint8Array', arr);
-                    login(account, password, arr)
-                        .then((value: any) => {
-                            setLoadComplete(true);
-                            const { account, isRemember } = toRaw(form);
-                            if (isRemember) {
-                                localStorageUtil.setItem('loginAccount', account); // 缓存登录账号
-                            }
-                            eventBus.$emit('loginSuccess', true);
-                            router.push({ name: 'home' });
-                            loading.value = false;
-                        })
-                        .catch((err: any) => {
-                            loading.value = false;
-                            err && message.error(err);
-                        });
+        function getQtInfo(): Promise<Uint8Array[]> {
+            if (qtWebChannel) {
+                return qtWebChannel.getSystemInfo().then((res: any) => {
+                    const arr = [];
+                    for (var i = 0, j = res.length; i < j; ++i) {
+                        arr.push(res.charCodeAt(i));
+                    }
+                    return new Uint8Array(arr);
                 });
-            });
+            } else {
+                console.warn('qtWebChannel is null');
+                return Promise.resolve([]);
+            }
         }
-        // 直接前往首页
-        const goHomeloading = ref<boolean>(false);
-        const goHome = () => {
-            goHomeloading.value = true;
-            setLoadComplete(false);
-            globalDataRefresh()
-                .then((res) => {
-                    setLoadComplete(true);
-                    goHomeloading.value = false;
-                    router.push({ name: 'home' });
-                })
-                .catch((err) => {
-                    console.error(err);
-                    goHomeloading.value = false;
+        return { getQtInfo };
+    }
+
+    // function qtAction(value: any) {
+    //     if (qtWebChannel) {
+    //         qtWebChannel.getSystemInfo().then((res: any) => {
+    //             const arr = [];
+    //             for (var i = 0, j = res.length; i < j; ++i) {
+    //                 arr.push(res.charCodeAt(i));
+    //             }
+    //             console.log(new Uint8Array(arr));
+    //         });
+    //     } else {
+    //         alert('qtWebChannel is null');
+    //     }
+    // }
+
+    export default defineComponent({
+        name: 'login',
+        components: {},
+        setup() {
+            const loading = ref<boolean>(false);
+            const form = reactive(initForm);
+            const rules = {
+                account: [{ required: true, message: '请输入手机号!', trigger: 'change', type: 'string' }],
+                password: [{ required: true, message: '请输入密码!', trigger: 'change', type: 'string' }],
+            };
+            const formDom: any = ref(null);
+            const router = useRouter();
+            form.password = '';
+            setRememberAccount();
+            // qt
+            const { getQtInfo } = qtAction();
+            function loginAction() {
+                formDom.value.validate().then(() => {
+                    loading.value = true;
+                    const { account, password } = toRaw(form);
+                    setLoadComplete(false);
+                    getQtInfo().then((arr) => {
+                        console.log('Uint8Array', arr);
+                        login(account, password, arr)
+                            .then((value: any) => {
+                                setLoadComplete(true);
+                                const { account, isRemember } = toRaw(form);
+                                if (isRemember) {
+                                    localStorageUtil.setItem('loginAccount', account); // 缓存登录账号
+                                }
+                                eventBus.$emit('loginSuccess', true);
+                                router.push({ name: 'home' });
+                                loading.value = false;
+                            })
+                            .catch((err: any) => {
+                                loading.value = false;
+                                err && message.error(err);
+                            });
+                    });
                 });
-        };
-        return { form, loginAction, rules, formDom, loading, goHomeloading, goHome };
-    },
-});
+            }
+            // 直接前往首页
+            const goHomeloading = ref<boolean>(false);
+            const goHome = () => {
+                goHomeloading.value = true;
+                setLoadComplete(false);
+                globalDataRefresh()
+                    .then((res) => {
+                        setLoadComplete(true);
+                        goHomeloading.value = false;
+                        router.push({ name: 'home' });
+                    })
+                    .catch((err) => {
+                        console.error(err);
+                        goHomeloading.value = false;
+                    });
+            };
+            return { form, loginAction, rules, formDom, loading, goHomeloading, goHome };
+        },
+    });
 </script>
 
 <style lang="less" scoped>
-.login {
-    width: 100%;
-    height: 100%;
-    background: url(../../assets/images/loginBackground.png) no-repeat scroll 0 0;
-    background-size: 100% 100%;
-}
-.ant-row {
-    height: 100%;
-}
-.ant-col {
-    width: 690px;
-    height: 450px;
-    background: #fff;
-    border-radius: 5px;
-    box-shadow: 0px 5px 10px 0px rgba(18, 22, 24, 0.18);
-    .flex();
-}
-.login-background {
-    width: 324px;
-    background: url('../../assets/images/logoBackground.png') no-repeat scroll 0 0;
-    div {
-        margin-top: 120px;
-        margin-left: 55px;
-        width: 136px;
-        height: 136px;
-        min-width: 136px;
-        min-height: 136px;
-        position: relative;
-        img {
-            max-width: 100%;
-            max-height: 100%;
-            .position(absolute, 0%, auto, auto, 50%);
-            z-index: 10;
-            transform: translate(-50%, -50%);
-        }
+    .login {
+        width: 100%;
+        height: 100%;
+        background: url(../../assets/images/loginBackground.png) no-repeat scroll 0 0;
+        background-size: 100% 100%;
     }
+    .ant-row {
+        height: 100%;
+    }
+    .ant-col {
+        width: 690px;
+        height: 450px;
+        background: #fff;
+        border-radius: 5px;
+        box-shadow: 0px 5px 10px 0px rgba(18, 22, 24, 0.18);
+        .flex();
+    }
+    .login-background {
+        width: 324px;
+        background: url('../../assets/images/logoBackground.png') no-repeat scroll 0 0;
+        div {
+            margin-top: 120px;
+            margin-left: 55px;
+            width: 136px;
+            height: 136px;
+            min-width: 136px;
+            min-height: 136px;
+            position: relative;
+            img {
+                max-width: 100%;
+                max-height: 100%;
+                .position(absolute, 0%, auto, auto, 50%);
+                z-index: 10;
+                transform: translate(-50%, -50%);
+            }
+        }
 
-    // .ant-btn {
-    //     background: @cyan-color2;
-    //     border-color: @cyan-color2;
-    //     border-radius: 10px;
-    //     font-size: 14px;
-    //     color: @white;
-    //     margin-top: 90px;
-    //     margin-left: -60px;
-    // }
-}
-.login-content {
-    flex: 1;
-    margin-left: 20px;
-    margin-right: 80px;
-    ::v-deep(.ant-form) {
-        margin-top: 20px;
-        .ant-form-item-control-wrapper {
-            width: 100%;
+        // .ant-btn {
+        //     background: @cyan-color2;
+        //     border-color: @cyan-color2;
+        //     border-radius: 10px;
+        //     font-size: 14px;
+        //     color: @white;
+        //     margin-top: 90px;
+        //     margin-left: -60px;
+        // }
+    }
+    .login-content {
+        flex: 1;
+        margin-left: 20px;
+        margin-right: 80px;
+        ::v-deep(.ant-form) {
+            margin-top: 20px;
+            .ant-form-item-control-wrapper {
+                width: 100%;
+            }
+            .ant-input {
+                border: 0;
+                border-radius: 0;
+                width: 154px;
+                height: 40px;
+                font-size: 16px;
+                font-family: Adobe Heiti Std;
+            }
+            .ant-input-affix-wrapper {
+                box-shadow: none;
+                border: none;
+                border-radius: 0;
+                border-bottom: 1px solid @m-grey3;
+                padding: 0;
+            }
+            .ant-input-affix-wrapper:hover {
+                border-bottom: 1px solid @m-blue1;
+            }
         }
-        .ant-input {
-            border: 0;
-            border-radius: 0;
-            width: 154px;
-            height: 40px;
+
+        .ant-form-item,
+        .ant-form label {
             font-size: 16px;
+        }
+        .ant-form-item {
+            margin-bottom: 10px;
+        }
+        p {
+            font-size: 26px;
+            text-align: left;
             font-family: Adobe Heiti Std;
+            font-weight: normal;
+            color: @m-grey4;
+            margin-top: 40px;
+            margin-bottom: 10px;
         }
-        .ant-input-affix-wrapper {
-            box-shadow: none;
-            border: none;
-            border-radius: 0;
-            border-bottom: 1px solid @m-grey3;
-            padding: 0;
+        img {
+            width: 19px;
+            height: 21px;
         }
-        .ant-input-affix-wrapper:hover {
-            border-bottom: 1px solid @m-blue1;
+        .login-remember-password {
+            .flex();
+            justify-content: space-between;
+            a {
+                color: @m-grey4;
+            }
         }
-    }
 
-    .ant-form-item,
-    .ant-form label {
-        font-size: 16px;
-    }
-    .ant-form-item {
-        margin-bottom: 10px;
-    }
-    p {
-        font-size: 26px;
-        text-align: left;
-        font-family: Adobe Heiti Std;
-        font-weight: normal;
-        color: @m-grey4;
-        margin-top: 40px;
-        margin-bottom: 10px;
-    }
-    img {
-        width: 19px;
-        height: 21px;
-    }
-    .login-remember-password {
-        .flex();
-        justify-content: space-between;
-        a {
-            color: @m-grey4;
+        .ant-btn {
+            width: 100%;
+            font-size: 16px;
+            background: @m-blue1;
+            border-radius: 3px;
+            color: @m-white;
+            height: 50px;
+            font-weight: 500;
+            line-height: 43px;
         }
     }
-
-    .ant-btn {
-        width: 100%;
-        font-size: 16px;
-        background: @m-blue1;
-        border-radius: 3px;
-        color: @m-white;
-        height: 50px;
-        font-weight: 500;
-        line-height: 43px;
-    }
-}
 </style>

+ 26 - 28
src/views/business/purchase/index.vue

@@ -1,36 +1,34 @@
 <template>
-  <!-- 采购 -->
-  <div class="purchase">
-    <firstMenu :list="list"
-               :value="'title'"
-               @selectMenu="selectMenu" />
-    <router-view />
-  </div>
+    <!-- 采购 -->
+    <div class="purchase">
+        <firstMenu :list="list" :value="'title'" @selectMenu="selectMenu" />
+        <router-view />
+    </div>
 </template>
 
 <script lang="ts">
-import { defineComponent } from 'vue';
-import firstMenu from '@/components/firstMenu/index.vue';
-import { handleRouterMenu } from '@/setup/router/index';
-import { initData } from '@/setup/methods/index';
+    import { defineComponent } from 'vue';
+    import firstMenu from '@/common/components/firstMenu/index.vue';
+    import { handleRouterMenu } from '@/common/setup/router/index';
+    import { initData } from '@/common/methods';
 
-export default defineComponent({
-    name: 'purchase',
-    components: {
-        firstMenu,
-    },
-    setup() {
-        const { list, selectMenu, getMenuList } = handleRouterMenu();
-        initData(() => {
-            getMenuList();
-            console.log('list', list);
-        });
-        return { list, selectMenu };
-    },
-});
+    export default defineComponent({
+        name: 'purchase',
+        components: {
+            firstMenu,
+        },
+        setup() {
+            const { list, selectMenu, getMenuList } = handleRouterMenu();
+            initData(() => {
+                getMenuList();
+                console.log('list', list);
+            });
+            return { list, selectMenu };
+        },
+    });
 </script>
 
 <style lang="less">
-.spurchase {
-}
-</style>;
+    .spurchase {
+    }</style
+>;

+ 1 - 1
src/views/business/purchase/list/forward/index.vue

@@ -10,7 +10,7 @@
     import { QueryCustomInfo } from '@/services/go/ermcp/customInfo/index';
     import { QueryCustomInfoType } from '@/services/go/ermcp/customInfo/interface';
     import { message } from 'ant-design-vue';
-    import { initData } from '@/setup/methods/index';
+    import { initData } from '@/common/methods';
 
     // 查询客户资料列表
     function getCustomList() {

+ 1 - 1
src/views/business/purchase/list/history/index.vue

@@ -10,7 +10,7 @@
     import { QueryCustomInfo } from '@/services/go/ermcp/customInfo/index';
     import { QueryCustomInfoType } from '@/services/go/ermcp/customInfo/interface';
     import { message } from 'ant-design-vue';
-    import { initData } from '@/setup/methods/index';
+    import { initData } from '@/common/methods';
 
     // 查询客户资料列表
     function getCustomList() {

+ 1 - 1
src/views/business/purchase/list/real-time/index.vue

@@ -10,7 +10,7 @@
     import { QueryCustomInfo } from '@/services/go/ermcp/customInfo/index';
     import { QueryCustomInfoType } from '@/services/go/ermcp/customInfo/interface';
     import { message } from 'ant-design-vue';
-    import { initData } from '@/setup/methods/index';
+    import { initData } from '@/common/methods';
 
     // 查询客户资料列表
     function getCustomList() {

+ 1 - 1
src/views/business/purchase/list/spot/index.vue

@@ -10,7 +10,7 @@
     import { QueryCustomInfo } from '@/services/go/ermcp/customInfo/index';
     import { QueryCustomInfoType } from '@/services/go/ermcp/customInfo/interface';
     import { message } from 'ant-design-vue';
-    import { initData } from '@/setup/methods/index';
+    import { initData } from '@/common/methods';
 
     // 查询客户资料列表
     function getCustomList() {

+ 1 - 1
src/views/home.vue

@@ -8,7 +8,7 @@
     import { defineComponent, ref, provide } from 'vue';
     import { queryClientFixedADConfigs } from '@/services/http/advert/index';
     import { advert } from '@/services/dataCenter/interface';
-    import { initData } from '@/setup/methods/index';
+    import { initData } from '@/common/methods';
 
     // 获取该组件需要的数据
     const useData = () => {

+ 3 - 3
src/views/information/custom/compoments/addCustom/index.vue

@@ -147,7 +147,7 @@
               </a-select-option>
               <a-select-option value="2">
                 客户二
-              </a-select-option>
+              </a-select-optio@/common/methods
             </a-select>
             <a-select class="inlineFormSelect"
                       style="width: 205px"
@@ -186,8 +186,8 @@
 
 <script lang="ts">
 import { defineComponent, ref } from 'vue';
-import { closeModal } from '@/setup/modal/index';
-import { initData } from '@/setup/methods/index';
+import { closeModal } from '@/common/setup/modal/index';
+import { initData } from '@/common/methods/index';
 
 export default defineComponent({
     name: 'add-custom',

+ 134 - 143
src/views/information/custom/compoments/customDetail/index.vue

@@ -1,151 +1,142 @@
 <template>
-  <!-- 客户资料详情-->
-  <a-modal class="add-custom custom-detail"
-           title="客户资料详情"
-           v-model:visible="visible"
-           @cancel="cancel"
-           width="890px">
-    <template #footer>
-      <a-button key="submit"
-                type="primary"
-                :loading="loading"
-                @click="submit">关闭</a-button>
-    </template>
-    <a-form class="inlineForm"
-            :form="form"
-            @submit="handleSearch">
-      <a-row :gutter="24">
-        <a-col :span="12">
-          <a-form-item label="客户类型">
-            <span class="white">企业</span>
-          </a-form-item>
-        </a-col>
-        <a-col :span="12">
-          <a-form-item label="企业名称">
-            <span class="white">深圳市前海矿业有限公司</span>
-          </a-form-item>
-        </a-col>
-      </a-row>
-      <a-row :gutter="24">
-        <a-col :span="12">
-          <a-form-item label="企业简称">
-            <span class="white">前海矿业</span>
-          </a-form-item>
-        </a-col>
-        <a-col :span="12">
-          <a-form-item label="证件类型">
-            <span class="white">营业执照</span>
-          </a-form-item>
-        </a-col>
-      </a-row>
-      <a-row :gutter="24">
-        <a-col :span="12">
-          <a-form-item label="法定代表人">
-            <span class="white">李顺利</span>
-          </a-form-item>
-        </a-col>
-        <a-col :span="12">
-          <a-form-item label="证件号码">
-            <span class="white">4328648236492432</span>
-          </a-form-item>
-        </a-col>
-      </a-row>
-      <a-row :gutter="24">
-        <a-col :span="12">
-          <a-form-item label="纳税人识别号">
-            <span class="white">57465736DR46456</span>
-          </a-form-item>
-        </a-col>
-        <a-col :span="12">
-          <a-form-item label="营业执照">
-            <div class="upload">
-              <a class="blue">查看附件</a>
-            </div>
-          </a-form-item>
-        </a-col>
-      </a-row>
-      <a-row :gutter="24">
-        <a-col :span="12">
-          <a-form-item label="联系人">
-            <span class="white">王平</span>
-          </a-form-item>
-        </a-col>
-        <a-col :span="12">
-          <a-form-item label="联系人手机号">
-            <span class="white">13745653421</span>
-          </a-form-item>
-        </a-col>
-      </a-row>
-      <a-row :gutter="24">
-        <a-col :span="12">
-          <a-form-item label="联系电话">
-            <span class="white">0755-34342544</span>
-          </a-form-item>
-        </a-col>
-        <a-col :span="12">
-          <a-form-item label="状态">
-            <span class="green">正常</span>
-          </a-form-item>
-        </a-col>
-      </a-row>
-      <a-row :gutter="24">
-        <a-col :span="24">
-          <a-form-item label="通讯地址">
-            <span class="white">广东省深圳市南山区前海街道路平路1324号</span>
-          </a-form-item>
-        </a-col>
-      </a-row>
-      <a-row :gutter="24">
-        <a-col :span="24">
-          <a-form-item label="备注">
-            <span class="white">深圳市前海矿业有限公司</span>
-          </a-form-item>
-        </a-col>
-      </a-row>
-    </a-form>
-  </a-modal>
+    <!-- 客户资料详情-->
+    <a-modal class="add-custom custom-detail" title="客户资料详情" v-model:visible="visible" @cancel="cancel" width="890px">
+        <template #footer>
+            <a-button key="submit" type="primary" :loading="loading" @click="submit">关闭</a-button>
+        </template>
+        <a-form class="inlineForm" :form="form" @submit="handleSearch">
+            <a-row :gutter="24">
+                <a-col :span="12">
+                    <a-form-item label="客户类型">
+                        <span class="white">企业</span>
+                    </a-form-item>
+                </a-col>
+                <a-col :span="12">
+                    <a-form-item label="企业名称">
+                        <span class="white">深圳市前海矿业有限公司</span>
+                    </a-form-item>
+                </a-col>
+            </a-row>
+            <a-row :gutter="24">
+                <a-col :span="12">
+                    <a-form-item label="企业简称">
+                        <span class="white">前海矿业</span>
+                    </a-form-item>
+                </a-col>
+                <a-col :span="12">
+                    <a-form-item label="证件类型">
+                        <span class="white">营业执照</span>
+                    </a-form-item>
+                </a-col>
+            </a-row>
+            <a-row :gutter="24">
+                <a-col :span="12">
+                    <a-form-item label="法定代表人">
+                        <span class="white">李顺利</span>
+                    </a-form-item>
+                </a-col>
+                <a-col :span="12">
+                    <a-form-item label="证件号码">
+                        <span class="white">4328648236492432</span>
+                    </a-form-item>
+                </a-col>
+            </a-row>
+            <a-row :gutter="24">
+                <a-col :span="12">
+                    <a-form-item label="纳税人识别号">
+                        <span class="white">57465736DR46456</span>
+                    </a-form-item>
+                </a-col>
+                <a-col :span="12">
+                    <a-form-item label="营业执照">
+                        <div class="upload">
+                            <a class="blue">查看附件</a>
+                        </div>
+                    </a-form-item>
+                </a-col>
+            </a-row>
+            <a-row :gutter="24">
+                <a-col :span="12">
+                    <a-form-item label="联系人">
+                        <span class="white">王平</span>
+                    </a-form-item>
+                </a-col>
+                <a-col :span="12">
+                    <a-form-item label="联系人手机号">
+                        <span class="white">13745653421</span>
+                    </a-form-item>
+                </a-col>
+            </a-row>
+            <a-row :gutter="24">
+                <a-col :span="12">
+                    <a-form-item label="联系电话">
+                        <span class="white">0755-34342544</span>
+                    </a-form-item>
+                </a-col>
+                <a-col :span="12">
+                    <a-form-item label="状态">
+                        <span class="green">正常</span>
+                    </a-form-item>
+                </a-col>
+            </a-row>
+            <a-row :gutter="24">
+                <a-col :span="24">
+                    <a-form-item label="通讯地址">
+                        <span class="white">广东省深圳市南山区前海街道路平路1324号</span>
+                    </a-form-item>
+                </a-col>
+            </a-row>
+            <a-row :gutter="24">
+                <a-col :span="24">
+                    <a-form-item label="备注">
+                        <span class="white">深圳市前海矿业有限公司</span>
+                    </a-form-item>
+                </a-col>
+            </a-row>
+        </a-form>
+    </a-modal>
 </template>
 
 <script lang="ts">
-import { defineComponent, ref } from 'vue';
-import { closeModal } from '@/setup/modal/index';
+    import { defineComponent, ref } from 'vue';
+    import { closeModal } from '@/common/setup/modal/index';
 
-export default defineComponent({
-    name: 'custom-detail',
-    components: {},
-    setup() {
-        const { visible, cancel } = closeModal('customDetail');
-        const loading = ref<boolean>(false);
-        function submit() {
-            loading.value = true;
-            setTimeout(() => {
-                loading.value = false;
-                cancel();
-            }, 2000);
-        }
-        return {
-            visible,
-            cancel,
-            submit,
-            loading,
-        };
-    },
-});
+    export default defineComponent({
+        name: 'custom-detail',
+        components: {},
+        setup() {
+            const { visible, cancel } = closeModal('customDetail');
+            const loading = ref<boolean>(false);
+            function submit() {
+                loading.value = true;
+                setTimeout(() => {
+                    loading.value = false;
+                    cancel();
+                }, 2000);
+            }
+            return {
+                visible,
+                cancel,
+                submit,
+                loading,
+            };
+        },
+    });
 </script>
 
 <style lang="less">
-.custom-detail {
-}
-.ant-form.inlineForm {
-    margin-top: 20px;
-}
-.white {
-    color: @m-white0;
-}
-.blue {
-    color: @m-blue0;
-}
-.green {
-    color: @m-green0;
-}
-</style>;
+    .custom-detail {
+    }
+    .ant-form.inlineForm {
+        margin-top: 20px;
+    }
+    .white {
+        color: @m-white0;
+    }
+    .blue {
+        color: @m-blue0;
+    }
+    .green {
+        color: @m-green0;
+    }</style
+>;

+ 32 - 39
src/views/information/custom/compoments/deleteCustom/index.vue

@@ -1,47 +1,40 @@
 <template>
-  <!-- 恢复客户资料-->
-  <a-modal class="recover-custom"
-           title="恢复客户资料"
-           v-model:visible="visible"
-           @cancel="cancel"
-           width="890px">
-    <template #footer>
-      <a-button key="submit"
-                type="primary"
-                :loading="loading"
-                @click="submit">完成</a-button>
-    </template>
-  </a-modal>
+    <!-- 恢复客户资料-->
+    <a-modal class="recover-custom" title="恢复客户资料" v-model:visible="visible" @cancel="cancel" width="890px">
+        <template #footer>
+            <a-button key="submit" type="primary" :loading="loading" @click="submit">完成</a-button>
+        </template>
+    </a-modal>
 </template>
 
 <script lang="ts">
-import { defineComponent, ref } from 'vue';
-import { closeModal } from '@/setup/modal/index';
+    import { defineComponent, ref } from 'vue';
+    import { closeModal } from '@/common/setup/modal/index';
 
-export default defineComponent({
-    name: 'recover-custom',
-    components: {},
-    setup() {
-        const { visible, cancel } = closeModal('deleteCustomInfo');
-        const loading = ref<boolean>(false);
-        function submit() {
-            loading.value = true;
-            setTimeout(() => {
-                loading.value = false;
-                cancel();
-            }, 2000);
-        }
-        return {
-            visible,
-            cancel,
-            submit,
-            loading,
-        };
-    },
-});
+    export default defineComponent({
+        name: 'recover-custom',
+        components: {},
+        setup() {
+            const { visible, cancel } = closeModal('deleteCustomInfo');
+            const loading = ref<boolean>(false);
+            function submit() {
+                loading.value = true;
+                setTimeout(() => {
+                    loading.value = false;
+                    cancel();
+                }, 2000);
+            }
+            return {
+                visible,
+                cancel,
+                submit,
+                loading,
+            };
+        },
+    });
 </script>
 
 <style lang="less">
-.recover-custom {
-}
-</style>;
+    .recover-custom {
+    }</style
+>;

+ 121 - 132
src/views/information/custom/compoments/disableCustom/index.vue

@@ -1,140 +1,129 @@
 <template>
-  <!-- 停用客户资料-->
-  <a-modal class="commonModal warehouse-disable"
-           title="停用客户资料"
-           v-model:visible="visible"
-           @cancel="cancel"
-           width="890px">
-    <template #footer>
-      <a-button key="submit"
-                class="cancelBtn"
-                @click="cancel">取消</a-button>
-      <a-button key="submit"
-                type="primary"
-                :loading="loading"
-                @click="submit">确认停用</a-button>
-    </template>
-    <a-form class="inlineForm"
-            :form="form"
-            @submit="handleSearch">
-      <a-row :gutter="24">
-        <a-col :span="12">
-          <a-form-item label="客户类型">
-            <span class="white">企业</span>
-          </a-form-item>
-        </a-col>
-        <a-col :span="12">
-          <a-form-item label="企业名称">
-            <span class="white">深圳市前海矿业有限公司</span>
-          </a-form-item>
-        </a-col>
-      </a-row>
-      <a-row :gutter="24">
-        <a-col :span="12">
-          <a-form-item label="企业简称">
-            <span class="white">前海矿业</span>
-          </a-form-item>
-        </a-col>
-        <a-col :span="12">
-          <a-form-item label="证件类型">
-            <span class="white">营业执照</span>
-          </a-form-item>
-        </a-col>
-      </a-row>
-      <a-row :gutter="24">
-        <a-col :span="12">
-          <a-form-item label="法定代表人">
-            <span class="white">李顺利</span>
-          </a-form-item>
-        </a-col>
-        <a-col :span="12">
-          <a-form-item label="证件号码">
-            <span class="white">4328648236492432</span>
-          </a-form-item>
-        </a-col>
-      </a-row>
-      <a-row :gutter="24">
-        <a-col :span="12">
-          <a-form-item label="纳税人识别号">
-            <span class="white">57465736DR46456</span>
-          </a-form-item>
-        </a-col>
-        <a-col :span="12">
-          <a-form-item label="营业执照">
-            <a class="blue">查看附件</a>
-          </a-form-item>
-        </a-col>
-      </a-row>
-      <a-row :gutter="24">
-        <a-col :span="12">
-          <a-form-item label="联系人">
-            <span class="white">王平</span>
-          </a-form-item>
-        </a-col>
-        <a-col :span="12">
-          <a-form-item label="联系人手机号">
-            <span class="white">13745653421</span>
-          </a-form-item>
-        </a-col>
-      </a-row>
-      <a-row :gutter="24">
-        <a-col :span="12">
-          <a-form-item label="联系电话">
-            <span class="white">0755-34342544</span>
-          </a-form-item>
-        </a-col>
-        <a-col :span="12">
-          <a-form-item label="状态">
-            <span class="green">正常</span>
-          </a-form-item>
-        </a-col>
-      </a-row>
-      <a-row :gutter="24">
-        <a-col :span="24">
-          <a-form-item label="通讯地址">
-            <span class="white">广东省深圳市南山区前海街道路平路1324号</span>
-          </a-form-item>
-        </a-col>
-      </a-row>
-      <a-row :gutter="24">
-        <a-col :span="24">
-          <a-form-item label="备注">
-            <span class="white">无</span>
-          </a-form-item>
-        </a-col>
-      </a-row>
-    </a-form>
-  </a-modal>
+    <!-- 停用客户资料-->
+    <a-modal class="commonModal warehouse-disable" title="停用客户资料" v-model:visible="visible" @cancel="cancel" width="890px">
+        <template #footer>
+            <a-button key="submit" class="cancelBtn" @click="cancel">取消</a-button>
+            <a-button key="submit" type="primary" :loading="loading" @click="submit">确认停用</a-button>
+        </template>
+        <a-form class="inlineForm" :form="form" @submit="handleSearch">
+            <a-row :gutter="24">
+                <a-col :span="12">
+                    <a-form-item label="客户类型">
+                        <span class="white">企业</span>
+                    </a-form-item>
+                </a-col>
+                <a-col :span="12">
+                    <a-form-item label="企业名称">
+                        <span class="white">深圳市前海矿业有限公司</span>
+                    </a-form-item>
+                </a-col>
+            </a-row>
+            <a-row :gutter="24">
+                <a-col :span="12">
+                    <a-form-item label="企业简称">
+                        <span class="white">前海矿业</span>
+                    </a-form-item>
+                </a-col>
+                <a-col :span="12">
+                    <a-form-item label="证件类型">
+                        <span class="white">营业执照</span>
+                    </a-form-item>
+                </a-col>
+            </a-row>
+            <a-row :gutter="24">
+                <a-col :span="12">
+                    <a-form-item label="法定代表人">
+                        <span class="white">李顺利</span>
+                    </a-form-item>
+                </a-col>
+                <a-col :span="12">
+                    <a-form-item label="证件号码">
+                        <span class="white">4328648236492432</span>
+                    </a-form-item>
+                </a-col>
+            </a-row>
+            <a-row :gutter="24">
+                <a-col :span="12">
+                    <a-form-item label="纳税人识别号">
+                        <span class="white">57465736DR46456</span>
+                    </a-form-item>
+                </a-col>
+                <a-col :span="12">
+                    <a-form-item label="营业执照">
+                        <a class="blue">查看附件</a>
+                    </a-form-item>
+                </a-col>
+            </a-row>
+            <a-row :gutter="24">
+                <a-col :span="12">
+                    <a-form-item label="联系人">
+                        <span class="white">王平</span>
+                    </a-form-item>
+                </a-col>
+                <a-col :span="12">
+                    <a-form-item label="联系人手机号">
+                        <span class="white">13745653421</span>
+                    </a-form-item>
+                </a-col>
+            </a-row>
+            <a-row :gutter="24">
+                <a-col :span="12">
+                    <a-form-item label="联系电话">
+                        <span class="white">0755-34342544</span>
+                    </a-form-item>
+                </a-col>
+                <a-col :span="12">
+                    <a-form-item label="状态">
+                        <span class="green">正常</span>
+                    </a-form-item>
+                </a-col>
+            </a-row>
+            <a-row :gutter="24">
+                <a-col :span="24">
+                    <a-form-item label="通讯地址">
+                        <span class="white">广东省深圳市南山区前海街道路平路1324号</span>
+                    </a-form-item>
+                </a-col>
+            </a-row>
+            <a-row :gutter="24">
+                <a-col :span="24">
+                    <a-form-item label="备注">
+                        <span class="white">无</span>
+                    </a-form-item>
+                </a-col>
+            </a-row>
+        </a-form>
+    </a-modal>
 </template>
 
 <script lang="ts">
-import { defineComponent, ref } from 'vue';
-import { closeModal } from '@/setup/modal/index';
+    import { defineComponent, ref } from 'vue';
+    import { closeModal } from '@/common/setup/modal/index';
 
-export default defineComponent({
-    name: 'custom-disable',
-    components: {},
-    setup() {
-        const { visible, cancel } = closeModal('disableCustomInfo');
-        const loading = ref<boolean>(false);
-        function submit() {
-            loading.value = true;
-            setTimeout(() => {
-                loading.value = false;
-                cancel();
-            }, 2000);
-        }
-        return {
-            visible,
-            cancel,
-            submit,
-            loading,
-        };
-    },
-});
+    export default defineComponent({
+        name: 'custom-disable',
+        components: {},
+        setup() {
+            const { visible, cancel } = closeModal('disableCustomInfo');
+            const loading = ref<boolean>(false);
+            function submit() {
+                loading.value = true;
+                setTimeout(() => {
+                    loading.value = false;
+                    cancel();
+                }, 2000);
+            }
+            return {
+                visible,
+                cancel,
+                submit,
+                loading,
+            };
+        },
+    });
 </script>
 
 <style lang="less">
-.arehouse-disable {
-}
-</style>;
+    .arehouse-disable {
+    }</style
+>;

+ 31 - 39
src/views/information/custom/compoments/modifyCustom/index.vue

@@ -1,48 +1,40 @@
 <template>
-  <!-- 修改客户资料-->
-  <a-modal class="modify-custom"
-           title="修改客户资料"
-           v-model:visible="visible"
-           @cancel="cancel"
-           width="890px">
-    <template #footer>
-      <a-button key="submit"
-                type="primary"
-                :loading="loading"
-                @click="submit">完成</a-button>
-    </template>
-  </a-modal>
+    <!-- 修改客户资料-->
+    <a-modal class="modify-custom" title="修改客户资料" v-model:visible="visible" @cancel="cancel" width="890px">
+        <template #footer>
+            <a-button key="submit" type="primary" :loading="loading" @click="submit">完成</a-button>
+        </template>
+    </a-modal>
 </template>
 
 <script lang="ts">
-import { defineComponent, ref } from 'vue';
-import { closeModal } from '@/setup/modal/index';
+    import { defineComponent, ref } from 'vue';
+    import { closeModal } from '@/common/setup/modal/index';
 
-export default defineComponent({
-    name: 'modify-custom',
-    components: {},
-    setup() {
-        const { visible, cancel } = closeModal('modifyCustomInfo');
-        const loading = ref<boolean>(false);
-        function submit() {
-            loading.value = true;
-            setTimeout(() => {
-                loading.value = false;
-                cancel();
-            }, 2000);
-        }
-        return {
-            visible,
-            cancel,
-            submit,
-            loading,
-        };
-    },
-});
+    export default defineComponent({
+        name: 'modify-custom',
+        components: {},
+        setup() {
+            const { visible, cancel } = closeModal('modifyCustomInfo');
+            const loading = ref<boolean>(false);
+            function submit() {
+                loading.value = true;
+                setTimeout(() => {
+                    loading.value = false;
+                    cancel();
+                }, 2000);
+            }
+            return {
+                visible,
+                cancel,
+                submit,
+                loading,
+            };
+        },
+    });
 </script>
 
 <style lang="less">
-.modify-custom {
-}
-</style
+    .modify-custom {
+    }</style
 >;

+ 32 - 39
src/views/information/custom/compoments/recover/index.vue

@@ -1,47 +1,40 @@
 <template>
-  <!-- 修改客户资料-->
-  <a-modal class="modify-custom"
-           title="修改客户资料"
-           v-model:visible="visible"
-           @cancel="cancel"
-           width="890px">
-    <template #footer>
-      <a-button key="submit"
-                type="primary"
-                :loading="loading"
-                @click="submit">完成</a-button>
-    </template>
-  </a-modal>
+    <!-- 修改客户资料-->
+    <a-modal class="modify-custom" title="修改客户资料" v-model:visible="visible" @cancel="cancel" width="890px">
+        <template #footer>
+            <a-button key="submit" type="primary" :loading="loading" @click="submit">完成</a-button>
+        </template>
+    </a-modal>
 </template>
 
 <script lang="ts">
-import { defineComponent, ref } from 'vue';
-import { closeModal } from '@/setup/modal/index';
+    import { defineComponent, ref } from 'vue';
+    import { closeModal } from '@/common/setup/modal/index';
 
-export default defineComponent({
-    name: 'modify-custom',
-    components: {},
-    setup() {
-        const { visible, cancel } = closeModal('recoverCustomInfo');
-        const loading = ref<boolean>(false);
-        function submit() {
-            loading.value = true;
-            setTimeout(() => {
-                loading.value = false;
-                cancel();
-            }, 2000);
-        }
-        return {
-            visible,
-            cancel,
-            submit,
-            loading,
-        };
-    },
-});
+    export default defineComponent({
+        name: 'modify-custom',
+        components: {},
+        setup() {
+            const { visible, cancel } = closeModal('recoverCustomInfo');
+            const loading = ref<boolean>(false);
+            function submit() {
+                loading.value = true;
+                setTimeout(() => {
+                    loading.value = false;
+                    cancel();
+                }, 2000);
+            }
+            return {
+                visible,
+                cancel,
+                submit,
+                loading,
+            };
+        },
+    });
 </script>
 
 <style lang="less">
-.modify-custom {
-}
-</style>;
+    .modify-custom {
+    }</style
+>;

+ 22 - 24
src/views/information/custom/index.vue

@@ -1,32 +1,30 @@
 <template>
-  <!-- 客户信息 -->
-  <div class="custom">
-    <firstMenu :list="list"
-               :value="'title'"
-               @selectMenu="selectMenu" />
-    <router-view />
-  </div>
+    <!-- 客户信息 -->
+    <div class="custom">
+        <firstMenu :list="list" :value="'title'" @selectMenu="selectMenu" />
+        <router-view />
+    </div>
 </template>
 
 <script lang="ts">
-import { defineComponent } from 'vue';
-import firstMenu from '@/components/firstMenu/index.vue';
-import { initData } from '@/setup/methods/index';
-import { handleRouterMenu } from '@/setup/router/index';
+    import { defineComponent } from 'vue';
+    import firstMenu from '@/common/components/firstMenu/index.vue';
+    import { initData } from '@/common/methods';
+    import { handleRouterMenu } from '@/common/setup/router/index';
 
-export default defineComponent({
-    name: 'custom',
-    components: {
-        firstMenu,
-    },
-    setup() {
-        const { list, selectMenu, getMenuList } = handleRouterMenu();
-        initData(() => {
-            getMenuList();
-        });
-        return { list, selectMenu };
-    },
-});
+    export default defineComponent({
+        name: 'custom',
+        components: {
+            firstMenu,
+        },
+        setup() {
+            const { list, selectMenu, getMenuList } = handleRouterMenu();
+            initData(() => {
+                getMenuList();
+            });
+            return { list, selectMenu };
+        },
+    });
 </script>
 
 <style lang="less"></style>;

+ 81 - 90
src/views/information/custom/list/normal-use/index.vue

@@ -1,106 +1,97 @@
 <template>
-  <!-- 客户信息: 正常 -->
-  <div class="custom-normal"
-       :loading="loading">
-    <filterCustomTable @search="search">
-      <a-button class="operBtn"
-                v-if="hasPermission('custom_info_btn_add')"
-                @click="openAction">新增</a-button>
-    </filterCustomTable>
-    <contextMenu :contextMenuList="contextMenuList"
-                 :tableList="customList">
-      <a-table :columns="columns"
-               class="topTable"
-               :pagination="false"
-               rowKey="key"
-               :data-source="customList">
-        <template #userinfotype="{ text }">
-          <a>{{ text === '2' ? '企业' : '个人' }}</a>
-        </template>
-      </a-table>
-    </contextMenu>
-    <!-- 详情 -->
-    <CustomDetail />
-    <!-- 修改 -->
-    <ModifyCustom />
-    <!-- 停用 -->
-    <DisableCustom />
-  </div>
+    <!-- 客户信息: 正常 -->
+    <div class="custom-normal" :loading="loading">
+        <filterCustomTable @search="search">
+            <a-button class="operBtn" v-if="hasPermission('custom_info_btn_add')" @click="openAction">新增</a-button>
+        </filterCustomTable>
+        <contextMenu :contextMenuList="contextMenuList" :tableList="customList">
+            <a-table :columns="columns" class="topTable" :pagination="false" rowKey="key" :data-source="customList">
+                <template #userinfotype="{ text }">
+                    <a>{{ text === '2' ? '企业' : '个人' }}</a>
+                </template>
+            </a-table>
+        </contextMenu>
+        <!-- 详情 -->
+        <CustomDetail />
+        <!-- 修改 -->
+        <ModifyCustom />
+        <!-- 停用 -->@/common/methods
+        <DisableCustom />
+    </div>
 </template>
 
 <script lang="ts">
-import { defineComponent, onUnmounted, Ref, ref, watchEffect } from 'vue';
+    import { defineComponent, onUnmounted, Ref, ref, watchEffect } from 'vue';
 
-import { initData } from '@/setup/methods/index';
-import filterCustomTable from '@/views/information/custom/compoments/filterTable/index.vue';
-import { MenuItem } from '@/components/contextMenu/interface';
-import contextMenu from '@/components/contextMenu/index.vue';
-import { getCustomList } from '../setup';
-import { openModal } from '@/setup/modal/index';
-import CustomDetail from '@/views/information/custom/compoments/customDetail/index.vue';
-import ModifyCustom from '@/views/information/custom/compoments/modifyCustom/index.vue';
-import DisableCustom from '@/views/information/custom/compoments/disableCustom/index.vue';
+    import { initData } from '@/common/methods/index';
+    import filterCustomTable from '@/views/information/custom/compoments/filterTable/index.vue';
+    import { MenuItem } from '@/common/components/contextMenu/interface';
+    import contextMenu from '@/common/components/contextMenu/index.vue';
+    import { getCustomList } from '../setup';
+    import { openModal } from '@/common/setup/modal/index';
+    import CustomDetail from '@/views/information/custom/compoments/customDetail/index.vue';
+    import ModifyCustom from '@/views/information/custom/compoments/modifyCustom/index.vue';
+    import DisableCustom from '@/views/information/custom/compoments/disableCustom/index.vue';
 
-// 处理详情
-function handleDetail(contextMenuList: Ref<MenuItem[]>) {
-    const { openAction } = openModal('customDetail');
-    contextMenuList.value.push({ lable: '详情', callback: openAction });
-}
-// 处理修改
-function handleModify(contextMenuList: Ref<MenuItem[]>) {
-    const { openAction } = openModal('modifyCustomInfo');
-    function modifyAction() {
-        contextMenuList.value.push({ lable: '修改', callback: openAction });
+    // 处理详情
+    function handleDetail(contextMenuList: Ref<MenuItem[]>) {
+        const { openAction } = openModal('customDetail');
+        contextMenuList.value.push({ lable: '详情', callback: openAction });
+    }
+    // 处理修改
+    function handleModify(contextMenuList: Ref<MenuItem[]>) {
+        const { openAction } = openModal('modifyCustomInfo');
+        function modifyAction() {
+            contextMenuList.value.push({ lable: '修改', callback: openAction });
+        }
+        return { modifyAction };
     }
-    return { modifyAction };
-}
 
-// 处理停用
-function handleDisable(contextMenuList: Ref<MenuItem[]>) {
-    const { openAction } = openModal('disableCustomInfo');
-    function disableAction() {
-        contextMenuList.value.push({ lable: '停用', callback: openAction });
+    // 处理停用
+    function handleDisable(contextMenuList: Ref<MenuItem[]>) {
+        const { openAction } = openModal('disableCustomInfo');
+        function disableAction() {
+            contextMenuList.value.push({ lable: '停用', callback: openAction });
+        }
+        return { disableAction };
     }
-    return { disableAction };
-}
-export default defineComponent({
-    name: 'custom-normal',
-    components: {
-        filterCustomTable,
-        contextMenu,
-        CustomDetail,
-        ModifyCustom,
-        DisableCustom,
-    },
-    setup() {
-        const { customList, actionQuery, columns, getColumns, search, loading, handlePermission } = getCustomList();
-        const { hasPermission } = handlePermission('custom_info_normal');
-        const contextMenuList = ref<MenuItem[]>([]);
+    export default defineComponent({
+        name: 'custom-normal',
+        components: {
+            filterCustomTable,
+            contextMenu,
+            CustomDetail,
+            ModifyCustom,
+            DisableCustom,
+        },
+        setup() {
+            const { customList, actionQuery, columns, getColumns, search, loading, handlePermission } = getCustomList();
+            const { hasPermission } = handlePermission('custom_info_normal');
+            const contextMenuList = ref<MenuItem[]>([]);
 
-        const { openAction } = openModal('addCustomInfo');
+            const { openAction } = openModal('addCustomInfo');
 
-        handleDetail(contextMenuList);
-        const { modifyAction } = handleModify(contextMenuList);
-        const { disableAction } = handleDisable(contextMenuList);
+            handleDetail(contextMenuList);
+            const { modifyAction } = handleModify(contextMenuList);
+            const { disableAction } = handleDisable(contextMenuList);
 
-        const stop = watchEffect(() => {
-            hasPermission('custom_info_btn_modify') && modifyAction();
-            hasPermission('custom_info_btn_disable') && disableAction();
-        });
-        onUnmounted(() => {
-            stop();
-        });
-        initData(() => {
-            actionQuery(3);
-            getColumns();
-        });
-        return { customList, columns, search, loading, contextMenuList, hasPermission, openAction };
-    },
-});
+            const stop = watchEffect(() => {
+                hasPermission('custom_info_btn_modify') && modifyAction();
+                hasPermission('custom_info_btn_disable') && disableAction();
+            });
+            onUnmounted(() => {
+                stop();
+            });
+            initData(() => {
+                actionQuery(3);
+                getColumns();
+            });
+            return { customList, columns, search, loading, contextMenuList, hasPermission, openAction };
+        },
+    });
 </script>
 
 <style lang="less">
-.custom-normal {
-}
-</style
+    .custom-normal {
+    }</style
 >;

+ 81 - 90
src/views/information/custom/list/stop-use/index.vue

@@ -1,106 +1,97 @@
 <template>
-  <!-- 客户信息: 停用 -->
-  <div class="custom-normal"
-       :loading="loading">
-    <filterCustomTable @search="search">
-      <a-button class="operBtn"
-                v-if="hasPermission('custom_info_btn_add')"
-                @click="openAction">新增</a-button>
-    </filterCustomTable>
-    <contextMenu :contextMenuList="contextMenuList"
-                 :tableList="customList">
-      <a-table :columns="columns"
-               class="topTable"
-               :pagination="false"
-               rowKey="key"
-               :data-source="customList">
-        <template #userinfotype="{ text }">
-          <a>{{ text === '2' ? '企业' : '个人' }}</a>
-        </template>
-      </a-table>
-    </contextMenu>
-    <!-- 详情 -->
-    <CustomDetail />
-    <!-- 删除 -->
-    <DeleteCustom />
-    <!-- 恢复客户资料 -->
-    <RecoverCustom />
-  </div>
+    <!-- 客户信息: 停用 -->
+    <div class="custom-normal" :loading="loading">
+        <filterCustomTable @search="search">
+            <a-button class="operBtn" v-if="hasPermission('custom_info_btn_add')" @click="openAction">新增</a-button>
+        </filterCustomTable>
+        <contextMenu :contextMenuList="contextMenuList" :tableList="customList">
+            <a-table :columns="columns" class="topTable" :pagination="false" rowKey="key" :data-source="customList">
+                <template #userinfotype="{ text }">
+                    <a>{{ text === '2' ? '企业' : '个人' }}</a>
+                </template>
+            </a-table>
+        </contextMenu>
+        <!-- 详情 -->
+        <CustomDetail />
+        <!-- 删除 -->
+        <DeleteCustom />
+        <!-- 恢复客户资料 -->@/common/methods
+        <RecoverCustom />
+    </div>
 </template>
 
 <script lang="ts">
-import { defineComponent, onUnmounted, Ref, ref, watchEffect } from 'vue';
+    import { defineComponent, onUnmounted, Ref, ref, watchEffect } from 'vue';
 
-import { initData } from '@/setup/methods/index';
-import filterCustomTable from '@/views/information/custom/compoments/filterTable/index.vue';
-import { MenuItem } from '@/components/contextMenu/interface';
-import contextMenu from '@/components/contextMenu/index.vue';
-import { getCustomList } from '../setup';
-import { openModal } from '@/setup/modal/index';
-import CustomDetail from '@/views/information/custom/compoments/customDetail/index.vue';
-import DeleteCustom from '@/views/information/custom/compoments/deleteCustom/index.vue';
-import RecoverCustom from '@/views/information/custom/compoments/recover/index.vue';
+    import { initData } from '@/common/methods/index';
+    import filterCustomTable from '@/views/information/custom/compoments/filterTable/index.vue';
+    import { MenuItem } from '@/common/components/contextMenu/interface';
+    import contextMenu from '@/common/components/contextMenu/index.vue';
+    import { getCustomList } from '../setup';
+    import { openModal } from '@/common/setup/modal/index';
+    import CustomDetail from '@/views/information/custom/compoments/customDetail/index.vue';
+    import DeleteCustom from '@/views/information/custom/compoments/deleteCustom/index.vue';
+    import RecoverCustom from '@/views/information/custom/compoments/recover/index.vue';
 
-// 处理详情
-function handleDetail(contextMenuList: Ref<MenuItem[]>) {
-    const { openAction } = openModal('customDetail');
-    contextMenuList.value.push({ lable: '详情', callback: openAction });
-}
-// 处理删除
-function handleDelete(contextMenuList: Ref<MenuItem[]>) {
-    const { openAction } = openModal('deleteCustomInfo');
-    function deleteAction() {
-        contextMenuList.value.push({ lable: '删除', callback: openAction });
+    // 处理详情
+    function handleDetail(contextMenuList: Ref<MenuItem[]>) {
+        const { openAction } = openModal('customDetail');
+        contextMenuList.value.push({ lable: '详情', callback: openAction });
     }
-    return { deleteAction };
-}
-// 处理恢复
-function handleRecover(contextMenuList: Ref<MenuItem[]>) {
-    const { openAction } = openModal('recoverCustomInfo');
-    function recoverAction() {
-        contextMenuList.value.push({ lable: '删除', callback: openAction });
+    // 处理删除
+    function handleDelete(contextMenuList: Ref<MenuItem[]>) {
+        const { openAction } = openModal('deleteCustomInfo');
+        function deleteAction() {
+            contextMenuList.value.push({ lable: '删除', callback: openAction });
+        }
+        return { deleteAction };
+    }
+    // 处理恢复
+    function handleRecover(contextMenuList: Ref<MenuItem[]>) {
+        const { openAction } = openModal('recoverCustomInfo');
+        function recoverAction() {
+            contextMenuList.value.push({ lable: '删除', callback: openAction });
+        }
+        return { recoverAction };
     }
-    return { recoverAction };
-}
 
-export default defineComponent({
-    name: 'custom-normal',
-    components: {
-        filterCustomTable,
-        contextMenu,
-        CustomDetail,
-        DeleteCustom,
-        RecoverCustom,
-    },
-    setup() {
-        const { customList, actionQuery, columns, getColumns, search, loading, handlePermission } = getCustomList();
-        const { hasPermission } = handlePermission('custom_info_normal');
-        const contextMenuList = ref<MenuItem[]>([]);
+    export default defineComponent({
+        name: 'custom-normal',
+        components: {
+            filterCustomTable,
+            contextMenu,
+            CustomDetail,
+            DeleteCustom,
+            RecoverCustom,
+        },
+        setup() {
+            const { customList, actionQuery, columns, getColumns, search, loading, handlePermission } = getCustomList();
+            const { hasPermission } = handlePermission('custom_info_normal');
+            const contextMenuList = ref<MenuItem[]>([]);
 
-        const { openAction } = openModal('addCustomInfo');
+            const { openAction } = openModal('addCustomInfo');
 
-        handleDetail(contextMenuList);
-        const { deleteAction } = handleDelete(contextMenuList);
-        const { recoverAction } = handleRecover(contextMenuList);
+            handleDetail(contextMenuList);
+            const { deleteAction } = handleDelete(contextMenuList);
+            const { recoverAction } = handleRecover(contextMenuList);
 
-        const stop = watchEffect(() => {
-            hasPermission('custom_info_btn_recover') && recoverAction();
-            hasPermission('custom_info_btn_delete') && deleteAction();
-        });
-        onUnmounted(() => {
-            stop();
-        });
-        initData(() => {
-            actionQuery(4);
-            getColumns();
-        });
-        return { customList, columns, search, loading, contextMenuList, hasPermission, openAction };
-    },
-});
+            const stop = watchEffect(() => {
+                hasPermission('custom_info_btn_recover') && recoverAction();
+                hasPermission('custom_info_btn_delete') && deleteAction();
+            });
+            onUnmounted(() => {
+                stop();
+            });
+            initData(() => {
+                actionQuery(4);
+                getColumns();
+            });
+            return { customList, columns, search, loading, contextMenuList, hasPermission, openAction };
+        },
+    });
 </script>
 
 <style lang="less">
-.custom-normal {
-}
-</style
+    .custom-normal {
+    }</style
 >;

+ 7 - 7
src/views/information/goods/index.vue

@@ -8,9 +8,9 @@
 
 <script lang="ts">
     import { defineComponent } from 'vue';
-    import firstMenu from '@/components/firstMenu/index.vue';
-    import { handleRouterMenu } from '@/setup/router/index';
-    import { initData } from '@/setup/methods/index';
+    import firstMenu from '@/common/components/firstMenu/index.vue';
+    import { handleRouterMenu } from '@/common/setup/router/index';
+    import { initData } from '@/common/methods';
 
     export default defineComponent({
         name: 'custom',
@@ -28,8 +28,8 @@
 </script>
 
 <style lang="less">
-.goods-info {
-  width: 100%;
-  height: calc(100% - 40px);
-}
+    .goods-info {
+        width: 100%;
+        height: calc(100% - 40px);
+    }
 </style>

+ 19 - 19
src/views/information/goods/list/hedging-variety/index.vue

@@ -1,28 +1,28 @@
 <template>
-  <!-- 套保品种 -->
-  <div class="hedging-variety">
-    套保品种
-  </div>
+    <!-- 套保品种 -->
+    <div class="hedging-variety">
+        套保品种
+    </div>
 </template>
 
 <script lang="ts">
-import { defineComponent } from 'vue';
+    import { defineComponent } from 'vue';
 
-import { initData } from '@/setup/methods/index';
+    import { initData } from '@/common/methods';
 
-export default defineComponent({
-    name: 'hedging-variety',
-    components: {},
-    setup() {
-        initData(() => {
-            // 加载数据在这里
-        });
-        return {};
-    },
-});
+    export default defineComponent({
+        name: 'hedging-variety',
+        components: {},
+        setup() {
+            initData(() => {
+                // 加载数据在这里
+            });
+            return {};
+        },
+    });
 </script>
 
 <style lang="less">
-.hedging-variety {
-}
-</style>;
+    .hedging-variety {
+    }</style
+>;

+ 2 - 2
src/views/information/goods/list/spot-variety/index.vue

@@ -8,7 +8,7 @@
       <div class="leftSpot">
        <leftMenu></leftMenu>
       </div>
-      <div class="rightCont">
+      <div class="rightCon@/common/methods
         <rightSpot></rightSpot>
       </div>
     </div>
@@ -22,7 +22,7 @@ import filterCustomTable from '@/views/information/goods/components/filterTable/
 import leftMenu from '@/views/information/goods/components/leftMenu/index.vue';
 import rightSpot from '@/views/information/goods/components/rightSpot/index.vue';
 
-import { initData } from '@/setup/methods/index';
+import { initData } from '@/common/methods/index';
 
 export default defineComponent({
     name: 'spot-variety',

+ 34 - 41
src/views/information/spot-contract/components/add/index.vue

@@ -1,49 +1,42 @@
 <template>
-  <!-- 新增客户资料 -->
-  <a-modal class="add-spot-contract"
-           title="新增现货合同"
-           v-model:visible="visible"
-           @cancel="cancel"
-           width="890px">
-    <template #footer>
-      <a-button key="submit"
-                type="primary"
-                :loading="loading"
-                @click="submit">完成</a-button>
-    </template>
-  </a-modal>
+    <!-- 新增客户资料 -->
+    <a-modal class="add-spot-contract" title="新增现货合同" v-model:visible="visible" @cancel="cancel" width="890px">
+        <template #footer>
+            <a-button key="submit" type="primary" :loading="loading" @click="submit">完成</a-button>
+        </template>
+    </a-modal>
 </template>
 
 <script lang="ts">
-import { defineComponent, ref } from 'vue';
-import { closeModal } from '@/setup/modal/index';
-import { initData } from '@/setup/methods/index';
+    import { defineComponent, ref } from 'vue';
+    import { closeModal } from '@/common/setup/modal/index';
+    import { initData } from '@/common/methods';
 
-export default defineComponent({
-    name: 'add-spot-contract',
-    components: {},
-    setup() {
-        const { visible, cancel } = closeModal('addSpotContract');
-        const loading = ref<boolean>(false);
-        function submit() {
-            loading.value = true;
-            setTimeout(() => {
-                loading.value = false;
-                cancel();
-            }, 2000);
-        }
-        initData(() => {});
-        return {
-            visible,
-            cancel,
-            submit,
-            loading,
-        };
-    },
-});
+    export default defineComponent({
+        name: 'add-spot-contract',
+        components: {},
+        setup() {
+            const { visible, cancel } = closeModal('addSpotContract');
+            const loading = ref<boolean>(false);
+            function submit() {
+                loading.value = true;
+                setTimeout(() => {
+                    loading.value = false;
+                    cancel();
+                }, 2000);
+            }
+            initData(() => {});
+            return {
+                visible,
+                cancel,
+                submit,
+                loading,
+            };
+        },
+    });
 </script>
 
 <style lang="less">
-.add-spot-contract {
-}
-</style>;
+    .add-spot-contract {
+    }</style
+>;

+ 25 - 27
src/views/information/spot-contract/index.vue

@@ -1,35 +1,33 @@
 <template>
-  <!-- 现货合同 -->
-  <div class="spot-contract">
-    <firstMenu :list="list"
-               :value="'title'"
-               @selectMenu="selectMenu" />
-    <router-view />
-  </div>
+    <!-- 现货合同 -->
+    <div class="spot-contract">
+        <firstMenu :list="list" :value="'title'" @selectMenu="selectMenu" />
+        <router-view />
+    </div>
 </template>
 
 <script lang="ts">
-import { defineComponent } from 'vue';
-import firstMenu from '@/components/firstMenu/index.vue';
-import { handleRouterMenu } from '@/setup/router/index';
-import { initData } from '@/setup/methods/index';
+    import { defineComponent } from 'vue';
+    import firstMenu from '@/common/components/firstMenu/index.vue';
+    import { handleRouterMenu } from '@/common/setup/router/index';
+    import { initData } from '@/common/methods';
 
-export default defineComponent({
-    name: 'spot-contract',
-    components: {
-        firstMenu,
-    },
-    setup() {
-        const { list, selectMenu, getMenuList } = handleRouterMenu();
-        initData(() => {
-            getMenuList();
-        });
-        return { list, selectMenu };
-    },
-});
+    export default defineComponent({
+        name: 'spot-contract',
+        components: {
+            firstMenu,
+        },
+        setup() {
+            const { list, selectMenu, getMenuList } = handleRouterMenu();
+            initData(() => {
+                getMenuList();
+            });
+            return { list, selectMenu };
+        },
+    });
 </script>
 
 <style lang="less">
-.spot-contract {
-}
-</style>;
+    .spot-contract {
+    }</style
+>;

+ 1 - 1
src/views/information/spot-contract/list/done/index.vue

@@ -10,7 +10,7 @@
     import { QueryCustomInfo } from '@/services/go/ermcp/customInfo/index';
     import { QueryCustomInfoType } from '@/services/go/ermcp/customInfo/interface';
     import { message } from 'ant-design-vue';
-    import { initData } from '@/setup/methods/index';
+    import { initData } from '@/common/methods';
 
     // 查询客户资料列表
     function getCustomList() {

+ 43 - 50
src/views/information/spot-contract/list/not-commit/index.vue

@@ -1,60 +1,53 @@
 <template>
-  <!-- 现货合同: 未提交-->
-  <div class="spot-contract-not-commit">
-    <filterCustomTable @search="search">
-      <a-button class="operBtn"
-                v-if="hasPermission('spot_contract_btn_add')"
-                @click="openAction">新增</a-button>
-    </filterCustomTable>
-    <contextMenu :contextMenuList="contextMenuList"
-                 :tableList="spotContractList">
-      <a-table :columns="columns"
-               class="topTable"
-               :pagination="false"
-               rowKey="key"
-               :data-source="spotContractList">
-        <!-- <template #userinfotype="{ text }">
+    <!-- 现货合同: 未提交-->
+    <div class="spot-contract-not-commit">
+        <filterCustomTable @search="search">
+            <a-button class="operBtn" v-if="hasPermission('spot_contract_btn_add')" @click="openAction">新增</a-button>
+        </filterCustomTable>
+        <contextMenu :contextMenuList="contextMenuList" :tableList="spotContractList">
+            <a-table :columns="columns" class="topTable" :pagination="false" rowKey="key" :data-source="spotContractList">
+                <!-- <template #userinfotype="{ text }">
           <a>{{ text === '2' ? '企业' : '个人'}}</a>
         </template> -->
-      </a-table>
-    </contextMenu>
-    <!-- 新增现货合同 -->
-    <AddSpotContract />
-  </div>
+            </a-table>
+        </contextMenu>
+        <!-- 新增现货合同 -->
+        <AddSpotContract />
+    </div>
 </template>
 
 <script lang="ts">
-import { defineComponent, ref } from 'vue';
-import { initData } from '@/setup/methods/index';
-import filterCustomTable from '@/views/information/spot-contract/components/filterTable/index.vue';
-import { getCustomList } from '../setup';
-import { openModal } from '@/setup/modal/index';
-import contextMenu from '@/components/contextMenu/index.vue';
-import { MenuItem } from '@/components/contextMenu/interface';
-import AddSpotContract from '@/views/information/spot-contract/components/add/index.vue';
+    import { defineComponent, ref } from 'vue';
+    import { initData } from '@/common/methods';
+    import filterCustomTable from '@/views/information/spot-contract/components/filterTable/index.vue';
+    import { getCustomList } from '../setup';
+    import { openModal } from '@/common/setup/modal/index';
+    import contextMenu from '@/common/components/contextMenu/index.vue';
+    import { MenuItem } from '@/common/components/contextMenu/interface';
+    import AddSpotContract from '@/views/information/spot-contract/components/add/index.vue';
 
-export default defineComponent({
-    name: 'spot-contract-not-commit',
-    components: {
-        filterCustomTable,
-        contextMenu,
-        AddSpotContract,
-    },
-    setup() {
-        const { spotContractList, actionQuery, columns, getColumns, search, loading, handlePermission } = getCustomList();
-        const { hasPermission } = handlePermission('spot_contract_unsubmitted');
-        const { openAction } = openModal('addSpotContract');
-        const contextMenuList = ref<MenuItem[]>([]);
-        initData(() => {
-            actionQuery(2);
-            getColumns();
-        });
-        return { spotContractList, columns, search, contextMenuList, openAction, loading, hasPermission };
-    },
-});
+    export default defineComponent({
+        name: 'spot-contract-not-commit',
+        components: {
+            filterCustomTable,
+            contextMenu,
+            AddSpotContract,
+        },
+        setup() {
+            const { spotContractList, actionQuery, columns, getColumns, search, loading, handlePermission } = getCustomList();
+            const { hasPermission } = handlePermission('spot_contract_unsubmitted');
+            const { openAction } = openModal('addSpotContract');
+            const contextMenuList = ref<MenuItem[]>([]);
+            initData(() => {
+                actionQuery(2);
+                getColumns();
+            });
+            return { spotContractList, columns, search, contextMenuList, openAction, loading, hasPermission };
+        },
+    });
 </script>
 
 <style lang="less">
-.spot-contract-not-commit {
-}
-</style>;
+    .spot-contract-not-commit {
+    }</style
+>;

+ 1 - 1
src/views/information/spot-contract/list/peddding/index.vue

@@ -10,7 +10,7 @@
     import { QueryCustomInfo } from '@/services/go/ermcp/customInfo/index';
     import { QueryCustomInfoType } from '@/services/go/ermcp/customInfo/interface';
     import { message } from 'ant-design-vue';
-    import { initData } from '@/setup/methods/index';
+    import { initData } from '@/common/methods';
 
     // 查询客户资料列表
     function getCustomList() {

+ 1 - 1
src/views/information/spot-contract/list/performance/index.vue

@@ -10,7 +10,7 @@
     import { QueryCustomInfo } from '@/services/go/ermcp/customInfo/index';
     import { QueryCustomInfoType } from '@/services/go/ermcp/customInfo/interface';
     import { message } from 'ant-design-vue';
-    import { initData } from '@/setup/methods/index';
+    import { initData } from '@/common/methods';
 
     // 查询客户资料列表
     function getCustomList() {

+ 133 - 161
src/views/information/warehouse-info/compoments/addWarehouse/index.vue

@@ -1,171 +1,143 @@
 <template>
-  <!-- 新增仓库信息 -->
-  <a-modal class="add-warehouse"
-           title="新增仓库信息"
-           v-model:visible="visible"
-           @cancel="cancel"
-           width="890px">
-    <template #footer>
-      <a-button key="submit"
-                type="primary"
-                :loading="loading"
-                @click="submit">完成</a-button>
-    </template>
-    <a-form class="inlineForm"
-            :form="form"
-            @submit="handleSearch">
-      <a-row :gutter="24">
-        <a-col :span="12">
-          <a-form-item label="仓库类型">
-            <a-select class="typeSelect"
-                      style="width: 200px"
-                      placeholder="请选择仓库类型">
-              <a-select-option value="1">
-                仓库一
-              </a-select-option>
-              <a-select-option value="2">
-                仓库二
-              </a-select-option>
-            </a-select>
-          </a-form-item>
-        </a-col>
-        <a-col :span="12">
-          <a-form-item label="仓库名称">
-            <a-input class="dialogInput"
-                     style="width: 200px"
-                     placeholder="请输入仓库名称" />
-          </a-form-item>
-        </a-col>
-      </a-row>
-      <a-row :gutter="24">
-        <a-col :span="12">
-          <a-form-item label="仓库简称">
-            <a-input class="dialogInput"
-                     style="width: 200px"
-                     placeholder="请输入仓库简称" />
-          </a-form-item>
-        </a-col>
-        <a-col :span="12">
-          <a-form-item label="联系人">
-            <a-input class="dialogInput"
-                     style="width: 200px"
-                     placeholder="请输入联系人" />
-          </a-form-item>
-        </a-col>
-      </a-row>
-      <a-row :gutter="24">
-        <a-col :span="24">
-          <a-form-item label="联系电话">
-            <a-input class="dialogInput"
-                     style="width: 200px"
-                     placeholder="请输入联系电话" />
-          </a-form-item>
-        </a-col>
-      </a-row>
-      <a-row :gutter="24">
-        <a-col :span="24">
-          <a-form-item label="所在地区">
-            <a-select class="inlineFormSelect"
-                      style="width: 205px"
-                      placeholder="请选择省">
-              <a-select-option value="1">
-                广东省
-              </a-select-option>
-              <a-select-option value="2">
-                湖南省
-              </a-select-option>
-            </a-select>
-            <a-select class="inlineFormSelect"
-                      style="width: 205px"
-                      placeholder="请选择市">
-              <a-select-option value="1">
-                深圳市
-              </a-select-option>
-              <a-select-option value="2">
-                岳阳市
-              </a-select-option>
-            </a-select>
-            <a-select class="inlineFormSelect"
-                      style="width: 205px"
-                      placeholder="请选择县(区)">
-              <a-select-option value="1">
-                区一
-              </a-select-option>
-              <a-select-option value="2">
-                区二
-              </a-select-option>
-            </a-select>
-          </a-form-item>
-        </a-col>
-      </a-row>
-      <a-row :gutter="24">
-        <a-col :span="24">
-          <a-form-item label="详细地址">
-            <a-input class="dialogInput"
-                     style="width: 635px"
-                     placeholder="请输入详细地址" />
-          </a-form-item>
-        </a-col>
-      </a-row>
-    </a-form>
-  </a-modal>
+    <!-- 新增仓库信息 -->
+    <a-modal class="add-warehouse" title="新增仓库信息" v-model:visible="visible" @cancel="cancel" width="890px">
+        <template #footer>
+            <a-button key="submit" type="primary" :loading="loading" @click="submit">完成</a-button>
+        </template>
+        <a-form class="inlineForm" :form="form" @submit="handleSearch">
+            <a-row :gutter="24">
+                <a-col :span="12">
+                    <a-form-item label="仓库类型">
+                        <a-select class="typeSelect" style="width: 200px" placeholder="请选择仓库类型">
+                            <a-select-option value="1">
+                                仓库一
+                            </a-select-option>
+                            <a-select-option value="2">
+                                仓库二
+                            </a-select-option>
+                        </a-select>
+                    </a-form-item>
+                </a-col>
+                <a-col :span="12">
+                    <a-form-item label="仓库名称">
+                        <a-input class="dialogInput" style="width: 200px" placeholder="请输入仓库名称" />
+                    </a-form-item>
+                </a-col>
+            </a-row>
+            <a-row :gutter="24">
+                <a-col :span="12">
+                    <a-form-item label="仓库简称">
+                        <a-input class="dialogInput" style="width: 200px" placeholder="请输入仓库简称" />
+                    </a-form-item>
+                </a-col>
+                <a-col :span="12">
+                    <a-form-item label="联系人">
+                        <a-input class="dialogInput" style="width: 200px" placeholder="请输入联系人" />
+                    </a-form-item>
+                </a-col>
+            </a-row>
+            <a-row :gutter="24">
+                <a-col :span="24">
+                    <a-form-item label="联系电话">
+                        <a-input class="dialogInput" style="width: 200px" placeholder="请输入联系电话" />
+                    </a-form-item>
+                </a-col>
+            </a-row>
+            <a-row :gutter="24">
+                <a-col :span="24">
+                    <a-form-item label="所在地区">
+                        <a-select class="inlineFormSelect" style="width: 205px" placeholder="请选择省">
+                            <a-select-option value="1">
+                                广东省
+                            </a-select-option>
+                            <a-select-option value="2">
+                                湖南省
+                            </a-select-option>
+                        </a-select>
+                        <a-select class="inlineFormSelect" style="width: 205px" placeholder="请选择市">
+                            <a-select-option value="1">
+                                深圳市
+                            </a-select-option>
+                            <a-select-option value="2">
+                                岳阳市
+                            </a-select-option>
+                        </a-select>
+                        <a-select class="inlineFormSelect" style="width: 205px" placeholder="请选择县(区)">
+                            <a-select-option value="1">
+                                区一
+                            </a-select-option>
+                            <a-select-option value="2">
+                                区二
+                            </a-select-option>
+                        </a-select>
+                    </a-form-item>
+                </a-col>
+            </a-row>
+            <a-row :gutter="24">
+                <a-col :span="24">
+                    <a-form-item label="详细地址">
+                        <a-input class="dialogInput" style="width: 635px" placeholder="请输入详细地址" />
+                    </a-form-item>
+                </a-col>
+            </a-row>
+        </a-form>
+    </a-modal>
 </template>
 
 <script lang="ts">
-import { defineComponent, ref } from 'vue';
-import { closeModal } from '@/setup/modal/index';
-import { initData } from '@/setup/methods/index';
+    import { defineComponent, ref } from 'vue';
+    import { closeModal } from '@/common/setup/modal/index';
+    import { initData } from '@/common/methods/index';
 
-export default defineComponent({
-    name: 'add-warehouse',
-    components: {},
-    setup() {
-        const { visible, cancel } = closeModal('addCustomInfo');
-        const loading = ref<boolean>(false);
-        function submit() {
-            loading.value = true;
-            setTimeout(() => {
-                loading.value = false;
-                cancel();
-            }, 2000);
-        }
-        initData(() => {});
-        return {
-            visible,
-            cancel,
-            submit,
-            loading,
-        };
-    },
-});
+    export default defineComponent({
+        name: 'add-warehouse',
+        components: {},
+        setup() {
+            const { visible, cancel } = closeModal('addCustomInfo');
+            const loading = ref<boolean>(false);
+            function submit() {
+                loading.value = true;
+                setTimeout(() => {
+                    loading.value = false;
+                    cancel();
+                }, 2000);
+            }
+            initData(() => {});
+            return {
+                visible,
+                cancel,
+                submit,
+                loading,
+            };
+        },
+    });
 </script>
 
 <style lang="less">
-.add-warehouse {
-}
-.upload {
-    display: inline-flex;
-    .ant-btn.uploadBtn {
-        width: 60px;
-        height: 30px;
-        background: @m-blue0;
-        border: 0;
-        padding: 0;
-        text-align: center;
-        font-size: 14px;
-        color: @m-white0;
-        .rounded-corners(3px);
-        &:hover {
-            background: rgba(@m-blue0, 0);
-            color: rgba(@m-white0, 0.8);
-        }
-    }
-    .look {
-        color: @m-blue0;
-        font-size: 14px;
-        margin-left: 10px;
-        cursor: pointer;
+    .add-warehouse {
     }
-}
-</style
+    .upload {
+        display: inline-flex;
+        .ant-btn.uploadBtn {
+            width: 60px;
+            height: 30px;
+            background: @m-blue0;
+            border: 0;
+            padding: 0;
+            text-align: center;
+            font-size: 14px;
+            color: @m-white0;
+            .rounded-corners(3px);
+            &:hover {
+                background: rgba(@m-blue0, 0);
+                color: rgba(@m-white0, 0.8);
+            }
+        }
+        .look {
+            color: @m-blue0;
+            font-size: 14px;
+            margin-left: 10px;
+            cursor: pointer;
+        }
+    }</style
 >;

+ 83 - 94
src/views/information/warehouse-info/compoments/disableWarehouse/index.vue

@@ -1,102 +1,91 @@
 <template>
-  <!-- 停用仓库信息-->
-  <a-modal class="commonModal warehouse-disable"
-           title="停用仓库信息"
-           v-model:visible="visible"
-           @cancel="cancel"
-           width="890px">
-    <template #footer>
-      <a-button key="submit"
-                class="cancelBtn"
-                @click="cancel">取消</a-button>
-      <a-button key="submit"
-                type="primary"
-                :loading="loading"
-                @click="submit">确认停用</a-button>
-    </template>
-    <a-form class="inlineForm"
-            :form="form"
-            @submit="handleSearch">
-      <a-row :gutter="24">
-        <a-col :span="12">
-          <a-form-item label="仓库类型">
-            <span class="white">自有库</span>
-          </a-form-item>
-        </a-col>
-        <a-col :span="12">
-          <a-form-item label="仓库名称">
-            <span class="white">深圳市南储公司2号库房</span>
-          </a-form-item>
-        </a-col>
-      </a-row>
-      <a-row :gutter="24">
-        <a-col :span="12">
-          <a-form-item label="仓库简称">
-            <span class="white">南储深圳2号库</span>
-          </a-form-item>
-        </a-col>
-        <a-col :span="12">
-          <a-form-item label="联系人">
-            <span class="white">王平</span>
-          </a-form-item>
-        </a-col>
-      </a-row>
-      <a-row :gutter="24">
-        <a-col :span="12">
-          <a-form-item label="联系电话">
-            <span class="white">13832676234</span>
-          </a-form-item>
-        </a-col>
-        <a-col :span="12">
-          <a-form-item label="状态">
-            <span class="green">正常</span>
-          </a-form-item>
-        </a-col>
-      </a-row>
-      <a-row :gutter="24">
-        <a-col :span="12">
-          <a-form-item label="所在地区">
-            <span class="white">广东省深圳市南山区</span>
-          </a-form-item>
-        </a-col>
-        <a-col :span="12">
-          <a-form-item label="详细地址">
-            <span class="white">深南大道1290号仓库</span>
-          </a-form-item>
-        </a-col>
-      </a-row>
-    </a-form>
-  </a-modal>
+    <!-- 停用仓库信息-->
+    <a-modal class="commonModal warehouse-disable" title="停用仓库信息" v-model:visible="visible" @cancel="cancel" width="890px">
+        <template #footer>
+            <a-button key="submit" class="cancelBtn" @click="cancel">取消</a-button>
+            <a-button key="submit" type="primary" :loading="loading" @click="submit">确认停用</a-button>
+        </template>
+        <a-form class="inlineForm" :form="form" @submit="handleSearch">
+            <a-row :gutter="24">
+                <a-col :span="12">
+                    <a-form-item label="仓库类型">
+                        <span class="white">自有库</span>
+                    </a-form-item>
+                </a-col>
+                <a-col :span="12">
+                    <a-form-item label="仓库名称">
+                        <span class="white">深圳市南储公司2号库房</span>
+                    </a-form-item>
+                </a-col>
+            </a-row>
+            <a-row :gutter="24">
+                <a-col :span="12">
+                    <a-form-item label="仓库简称">
+                        <span class="white">南储深圳2号库</span>
+                    </a-form-item>
+                </a-col>
+                <a-col :span="12">
+                    <a-form-item label="联系人">
+                        <span class="white">王平</span>
+                    </a-form-item>
+                </a-col>
+            </a-row>
+            <a-row :gutter="24">
+                <a-col :span="12">
+                    <a-form-item label="联系电话">
+                        <span class="white">13832676234</span>
+                    </a-form-item>
+                </a-col>
+                <a-col :span="12">
+                    <a-form-item label="状态">
+                        <span class="green">正常</span>
+                    </a-form-item>
+                </a-col>
+            </a-row>
+            <a-row :gutter="24">
+                <a-col :span="12">
+                    <a-form-item label="所在地区">
+                        <span class="white">广东省深圳市南山区</span>
+                    </a-form-item>
+                </a-col>
+                <a-col :span="12">
+                    <a-form-item label="详细地址">
+                        <span class="white">深南大道1290号仓库</span>
+                    </a-form-item>
+                </a-col>
+            </a-row>
+        </a-form>
+    </a-modal>
 </template>
 
 <script lang="ts">
-import { defineComponent, ref } from 'vue';
-import { closeModal } from '@/setup/modal/index';
+    import { defineComponent, ref } from 'vue';
+    import { closeModal } from '@/common/setup/modal/index';
 
-export default defineComponent({
-    name: 'custom-disable',
-    components: {},
-    setup() {
-        const { visible, cancel } = closeModal('disableCustomInfo');
-        const loading = ref<boolean>(false);
-        function submit() {
-            loading.value = true;
-            setTimeout(() => {
-                loading.value = false;
-                cancel();
-            }, 2000);
-        }
-        return {
-            visible,
-            cancel,
-            submit,
-            loading,
-        };
-    },
-});
+    export default defineComponent({
+        name: 'custom-disable',
+        components: {},
+        setup() {
+            const { visible, cancel } = closeModal('disableCustomInfo');
+            const loading = ref<boolean>(false);
+            function submit() {
+                loading.value = true;
+                setTimeout(() => {
+                    loading.value = false;
+                    cancel();
+                }, 2000);
+            }
+            return {
+                visible,
+                cancel,
+                submit,
+                loading,
+            };
+        },
+    });
 </script>
 
 <style lang="less">
-.warehouse-disable {
-}
-</style>;
+    .warehouse-disable {
+    }</style
+>;

+ 25 - 27
src/views/information/warehouse-info/index.vue

@@ -1,35 +1,33 @@
 <template>
-  <!-- 仓库信息 -->
-  <div class="warehouse-info">
-    <firstMenu :list="list"
-               :value="'title'"
-               @selectMenu="selectMenu" />
-    <router-view />
-  </div>
+    <!-- 仓库信息 -->
+    <div class="warehouse-info">
+        <firstMenu :list="list" :value="'title'" @selectMenu="selectMenu" />
+        <router-view />
+    </div>
 </template>
 
 <script lang="ts">
-import { defineComponent } from 'vue';
-import firstMenu from '@/components/firstMenu/index.vue';
-import { handleRouterMenu } from '@/setup/router/index';
-import { initData } from '@/setup/methods/index';
+    import { defineComponent } from 'vue';
+    import firstMenu from '@/common/components/firstMenu/index.vue';
+    import { handleRouterMenu } from '@/common/setup/router/index';
+    import { initData } from '@/common/methods';
 
-export default defineComponent({
-    name: 'warehouse-info',
-    components: {
-        firstMenu,
-    },
-    setup() {
-        const { list, selectMenu, getMenuList } = handleRouterMenu();
-        initData(() => {
-            getMenuList();
-        });
-        return { list, selectMenu };
-    },
-});
+    export default defineComponent({
+        name: 'warehouse-info',
+        components: {
+            firstMenu,
+        },
+        setup() {
+            const { list, selectMenu, getMenuList } = handleRouterMenu();
+            initData(() => {
+                getMenuList();
+            });
+            return { list, selectMenu };
+        },
+    });
 </script>
 
 <style lang="less">
-.warehouse-info {
-}
-</style>;
+    .warehouse-info {
+    }</style
+>;

+ 1 - 1
src/views/information/warehouse-info/list/normal-use/index.vue

@@ -11,7 +11,7 @@
 <script lang="ts">
     import { computed, defineComponent, ref } from 'vue';
 
-    import { initData } from '@/setup/methods/index';
+    import { initData } from '@/common/methods';
     import filterCustomTable from '@/views/information/warehouse-info/compoments/filterTable/index.vue';
     import { QueryWareHouse } from '@/services/go/ermcp/warehouse-info/index';
     import { ErmcpWareHouseInfo } from '@/services/go/ermcp/warehouse-info/interface';

+ 1 - 1
src/views/information/warehouse-info/list/stop-use/index.vue

@@ -10,7 +10,7 @@
     import { QueryCustomInfo } from '@/services/go/ermcp/customInfo/index';
     import { QueryCustomInfoType } from '@/services/go/ermcp/customInfo/interface';
     import { message } from 'ant-design-vue';
-    import { initData } from '@/setup/methods/index';
+    import { initData } from '@/common/methods';
 
     // 查询客户资料列表
     function getCustomList() {

+ 64 - 65
src/views/market/forward/components/forwarTrade/index.vue

@@ -1,75 +1,74 @@
 <template>
-  <div class="forward-trade"> </div>
+    <div class="forward-trade"> </div>
 </template>
 
 <script lang="ts">
-import { defineComponent, computed, reactive, ref, toRefs, unref, onMounted, onUpdated, onUnmounted, provide, inject } from 'vue';
-import { initData } from '@/setup/methods/index';
-// 1.头部菜单栏
-const useMenu = () => {
-    interface headerMenu {
-        name: string;
-        path: string;
-        icon?: string;
-    }
-    const selectedKeys = ref<string[]>(['/login']);
-    const menu: headerMenu[] = reactive([
-        { path: '/login', name: '您好请登录' },
-        { path: '/logon', name: '免费注册' },
-        { path: '/', name: '商城' },
-        { path: '/order', name: '我的订单' },
-        { path: '/pack', name: '我的包裹' },
-        { path: '/myGoods', name: '我的商品' },
-        { path: '/news', name: '消息中心' },
-    ]);
-    return {
-        selectedKeys,
-        menu,
-    };
-};
-export default defineComponent({
-    name: 'forward-trade',
-    components: {},
-    setup() {
-        // beforeCreate -> 使用 setup()
-        // created -> 使用 setup()
-        // beforeMount -> onBeforeMount
-        // mounted -> onMounted
-        // beforeUpdate -> onBeforeUpdate
-        // updated -> onUpdated
-        // beforeDestroy -> onBeforeUnmount
-        // destroyed -> onUnmounted
-        // errorCaptured -> onErrorCaptured
-        initData(() => {
-            // 加载数据在这里
-        });
-        onMounted((): void => {
-            console.log('mounted!');
-        });
-        onUpdated((): void => {
-            console.log('updated!');
-        });
-        onUnmounted((): void => {
-            console.log('unmounted!');
-        });
+    import { defineComponent, computed, reactive, ref, toRefs, unref, onMounted, onUpdated, onUnmounted, provide, inject } from 'vue';
+    import { initData } from '@/common/methods';
+    // 1.头部菜单栏
+    const useMenu = () => {
+        interface headerMenu {
+            name: string;
+            path: string;
+            icon?: string;
+        }
+        const selectedKeys = ref<string[]>(['/login']);
+        const menu: headerMenu[] = reactive([
+            { path: '/login', name: '您好请登录' },
+            { path: '/logon', name: '免费注册' },
+            { path: '/', name: '商城' },
+            { path: '/order', name: '我的订单' },
+            { path: '/pack', name: '我的包裹' },
+            { path: '/myGoods', name: '我的商品' },
+            { path: '/news', name: '消息中心' },
+        ]);
         return {
-            ...useMenu(),
+            selectedKeys,
+            menu,
         };
-    },
-});
+    };
+    export default defineComponent({
+        name: 'forward-trade',
+        components: {},
+        setup() {
+            // beforeCreate -> 使用 setup()
+            // created -> 使用 setup()
+            // beforeMount -> onBeforeMount
+            // mounted -> onMounted
+            // beforeUpdate -> onBeforeUpdate
+            // updated -> onUpdated
+            // beforeDestroy -> onBeforeUnmount
+            // destroyed -> onUnmounted
+            // errorCaptured -> onErrorCaptured
+            initData(() => {
+                // 加载数据在这里
+            });
+            onMounted((): void => {
+                console.log('mounted!');
+            });
+            onUpdated((): void => {
+                console.log('updated!');
+            });
+            onUnmounted((): void => {
+                console.log('unmounted!');
+            });
+            return {
+                ...useMenu(),
+            };
+        },
+    });
 </script>
 
 <style lang="less">
-.forward-trade {
-    position: absolute;
-    top: 35px;
-    right: -2px;
-    width: 441px;
-    height: 310px;
-    background: #1d2f3f;
-    border: 2px solid #3a87f7;
-    border-radius: 5px;
-    z-index: 9;
-}
-</style
+    .forward-trade {
+        position: absolute;
+        top: 35px;
+        right: -2px;
+        width: 441px;
+        height: 310px;
+        background: #1d2f3f;
+        border: 2px solid #3a87f7;
+        border-radius: 5px;
+        z-index: 9;
+    }</style
 >;

Bu fark içinde çok fazla dosya değişikliği olduğu için bazı dosyalar gösterilmiyor