ソースを参照

Merge branch 'master' of http://47.101.159.18:3000/Muchinfo/MTP2.0_WEB

zhou.xiaoning 4 年 前
コミット
9d7c7808b0
46 ファイル変更1110 行追加1185 行削除
  1. 1 1
      public/config/app.config.json
  2. 142 140
      src/App.vue
  3. 4 1
      src/common/constants/buttonType.ts
  4. 1 0
      src/common/methods/table/interface.ts
  5. 0 1
      src/common/setup/contextMenu/index.ts
  6. 4 0
      src/common/setup/table/interface.ts
  7. 2 2
      src/router/index.ts
  8. 7 3
      src/services/go/ermcp/plan/index.ts
  9. 0 221
      src/views/business/plan/compoments/add/index.vue
  10. 0 170
      src/views/business/plan/compoments/detail/index.vue
  11. 51 0
      src/views/business/plan/components/add/index.vue
  12. 4 4
      src/views/business/plan/components/audit/index.vue
  13. 55 0
      src/views/business/plan/components/cancel/index.vue
  14. 6 6
      src/views/business/plan/components/delete/index.vue
  15. 104 0
      src/views/business/plan/components/detail/index.vue
  16. 16 22
      src/views/business/plan/components/filterTable/index.vue
  17. 11 0
      src/views/business/plan/components/index.ts
  18. 4 4
      src/views/business/plan/components/modify/index.vue
  19. 6 6
      src/views/business/plan/components/recommit/index.vue
  20. 54 36
      src/views/business/plan/list/audit/index.vue
  21. 5 0
      src/views/business/plan/list/index.ts
  22. 83 74
      src/views/business/plan/list/running/index.vue
  23. 39 69
      src/views/business/plan/list/setup.ts
  24. 89 74
      src/views/business/plan/list/uncommitted/index.vue
  25. 16 0
      src/views/business/plan/setup.ts
  26. 113 17
      src/views/business/purchase/components/detail/index.vue
  27. 10 0
      src/views/business/purchase/components/index.ts
  28. 27 24
      src/views/business/purchase/list/all/index.vue
  29. 6 0
      src/views/business/purchase/list/index.ts
  30. 28 21
      src/views/business/purchase/list/pending/index.vue
  31. 27 23
      src/views/business/purchase/list/performance/index.vue
  32. 42 58
      src/views/business/purchase/list/setup.ts
  33. 17 77
      src/views/business/purchase/setup.ts
  34. 9 0
      src/views/business/sell/components/index.ts
  35. 27 24
      src/views/business/sell/list/all/index.vue
  36. 5 0
      src/views/business/sell/list/index.ts
  37. 27 20
      src/views/business/sell/list/pending/index.vue
  38. 27 23
      src/views/business/sell/list/performance/index.vue
  39. 41 57
      src/views/business/sell/list/setup.ts
  40. 0 1
      src/views/information/custom/list/setup.ts
  41. 0 1
      src/views/information/custom/list/stop-use/index.vue
  42. 0 1
      src/views/information/spot-contract/list/checkpending/index.vue
  43. 0 1
      src/views/information/spot-contract/list/finished/index.vue
  44. 0 1
      src/views/information/spot-contract/list/performance/index.vue
  45. 0 1
      src/views/information/spot-contract/list/setup.ts
  46. 0 1
      src/views/information/spot-contract/list/unsubmitted/index.vue

+ 1 - 1
public/config/app.config.json

@@ -1,3 +1,3 @@
 {
-    "apiUrl": "http://192.168.31.223:8080/cfg?key=test_223"
+    "apiUrl": "http://192.168.31.175:8080/cfg?key=test_175"
 }

+ 142 - 140
src/App.vue

@@ -1,163 +1,165 @@
 <template>
-    <div class="app-container" @contextmenu.prevent>
-        <a-spin :tip="tip" :spinning="spinning" size="large">
-            <router-view />
-        </a-spin>
-    </div>
+  <div class="app-container"
+       @contextmenu.prevent>
+    <a-spin :tip="tip"
+            :spinning="spinning"
+            size="large">
+      <router-view />
+    </a-spin>
+  </div>
 </template>
 
 <script lang="ts">
-    import { defineComponent, ref, watchEffect, provide } from 'vue';
-    import { globalDataRefresh } from '@/services/bus/index';
-    import { notice } from '@/services/bus/system';
-    import eventBus from '@/utils/eventBus/index';
-    import TimerUtils from '@/utils/timer/timerUtil';
-    import Router from '@/router';
-    import APP from '@/services';
-    import { Modal } from 'ant-design-vue';
-    import { setLoadComplete } from '@/common/methods';
-    import { isLogin, logout } from '@/services/bus/login';
-    let lastTime = new Date().getTime();
+import { defineComponent, ref, watchEffect, provide } from 'vue';
+import { globalDataRefresh } from '@/services/bus/index';
+import { notice } from '@/services/bus/system';
+import eventBus from '@/utils/eventBus/index';
+import TimerUtils from '@/utils/timer/timerUtil';
+import Router from '@/router';
+import APP from '@/services';
+import { Modal } from 'ant-design-vue';
+import { setLoadComplete } from '@/common/methods';
+import { isLogin, logout } from '@/services/bus/login';
+let lastTime = new Date().getTime();
 
-    function logoutAction() {
-        logout();
-        APP.closeServer();
-        Router.replace('/login');
-    }
+function logoutAction() {
+    logout();
+    APP.closeServer();
+    Router.replace('/login');
+}
 
-    // 设置太久没有操作界面,自动退出界面功能
-    function setOvertime() {
-        window.addEventListener('mousemove', () => {
-            lastTime = new Date().getTime(); //更新当前时间
-        });
-        const mimut = 30;
-        const timeOut = mimut * 60 * 1000; //设置超时时间: 5分钟
-        TimerUtils.setInterval(
-            () => {
-                const currentTime = new Date().getTime();
-                if (currentTime - lastTime > timeOut) {
-                    //判断是否超时
-                    if (isLogin()) {
-                        Modal.info({
-                            title: '系统提示:',
-                            content: `您已超过${mimut}分钟没有进行任何操作,已自动退出登录!`,
-                            okType: 'primary',
-                            okText: '确定',
-                            keyboard: false,
-                        });
-                        logoutAction();
-                    }
+// 设置太久没有操作界面,自动退出界面功能
+function setOvertime() {
+    window.addEventListener('mousemove', () => {
+        lastTime = new Date().getTime(); //更新当前时间
+    });
+    const mimut = 30;
+    const timeOut = mimut * 60 * 1000; //设置超时时间: 5分钟
+    TimerUtils.setInterval(
+        () => {
+            const currentTime = new Date().getTime();
+            if (currentTime - lastTime > timeOut) {
+                //判断是否超时
+                if (isLogin()) {
+                    Modal.info({
+                        title: '系统提示:',
+                        content: `您已超过${mimut}分钟没有进行任何操作,已自动退出登录!`,
+                        okType: 'primary',
+                        okText: '确定',
+                        keyboard: false,
+                    });
+                    logoutAction();
                 }
-            },
-            timeOut,
-            'overtimeInterval'
-        );
-    }
-
-    export default defineComponent({
-        name: 'app',
-        components: {},
-        setup() {
-            let spinning = ref<boolean>(false);
-            const tip = ref<string>('');
+            }
+        },
+        timeOut,
+        'overtimeInterval'
+    );
+}
 
-            // 登出状态展示
-            eventBus.$onOnly('logout', () => {
-                // debugger;
-                tip.value = '跳转中...';
-                spinning.value = true;
-                TimerUtils.setTimeout(
-                    () => {
-                        spinning.value = false;
-                        logoutAction();
-                    },
-                    1000,
-                    'logoutTimer'
-                );
-            });
-            // 登录成功
-            // eventBus.$onOnly('loginSuccess', setOvertime);
-            // 监听路由的变化
-            watchEffect(() => Router.currentRoute && provide('current-route', Router.currentRoute));
+export default defineComponent({
+    name: 'app',
+    components: {},
+    setup() {
+        let spinning = ref<boolean>(false);
+        const tip = ref<string>('');
 
-            // 监听刷新事件
-            window.addEventListener(
-                'load',
+        // 登出状态展示
+        eventBus.$onOnly('logout', () => {
+            tip.value = '跳转中...';
+            spinning.value = true;
+            TimerUtils.setTimeout(
                 () => {
-                    tip.value = '数据初始化...';
-                    lastTime = new Date().getTime(); //更新当前时间
-                    spinning.value = true;
-                    // 注册全局loadComplete事件 保证loadComplete变量及时更新
-                    setLoadComplete(false);
-                    globalDataRefresh()
-                        .then((res) => {
-                            setLoadComplete(true);
-                            eventBus.$emit('loadComplete');
-                            spinning.value = false;
-                        })
-                        .catch((err) => {
-                            console.error(err);
-                            spinning.value = false;
-                        });
+                    spinning.value = false;
+                    logoutAction();
                 },
-                true
+                1000,
+                'logoutTimer'
             );
+        });
+        // 登录成功
+        // eventBus.$onOnly('loginSuccess', setOvertime);
+        // 监听路由的变化
+        watchEffect(() => Router.currentRoute && provide('current-route', Router.currentRoute));
+
+        // 监听刷新事件
+        window.addEventListener(
+            'load',
+            () => {
+                tip.value = '数据初始化...';
+                lastTime = new Date().getTime(); //更新当前时间
+                spinning.value = true;
+                // 注册全局loadComplete事件 保证loadComplete变量及时更新
+                setLoadComplete(false);
+                globalDataRefresh()
+                    .then((res) => {
+                        setLoadComplete(true);
+                        eventBus.$emit('loadComplete');
+                        spinning.value = false;
+                    })
+                    .catch((err) => {
+                        console.error(err);
+                        spinning.value = false;
+                    });
+            },
+            true
+        );
 
-            // setOvertime();
-            // 订阅交易通知
-            notice((msg: string) => {
-                Modal.info({
-                    title: '系统提示:',
-                    content: `${msg},请重新登录。`,
-                    okType: 'primary',
-                    okText: '确定',
-                    keyboard: false,
-                    onOk() {
-                        Router.replace('/login');
-                    },
-                });
+        // setOvertime();
+        // 订阅交易通知
+        notice((msg: string) => {
+            Modal.info({
+                title: '系统提示:',
+                content: `${msg},请重新登录。`,
+                okType: 'primary',
+                okText: '确定',
+                keyboard: false,
+                onOk() {
+                    Router.replace('/login');
+                },
             });
+        });
 
-            return {
-                tip,
-                spinning,
-            };
-        },
-    });
+        return {
+            tip,
+            spinning,
+        };
+    },
+});
 </script>
 
 <style lang="less">
-    .app-container {
-        width: 100%;
-        height: auto;
-        min-height: 100%;
-    }
-    #app {
-        width: 100%;
-        height: auto;
-        min-height: 100%;
-        font-family: Avenir, Helvetica, Arial, sans-serif;
-        -webkit-font-smoothing: antialiased;
-        -moz-osx-font-smoothing: grayscale;
-        text-align: center;
-        color: #2c3e50;
-        background-color: #fffefe;
-        display: flex;
-        justify-content: center;
-        overflow-y: hidden;
-        img {
-            cursor: pointer;
-        }
+.app-container {
+    width: 100%;
+    height: auto;
+    min-height: 100%;
+}
+#app {
+    width: 100%;
+    height: auto;
+    min-height: 100%;
+    font-family: Avenir, Helvetica, Arial, sans-serif;
+    -webkit-font-smoothing: antialiased;
+    -moz-osx-font-smoothing: grayscale;
+    text-align: center;
+    color: #2c3e50;
+    background-color: #fffefe;
+    display: flex;
+    justify-content: center;
+    overflow-y: hidden;
+    img {
+        cursor: pointer;
     }
+}
 
-    #nav {
-        padding: 30px;
-        a {
-            font-weight: bold;
-            color: #2c3e50;
-            &.router-link-exact-active {
-                color: #42b983;
-            }
+#nav {
+    padding: 30px;
+    a {
+        font-weight: bold;
+        color: #2c3e50;
+        &.router-link-exact-active {
+            color: #42b983;
         }
     }
+}
 </style>

+ 4 - 1
src/common/constants/buttonType.ts

@@ -33,8 +33,11 @@ export interface ButtonType {
     sell_pending_storage: string; // 销售 出库登记
 
     plan_uncommitted_recommit: string; // 计划 重新提交
-    plan_uncommitted_modif: string; // 计划 修改
+    plan_uncommitted_modify: string; // 计划 修改
+    plan_uncommitted_delete: string; // 计划 删除
     plan_audit_audit: string; // 计划 审核
+    plan_audit_cancel: string; // 计划 撤销
+    plan_btn_add: string; // 计划 新增
 
     business_review_someprice_audit: string; // 点价 审核
     business_review_someprice_cancel: string; // 点价 撤销

+ 1 - 0
src/common/methods/table/interface.ts

@@ -43,4 +43,5 @@ export interface TableKey {
     table_pcweb_stock_manage_current: string; // 库存管理-当前库存
     table_pcweb_userinfo: string; // 客户资料
     table_pcweb_warehouse: string; // 仓库信息
+    table_pcweb_hedging_plan: string; // 计划
 }

+ 0 - 1
src/common/setup/contextMenu/index.ts

@@ -28,7 +28,6 @@ function getClassName(val: string): BtnClassName {
 export function getBtnList(menuType: keyof MenuType, hasDetail: boolean) {
     // 获取 数据
     const permissionData = inject('thirdMenuList') as Ref<OperationTabMenu[]>;
-    // debugger
     const name = 'permissionData'
     // 存入sessionStorageUtil 是为了处理页面刷新的情况(这个时候重新从服务获取数据,但页面已经先加载了,vue 中的 依赖注入在异步中不能建立通信)
     const data: OperationTabMenu[] = permissionData.value.length ? permissionData.value : sessionStorageUtil.getItem(name)

+ 4 - 0
src/common/setup/table/interface.ts

@@ -35,6 +35,10 @@ export interface ButtonListKey {
     exposure_futures: string;   //期货头寸
     exposure_history: string;   //历史敞口
 
+    plan_uncommitted: string;   //计划 未提交
+    plan_audit: string;   //计划 待审核
+    plan_running: string;   //计划 执行中
+
     business_review_someprice: string; // 业务审核 点价
     business_review_settlement: string; // 业务审核 交收
 

+ 2 - 2
src/router/index.ts

@@ -314,7 +314,7 @@ const routes: Array<RouteRecordRaw> = [
                 redirect: { name: 'plan_uncommitted' },
                 children: [
                     {
-                        path: '/plan/pending',
+                        path: '/plan/uncommitted',
                         name: 'plan_uncommitted',
                         component: () => import('@/views/business/plan/list/uncommitted/index.vue'),
                         meta: {
@@ -323,7 +323,7 @@ const routes: Array<RouteRecordRaw> = [
                     },
                     {
                         path: '/plan/audit',
-                        name: 'plan_audit_audit',
+                        name: 'plan_audit',
                         component: () => import('@/views/business/plan/list/audit/index.vue'),
                         meta: {
                             requireAuth: true,

+ 7 - 3
src/services/go/ermcp/plan/index.ts

@@ -1,3 +1,4 @@
+import { getUserId } from '@/services/bus/account';
 import { commonSearch_go } from '@/services/go';
 import { Ermcp3HedgePlan } from '@/services/go/ermcp/plan/interface';
 
@@ -5,12 +6,15 @@ import { Ermcp3HedgePlan } from '@/services/go/ermcp/plan/interface';
 
 /**
  * 查询套保计划 /Ermcp3/QueryHedgePlan
- * @param userId 用户ID
  * @param hedgeplanstatus 套保计划状态(允许多个,逗号隔开) - 0:未提交 1:待审核 2:执行中 3:正常完结 4:审核拒绝 5:异常完结 6:已撤回
  * @constructor
  */
-export function QueryHedgePlan(userId: number, hedgeplanstatus: string): Promise<Ermcp3HedgePlan[]> {
-    return commonSearch_go('/Erms3/QueryHedgePlan', { userId, hedgeplanstatus }).catch((err) => {
+export function QueryHedgePlan(hedgeplanstatus: string): Promise<Ermcp3HedgePlan[]> {
+    const param = {
+        userid: getUserId(),
+        hedgeplanstatus
+    }
+    return commonSearch_go('/Ermcp3/QueryHedgePlan', param).catch((err) => {
         throw new Error(`查询套保计划: ${err.message}`);
     });
 }

+ 0 - 221
src/views/business/plan/compoments/add/index.vue

@@ -1,221 +0,0 @@
-<template>
-  <!-- 新增客户资料 -->
-  <a-modal class="add-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-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-select class="inlineFormSelect"
-                      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-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="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="营业执照">
-            <div class="upload">
-              <a-upload action="https://www.mocky.io/v2/5cc8019d300000980a055e76"
-                        :transform-file="transformFile">
-                <a-button class="uploadBtn">上传</a-button>
-              </a-upload>
-              <div class="look">查看附件</div>
-            </div>
-          </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="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>
-            &nbsp;
-          </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="&nbsp;">
-            <a-input class="dialogInput"
-                     style="width: 635px"
-                     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: 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 '@/common/setup/modal/index';
-import { initData } from '@/common/methods/index';
-
-export default defineComponent({
-    name: 'add-custom',
-    components: {},
-    setup() {
-        const { visible, cancel } = closeModal('custom_info_btn_add');
-        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-custom {
-  
-}
-</style
->;

+ 0 - 170
src/views/business/plan/compoments/detail/index.vue

@@ -1,170 +0,0 @@
-<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">{{ detail.userinfotype === '2' ? '企业' : '个人' }}</span>
-          </a-form-item>
-        </a-col>
-        <a-col :span="12">
-          <a-form-item label="企业名称">
-            <span class="white">{{ detail.customername }}</span>
-          </a-form-item>
-        </a-col>
-      </a-row>
-      <a-row :gutter="24">
-        <a-col :span="12">
-          <a-form-item label="企业简称">
-            <span class="white">{{ detail.nickname }}</span>
-          </a-form-item>
-        </a-col>
-        <a-col :span="12">
-          <a-form-item label="证件类型">
-            <span class="white">{{ detail.cardtypename }}</span>
-          </a-form-item>
-        </a-col>
-      </a-row>
-      <a-row :gutter="24">
-        <a-col :span="12">
-          <a-form-item label="法定代表人">
-            <span class="white">{{ detail.legalpersonname }}</span>
-          </a-form-item>
-        </a-col>
-        <a-col :span="12">
-          <a-form-item label="证件号码">
-            <span class="white">{{ detail.cardnum }}</span>
-          </a-form-item>
-        </a-col>
-      </a-row>
-      <a-row :gutter="24">
-        <a-col :span="12">
-          <a-form-item label="纳税人识别号">
-            <span class="white">{{ detail.taxpayernum }}</span>
-          </a-form-item>
-        </a-col>
-        <a-col :span="12">
-          <a-form-item label="营业执照">
-            <div class="upload">
-                <div class="look">查看附件</div>
-            </div>
-          </a-form-item>
-        </a-col>
-      </a-row>
-      <a-row :gutter="24">
-        <a-col :span="12">
-          <a-form-item label="联系人">
-            <span class="white">{{ detail.contactname }}</span>
-          </a-form-item>
-        </a-col>
-        <a-col :span="12">
-          <a-form-item label="联系人手机号">
-            <span class="white">{{ detail.mobile }}</span>
-          </a-form-item>
-        </a-col>
-      </a-row>
-      <a-row :gutter="24">
-        <a-col :span="12">
-          <a-form-item label="联系电话">
-            <span class="white">{{ detail.telphone }}</span>
-          </a-form-item>
-        </a-col>
-        <a-col :span="12">
-          <a-form-item label="状态">
-            <span class="green">{{ detail.status }}</span>
-          </a-form-item>
-        </a-col>
-      </a-row>
-      <a-row :gutter="24">
-        <a-col :span="24">
-          <a-form-item label="通讯地址">
-            <span class="white">{{ detail.address }}</span>
-          </a-form-item>
-        </a-col>
-      </a-row>
-      <a-row :gutter="24">
-        <a-col :span="24">
-          <a-form-item label="备注">
-            <span class="white">{{ detail.remark }}</span>
-          </a-form-item>
-        </a-col>
-      </a-row>
-    </a-form>
-  </a-modal>
-</template>
-
-<script lang="ts">
-import { defineComponent, PropType, reactive, ref, watchEffect } from 'vue';
-import { closeModal } from '@/common/setup/modal/index';
-import { QueryCustomInfoType } from '@/services/go/ermcp/customInfo/interface';
-import { mergeObj } from '@/utils/objHandle';
-import {getStatusName} from "@/views/information/custom/setup";
-
-export default defineComponent({
-    name: 'custom-detail',
-    components: {},
-    props: {
-        selectedRow: {
-            type: Object as PropType<QueryCustomInfoType>,
-            default: {},
-        },
-    },
-    setup(props) {
-        const { visible, cancel } = closeModal('detail');
-        const detail = reactive({
-            nickname: props.selectedRow.nickname || '--',
-            userinfotype: props.selectedRow.userinfotype || '--',
-            customername: props.selectedRow.customername || '--',
-            cardtypename: props.selectedRow.cardtypename || '--',
-            legalpersonname: props.selectedRow.legalpersonname || '--',
-            cardnum: props.selectedRow.cardnum || '--',
-            taxpayernum: props.selectedRow.taxpayernum || '--',
-            contactname: props.selectedRow.contactname || '--',
-            mobile: props.selectedRow.mobile || '--',
-            telphone: props.selectedRow.telphone || '--',
-            status: getStatusName(props.selectedRow.status) || '--',
-            address: props.selectedRow.address || '--',
-            remark: props.selectedRow.remark || '--'
-        });
-        const loading = ref<boolean>(false);
-        function submit() {
-            loading.value = true;
-            setTimeout(() => {
-                loading.value = false;
-                cancel();
-            }, 2000);
-        }
-        return {
-            visible,
-            cancel,
-            submit,
-            loading,
-            detail,
-        };
-    },
-
-});
-
-
-</script>
-
-<style lang="less">
-.custom-detail {
-    .ant-form.inlineForm {
-        margin-top: 20px;
-    }
-}
-</style>;

+ 51 - 0
src/views/business/plan/components/add/index.vue

@@ -0,0 +1,51 @@
+<template>
+  <!-- 新增计划 -->
+  <a-modal class="add-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 '@/common/setup/modal/index';
+import { initData } from '@/common/methods/index';
+
+export default defineComponent({
+    name: 'add-custom',
+    components: {},
+    setup() {
+        const { visible, cancel } = closeModal('plan_btn_add');
+        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-custom {
+}
+</style
+>;

+ 4 - 4
src/views/business/plan/compoments/disable/index.vue → src/views/business/plan/components/audit/index.vue

@@ -1,7 +1,7 @@
 <template>
-  <!-- 停用客户资料-->
+  <!-- 审核计划-->
   <a-modal class="commonModal warehouse-disable"
-           title="停用客户资料"
+           title="审核计划"
            v-model:visible="visible"
            @cancel="cancel"
            width="890px">
@@ -112,10 +112,10 @@ import { defineComponent, ref } from 'vue';
 import { closeModal } from '@/common/setup/modal/index';
 
 export default defineComponent({
-    name: 'custom-disable',
+    name: 'plan_audit_audit',
     components: {},
     setup() {
-        const { visible, cancel } = closeModal('custom_info_btn_disable');
+        const { visible, cancel } = closeModal('plan_audit_audit');
         const loading = ref<boolean>(false);
         function submit() {
             loading.value = true;

+ 55 - 0
src/views/business/plan/components/cancel/index.vue

@@ -0,0 +1,55 @@
+<template>
+  <!-- 计划撤销-->
+  <a-modal class="custom-detail"
+           title="计划撤销"
+           v-model:visible="visible"
+           centered
+           :maskClosable="maskClosableFlag"
+           @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>
+    plan_audit_cancel
+  </a-modal>
+</template>
+
+<script lang="ts">
+import { defineComponent, ref } from 'vue';
+import { closeModal } from '@/common/setup/modal/index';
+
+export default defineComponent({
+    name: 'plan_audit_cancel',
+    components: {},
+    setup() {
+        const { visible, cancel } = closeModal('plan_audit_cancel');
+        const loading = ref<boolean>(false);
+        const maskClosableFlag = ref<boolean>(false);
+        function submit() {
+            loading.value = true;
+            setTimeout(() => {
+                loading.value = false;
+                cancel();
+            }, 2000);
+        }
+        return {
+            visible,
+            cancel,
+            submit,
+            loading,
+            maskClosableFlag,
+        };
+    },
+});
+</script>
+
+<style lang="less">
+.plan_audit_cancel {
+}
+</style>;

+ 6 - 6
src/views/business/plan/compoments/delete/index.vue → src/views/business/plan/components/delete/index.vue

@@ -1,7 +1,7 @@
 <template>
-  <!-- 恢复客户资料-->
-  <a-modal class="recover-custom"
-           title="恢复客户资料"
+  <!-- 删除计划-->
+  <a-modal class="plan_uncommitted_delete"
+           title="删除计划"
            v-model:visible="visible"
            @cancel="cancel"
            width="890px">
@@ -19,10 +19,10 @@ import { defineComponent, ref } from 'vue';
 import { closeModal } from '@/common/setup/modal/index';
 
 export default defineComponent({
-    name: 'recover-custom',
+    name: 'plan_uncommitted_delete',
     components: {},
     setup() {
-        const { visible, cancel } = closeModal('custom_info_btn_delete');
+        const { visible, cancel } = closeModal('plan_uncommitted_delete');
         const loading = ref<boolean>(false);
         function submit() {
             loading.value = true;
@@ -42,7 +42,7 @@ export default defineComponent({
 </script>
 
 <style lang="less">
-.recover-custom {
+.plan_uncommitted_delete {
 }
 </style
 >;

+ 104 - 0
src/views/business/plan/components/detail/index.vue

@@ -0,0 +1,104 @@
+<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">{{ getPlanContractType(selectedRow.contracttype) }}</span>
+          </a-form-item>
+        </a-col>
+        <a-col :span="12">
+          <a-form-item label="计划名称">
+            <span class="white">{{ formatValue(selectedRow.hedgeplanno) }}</span>
+          </a-form-item>
+        </a-col>
+      </a-row>
+      <a-row :gutter="24">
+        <a-col :span="12">
+          <a-form-item label="现货品种">
+            <span class="white">{{ formatValue(selectedRow.deliverygoodsname) }}</span>
+          </a-form-item>
+        </a-col>
+        <a-col :span="12">
+          <a-form-item label="标仓系数">
+            <span class="white">{{ formatValue(selectedRow.convertfactor) }}</span>
+          </a-form-item>
+        </a-col>
+      </a-row>
+      <a-row :gutter="24">
+        <a-col :span="12">
+          <a-form-item label="计划量">
+            <span class="white">{{ formatValue(selectedRow.planqty) }}</span>
+          </a-form-item>
+        </a-col>
+        <a-col :span="12">
+          <a-form-item label="备注">
+            <span class="white">{{ formatValue(selectedRow.remark) }}</span>
+          </a-form-item>
+        </a-col>
+      </a-row>
+    </a-form>
+  </a-modal>
+</template>
+
+<script lang="ts">
+import { defineComponent, PropType, reactive, ref, watchEffect } from 'vue';
+import { closeModal } from '@/common/setup/modal/index';
+import { QueryCustomInfoType } from '@/services/go/ermcp/customInfo/interface';
+import { mergeObj } from '@/utils/objHandle';
+import { getStatusName } from '@/views/information/custom/setup';
+import { Ermcp3HedgePlan } from '@/services/go/ermcp/plan/interface';
+import { formatValue } from '@/common/methods';
+import { getPlanContractType } from '@/views/business/plan/setup';
+
+export default defineComponent({
+    name: 'plan-detail',
+    components: {},
+    props: {
+        selectedRow: {
+            type: Object as PropType<Ermcp3HedgePlan>,
+            default: {},
+        },
+    },
+    setup() {
+        const { visible, cancel } = closeModal('detail');
+        const loading = ref<boolean>(false);
+        function submit() {
+            loading.value = true;
+            setTimeout(() => {
+                loading.value = false;
+                cancel();
+            }, 2000);
+        }
+        return {
+            visible,
+            cancel,
+            submit,
+            loading,
+            formatValue,
+            getPlanContractType,
+        };
+    },
+});
+</script>
+
+<style lang="less">
+.custom-detail {
+    .ant-form.inlineForm {
+        margin-top: 20px;
+    }
+}
+</style>;

+ 16 - 22
src/views/business/plan/compoments/filterTable/index.vue → src/views/business/plan/components/filterTable/index.vue

@@ -4,21 +4,18 @@
     <a-select label-in-value
               class="conditionSelect"
               style="width: 120px"
-              v-model:value="userinfotype"
-              placeholder="全部客户类型"
+              v-model:value="contracttype"
+              placeholder="全部计划类型"
               @change="handleChange">
-      <a-select-option value="1">个人</a-select-option>
-      <a-select-option value="2">企业</a-select-option>
+      <a-select-option value="1">采购</a-select-option>
+      <a-select-option value="-1">销售</a-select-option>
     </a-select>
-    <a-input v-model:value="nickname"
+    <a-input v-model:value="hedgeplanno"
              class="tableConditionInput"
-             placeholder="模糊搜索客户简称" />
-    <a-input v-model:value="name"
+             placeholder="模糊搜索计划" />
+    <a-input v-model:value="deliverygoodsname"
              class="tableConditionInput"
-             placeholder="模糊搜索客户名称" />
-    <a-input v-model:value="phone"
-             class="tableConditionInput"
-             placeholder="模糊搜索手机号码" />
+             placeholder="模糊搜索现货品种" />
     <a-button class="selectBtn"
               @click="search">查询</a-button>
     <a-button class="selectBtn"
@@ -32,33 +29,31 @@ import { defineComponent, ref, SetupContext } from 'vue';
 
 // 搜索
 function handleSearch(context: SetupContext) {
-    const nickname = ref<string>('');
-    const name = ref<string>('');
-    const phone = ref<string>('');
+    const hedgeplanno = ref<string>('');
+    const deliverygoodsname = ref<string>('');
     interface Value {
         key: string;
         value: string;
     }
     let useType = '';
-    const userinfotype = ref<number | undefined>(undefined);
+    const contracttype = ref<number | undefined>(undefined);
     function handleChange(value: Value) {
         useType = value.value;
         search();
     }
     function search() {
-        const result = { nickname: [nickname.value], name: [name.value], mobile: [phone.value], userinfotype: [useType] };
+        const result = { hedgeplanno: [hedgeplanno.value], deliverygoodsname: [deliverygoodsname.value], contracttype: [useType] };
         context.emit('search', result);
     }
     function reset() {
-        nickname.value = '';
-        name.value = '';
-        phone.value = '';
-        userinfotype.value = undefined;
+        hedgeplanno.value = '';
+        deliverygoodsname.value = '';
+        contracttype.value = undefined;
         useType = '';
         search();
     }
 
-    return { nickname, name, phone, search, reset, userinfotype, handleChange };
+    return { hedgeplanno, search, reset, contracttype, handleChange };
 }
 
 export default defineComponent({
@@ -104,6 +99,5 @@ export default defineComponent({
     .conditionSelect + .conditionSelect {
         margin-left: 10px;
     }
-    
 }
 </style>;

+ 11 - 0
src/views/business/plan/components/index.ts

@@ -0,0 +1,11 @@
+import Add from './add/index.vue';
+import Audit from './audit/index.vue';
+import Cancel from './cancel/index.vue';
+import Delete from './delete/index.vue';
+import Detail from './detail/index.vue';
+import Filter from './filterTable/index.vue';
+import Modfiy from './modify/index.vue';
+import Recommit from './recommit/index.vue';
+
+export { Add, Detail, Filter, Modfiy, Recommit, Delete, Cancel, Audit };
+

+ 4 - 4
src/views/business/plan/compoments/modify/index.vue → src/views/business/plan/components/modify/index.vue

@@ -1,7 +1,7 @@
 <template>
-  <!-- 修改客户资料 -->
+  <!-- 修改计划 -->
   <a-modal class="commonModal modify-custom"
-           title="修改客户资料"
+           title="修改计划"
            v-if="visible"
            v-model:visible="visible"
            @cancel="cancel"
@@ -191,7 +191,7 @@ import { closeModal } from '@/common/setup/modal/index';
 import { initData } from '@/common/methods/index';
 
 export default defineComponent({
-    name: 'modify-custom',
+    name: 'plan_uncommitted_modify',
     components: {},
     props: {
         // selectedRow: {
@@ -200,7 +200,7 @@ export default defineComponent({
     },
     setup() {
         // const { visible, cancel } = closeModal('modifyCustomInfo');
-        const { visible, cancel } = closeModal('custom_info_btn_modify');
+        const { visible, cancel } = closeModal('plan_uncommitted_modify');
 
         const loading = ref<boolean>(false);
         function submit() {

+ 6 - 6
src/views/business/plan/compoments/recover/index.vue → src/views/business/plan/components/recommit/index.vue

@@ -1,7 +1,7 @@
 <template>
-  <!-- 恢复客户资料-->
-  <a-modal class="modify-custom"
-           title="恢复客户资料"
+  <!-- 计划 重新提交-->
+  <a-modal class="plan-recommit"
+           title="重新提交"
            v-model:visible="visible"
            @cancel="cancel"
            width="890px">
@@ -19,10 +19,10 @@ import { defineComponent, ref } from 'vue';
 import { closeModal } from '@/common/setup/modal/index';
 
 export default defineComponent({
-    name: 'modify-custom',
+    name: 'plan-recommit',
     components: {},
     setup() {
-        const { visible, cancel } = closeModal('custom_info_btn_recover');
+        const { visible, cancel } = closeModal('plan_uncommitted_recommit');
         const loading = ref<boolean>(false);
         function submit() {
             loading.value = true;
@@ -42,7 +42,7 @@ export default defineComponent({
 </script>
 
 <style lang="less">
-.modify-custom {
+.plan-recommit {
 }
 </style
 >;

+ 54 - 36
src/views/business/plan/list/audit/index.vue

@@ -1,71 +1,89 @@
 <template>
-  <!-- 计划: 未提交-->
+  <!-- 计划: 审核中-->
   <div class="plan_uncommitted"
        :loading="loading">
-    <filterCustomTable @search="search">
+    <Filter @search="search">
       <BtnList :btnList="commonBtn" />
-    </filterCustomTable>
+    </Filter>
     <contextMenu :contextMenuList="forDataBtn">
       <a-table :columns="columns"
                class="topTable"
                :pagination="false"
-               rowKey="key"
                :expandedRowKeys="expandedRowKeys"
                :customRow="Rowclick"
-               :data-source="spotContractList">
+               rowKey="key"
+               :data-source="tableList">
         <!-- 额外的展开行 -->
         <template #expandedRowRender="{  }">
           <BtnList :btnList="forDataBtn" />
         </template>
-        <!-- <template #userinfotype="{ text }">
-          <a>{{ text === '2' ? '企业' : '个人'}}</a>
+        <!-- <template #warehousetype="{ text }">
+          <span>{{ getWareHouseType(text) }}</span>
+        </template>
+        <template #warehousestatus="{ text }">
+          <span>{{ getWareHouseStatus(text) }}</span>
         </template> -->
       </a-table>
     </contextMenu>
-    <!-- 现货合同: 详情 -->
-    <SpotContractDeatil />
-    <!-- 现货合同: 审核 -->
-    <Check />
-    <!-- 现货合同: 撤销 -->
+    <!-- 详情 -->
+    <Detail />
+    <!-- 撤销 -->
     <Cancel />
+    <!-- 审核 -->
+    <Audit />
   </div>
 </template>
 
 <script lang="ts">
-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 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';
-import SpotContractDeatil from '@/views/information/spot-contract/components/detail/index.vue';
-import Check from '@/views/information/spot-contract/components/check/index.vue';
-import Cancel from '@/views/information/spot-contract/components/cancel/index.vue';
-import { getBtnList } from '@/common/setup/contextMenu/index';
-import { handleTableEvent } from '@/common/setup/event/index';
-import BtnList from '@/common/components/buttonList/index.vue';
+import { defineComponent, initData, getTableColumns, getTableEvent, getBtnList, contextMenu, BtnList } from '@/common/export/table';
+import { getFilterTableCB, queryTableList, Ermcp3HedgePlan } from '../index';
+import { Add, Detail, Filter, Recommit, Cancel, Audit } from '../../components';
 
 export default defineComponent({
     name: 'plan_uncommitted',
     components: {
-        filterCustomTable,
         contextMenu,
-        AddSpotContract,
-        SpotContractDeatil,
-        Check,
-        Cancel,
         BtnList,
+        Add,
+        Recommit,
+        Filter,
+        Detail,
+        Audit,
+        Cancel,
     },
     setup() {
-        const contextMenuList = ref<MenuItem[]>([]);
-        const { spotContractList, actionQuery, columns, getColumns, search, loading } = getCustomList();
-
+        // 表头数据
+        const { columns, registerColumn, updateColumn, filteredInfo } = getTableColumns();
+        // 表格事件
+        const { expandedRowKeys, selectedRow, Rowclick } = getTableEvent<Ermcp3HedgePlan>({});
+        // 表格操作按钮列表
+        const { commonBtn, forDataBtn } = getBtnList('plan_audit', true);
+        // 表格列表数据
+        const { loading, tableList, queryTable } = queryTableList('1');
+        // 查询
+        function search(value: any) {
+            filteredInfo.value = value;
+            // 更新表信息
+            updateColumn();
+        }
         initData(() => {
-            actionQuery(2);
-            getColumns();
+            // 获取列表数据
+            queryTable();
+            // 注册表头信息 过滤
+            registerColumn('table_pcweb_hedging_plan', getFilterTableCB);
         });
-        return { spotContractList, columns, search, contextMenuList, ...getBtnList('business_review_someprice', true), loading, ...handleTableEvent() };
+        return {
+            columns,
+            filteredInfo,
+            expandedRowKeys,
+            selectedRow,
+            Rowclick,
+            commonBtn,
+            forDataBtn,
+            loading,
+            tableList,
+            search,
+        };
     },
 });
 </script>

+ 5 - 0
src/views/business/plan/list/index.ts

@@ -0,0 +1,5 @@
+import { Ermcp3HedgePlan } from '@/services/go/ermcp/plan/interface';
+import { getFilterTableCB, queryTableList } from './setup';
+
+export { queryTableList, getFilterTableCB };
+export type { Ermcp3HedgePlan };

+ 83 - 74
src/views/business/plan/list/running/index.vue

@@ -1,83 +1,92 @@
 <template>
-    <!-- 采购: 现货头寸-->
-    <div class="spot-contract-peddding">
-        采购: 现货头寸
-    </div>
+  <!-- 计划: 执行中-->
+  <div class="plan_running"
+       :loading="loading">
+    <Filter @search="search">
+      <BtnList :btnList="commonBtn" />
+    </Filter>
+    <contextMenu :contextMenuList="forDataBtn">
+      <a-table :columns="columns"
+               class="topTable"
+               :pagination="false"
+               :expandedRowKeys="expandedRowKeys"
+               :customRow="Rowclick"
+               rowKey="key"
+               :data-source="tableList">
+        <!-- 额外的展开行 -->
+        <template #expandedRowRender="{  }">
+          <BtnList :btnList="forDataBtn" />
+        </template>
+        <!-- <template #warehousetype="{ text }">
+          <span>{{ getWareHouseType(text) }}</span>
+        </template>
+        <template #warehousestatus="{ text }">
+          <span>{{ getWareHouseStatus(text) }}</span>
+        </template> -->
+      </a-table>
+    </contextMenu>
+    <!-- 详情 -->
+    <Detail />
+    <!-- 撤销 -->
+    <Cancel />
+    <!-- 审核 -->
+    <Audit />
+  </div>
 </template>
 
 <script lang="ts">
-    import { defineComponent, ref } from 'vue';
-    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 '@/common/methods';
+import { defineComponent, initData, getTableColumns, getTableEvent, getBtnList, contextMenu, BtnList } from '@/common/export/table';
+import { getFilterTableCB, queryTableList, Ermcp3HedgePlan } from '../index';
+import { Add, Detail, Filter, Recommit } from '../../components';
 
-    // 查询客户资料列表
-    function getCustomList() {
-        // const filteredInfo = ref();
-        // const sortedInfo = ref();
-        // const columns = computed(() => {
-        //     const filtered = filteredInfo.value || {};
-        //     const sorted = sortedInfo.value || {};
-        //     return [
-        //         {
-        //             title: '序号',
-        //             dataIndex: 'index',
-        //             key: 'index',
-        //             align: 'center',
-        //             width: 50,
-        //             customRender: (param: any) => `${param.index + 1}`,
-        //         },
-        //         {
-        //             title: 'Age',
-        //             dataIndex: 'age',
-        //             key: 'age',
-        //             sorter: (a: DataItem, b: DataItem) => a.age - b.age,
-        //             sortOrder: sorted.columnKey === 'age' && sorted.order,
-        //         },
-        //         {
-        //             title: 'Address',
-        //             dataIndex: 'address',
-        //             key: 'address',
-        //             filters: [
-        //                 { text: 'London', value: 'London' },
-        //                 { text: 'New York', value: 'New York' },
-        //             ],
-        //             filteredValue: filtered.address || null,
-        //             onFilter: (value: string, record: DataItem) => record.address.includes(value),
-        //             sorter: (a: DataItem, b: DataItem) => a.address.length - b.address.length,
-        //             sortOrder: sorted.columnKey === 'address' && sorted.order,
-        //             ellipsis: true,
-        //         },
-        //     ];
-        // });
-        const customList = ref<QueryCustomInfoType[]>([]);
-        function actionQuery() {
-            QueryCustomInfo(4)
-                .then((res) => {
-                    console.log('L', res);
-                })
-                .catch((err) => message.error(err));
+export default defineComponent({
+    name: 'spot-contract-peddding',
+    components: {
+        contextMenu,
+        BtnList,
+        Add,
+        Recommit,
+        Filter,
+        Detail,
+    },
+    setup() {
+        // 表头数据
+        const { columns, registerColumn, updateColumn, filteredInfo } = getTableColumns();
+        // 表格事件
+        const { expandedRowKeys, selectedRow, Rowclick } = getTableEvent<Ermcp3HedgePlan>({});
+        // 表格操作按钮列表
+        const { commonBtn, forDataBtn } = getBtnList('plan_running', true);
+        // 表格列表数据
+        const { loading, tableList, queryTable } = queryTableList('2');
+        // 查询
+        function search(value: any) {
+            filteredInfo.value = value;
+            // 更新表信息
+            updateColumn();
         }
-
-        return { customList, actionQuery };
-    }
-
-    export default defineComponent({
-        name: 'spot-contract-peddding',
-        components: {},
-        setup() {
-            const { customList, actionQuery } = getCustomList();
-            initData(() => {
-                actionQuery();
-                // 加载数据在这里
-            });
-            return { customList };
-        },
-    });
+        initData(() => {
+            // 获取列表数据
+            queryTable();
+            // 注册表头信息 过滤
+            registerColumn('table_pcweb_hedging_plan', getFilterTableCB);
+        });
+        return {
+            columns,
+            filteredInfo,
+            expandedRowKeys,
+            selectedRow,
+            Rowclick,
+            commonBtn,
+            forDataBtn,
+            loading,
+            tableList,
+            search,
+        };
+    },
+});
 </script>
 
 <style lang="less">
-    .spot-contract-peddding {
-    }</style
->;
+.plan_running {
+}
+</style>;

+ 39 - 69
src/views/business/plan/list/setup.ts

@@ -1,84 +1,54 @@
-import { ColumnType, getTableHead } from '@/common/methods/table';
-import { QuerySpotContract } from '@/services/go/ermcp/spot-contract/index';
-import { Ermcp3ContractRsp } from '@/services/go/ermcp/spot-contract/interface';
+import { Column, ColumnType } from '@/common/setup/table/index';
+import { QueryHedgePlan } from '@/services/go/ermcp/plan';
+import { Ermcp3HedgePlan } from '@/services/go/ermcp/plan/interface';
 import { message } from 'ant-design-vue';
 import { ref } from 'vue';
 
-// 处理现货列表
-export function getCustomList() {
-    // 表格数据
-    const spotContractList = ref<Ermcp3ContractRsp[]>([]);
-    // 表头数据
-    const columns = ref<ColumnType[]>([]);
-    // 过滤项
-    const filteredInfo = ref();
+/**
+ * 获取表格列表数据
+ * @param type 
+ * @returns 
+ */
+export function queryTableList(type: string) {
+    // 加载状态
     const loading = ref<boolean>(false);
-    // 获取表头
-    function getColumns() {
-        const list = getTableHead('table_pcweb_delivery');
-        const filtered = filteredInfo.value || {};
-        columns.value.length = 0;
-        list.forEach((e, i) => {
-            const { columnfield, columntitle, aligntype } = e;
-            const item: ColumnType = {
-                key: String(i),
-                dataIndex: columnfield, // 表格数据对应的key
-                title: columntitle,
-                align: aligntype === 1 ? 'center' : aligntype === 2 ? 'left' : 'right',
-                slots: { customRender: columnfield },
-            };
-            // 以下添加过滤数据对应的方法
-            if (e.columntitle === '类型') {
-                item.onFilter = (value: string, record: Ermcp3ContractRsp) => String(record.contracttype).includes(value);
-                item.filteredValue = filtered.contracttype || null;
-            }
-            if (e.columntitle === '定价类型') {
-                item.onFilter = (value: string, record: Ermcp3ContractRsp) => String(record.pricetype).includes(value);
-                item.filteredValue = filtered.pricetype || null;
-            }
-            if (e.columntitle === '合同编号') {
-                item.onFilter = (value: string, record: Ermcp3ContractRsp) => record.contractno.includes(value);
-                item.filteredValue = filtered.contractno || null;
-            }
-            if (e.columntitle === '对手方') {
-                item.onFilter = (value: string, record: Ermcp3ContractRsp) => {
-                    if (record.contracttype === 1) {
-                        //采购方
-                        return record.sellusername.includes(value);
-                    } else {
-                        // 销售
-                        return record.buyusername.includes(value);
-                    }
-                };
-                item.filteredValue = filtered.negative || null;
-            }
-            columns.value.push(item);
-        });
-        console.log('columns', columns);
-    }
-    // 1-未提交 2-待审核 3-履约中 4-已完成
-    type EnumType = 1 | 2 | 3 | 4;
-    // 查询列表
-    function actionQuery(type: EnumType) {
-        loading.value = true;
-        QuerySpotContract({ querytype: type })
+    // 表格数据
+    const tableList = ref<Ermcp3HedgePlan[]>([]);
+    function queryTable() {
+        QueryHedgePlan(type)
             .then((res) => {
-                spotContractList.value = res.map((e, i) => {
+                tableList.value = res.map((e, i) => {
                     return { ...e, key: String(i) };
                 });
                 loading.value = false;
-                console.log('查询列表', spotContractList);
+                console.log('查询列表', tableList);
             })
             .catch((err) => {
                 message.error(err);
                 loading.value = false;
             });
     }
-    // 查询
-    function search(value: any) {
-        filteredInfo.value = value;
-        getColumns();
-    }
-
-    return { spotContractList, actionQuery, columns, filteredInfo, getColumns, search, loading };
+    return { loading, tableList, queryTable }
 }
+
+/**
+ * 过滤表格的回调函数
+ * @param e 
+ * @param item 
+ * @param filtered 
+ */
+export function getFilterTableCB(e: Column, item: ColumnType, filtered: any) {
+    // // 以下添加过滤数据对应的方法
+    if (e.columnfield === 'contracttype') {
+        item.onFilter = (value: string, record: Ermcp3HedgePlan) => String(record.contracttype).includes(String(value));
+        item.filteredValue = filtered.contracttype || null;
+    }
+    if (e.columnfield === 'hedgeplanno') {
+        item.onFilter = (value: string, record: Ermcp3HedgePlan) => record.hedgeplanno.includes(value);
+        item.filteredValue = filtered.hedgeplanno || null;
+    }
+    if (e.columnfield === 'deliverygoodsname') {
+        item.onFilter = (value: string, record: Ermcp3HedgePlan) => record.deliverygoodsname.includes(value);
+        item.filteredValue = filtered.deliverygoodsname || null;
+    }
+}

+ 89 - 74
src/views/business/plan/list/uncommitted/index.vue

@@ -1,83 +1,98 @@
 <template>
-    <!-- 采购: 实时敞口-->
-    <div class="purchase-real-time">
-        采购: 实时敞口
-    </div>
+  <!-- 计划: 未提交-->
+  <div class="plan-uncommitted"
+       :loading="loading">
+    <Filter @search="search">
+      <BtnList :btnList="commonBtn" />
+    </Filter>
+    <contextMenu :contextMenuList="forDataBtn">
+      <a-table :columns="columns"
+               class="topTable"
+               :pagination="false"
+               :expandedRowKeys="expandedRowKeys"
+               :customRow="Rowclick"
+               rowKey="key"
+               :data-source="tableList">
+        <!-- 额外的展开行 -->
+        <template #expandedRowRender="{  }">
+          <BtnList :btnList="forDataBtn" />
+        </template>
+        <!-- <template #warehousetype="{ text }">
+          <span>{{ getWareHouseType(text) }}</span>
+        </template>
+        <template #warehousestatus="{ text }">
+          <span>{{ getWareHouseStatus(text) }}</span>
+        </template> -->
+      </a-table>
+    </contextMenu>
+    <!-- 详情 -->
+    <Detail />
+    <!-- 新增 -->
+    <Add />
+    <!-- 修改 -->
+    <Modfiy />
+    <!-- 重新提交 -->
+    <Recommit />
+    <!-- 删除-->
+    <Delete />
+  </div>
 </template>
 
 <script lang="ts">
-    import { defineComponent, ref } from 'vue';
-    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 '@/common/methods';
+import { defineComponent, initData, getTableColumns, getTableEvent, getBtnList, contextMenu, BtnList } from '@/common/export/table';
+import { getFilterTableCB, queryTableList, Ermcp3HedgePlan } from '../index';
+import { Add, Delete, Detail, Filter, Modfiy, Recommit } from '../../components';
 
-    // 查询客户资料列表
-    function getCustomList() {
-        // const filteredInfo = ref();
-        // const sortedInfo = ref();
-        // const columns = computed(() => {
-        //     const filtered = filteredInfo.value || {};
-        //     const sorted = sortedInfo.value || {};
-        //     return [
-        //         {
-        //             title: '序号',
-        //             dataIndex: 'index',
-        //             key: 'index',
-        //             align: 'center',
-        //             width: 50,
-        //             customRender: (param: any) => `${param.index + 1}`,
-        //         },
-        //         {
-        //             title: 'Age',
-        //             dataIndex: 'age',
-        //             key: 'age',
-        //             sorter: (a: DataItem, b: DataItem) => a.age - b.age,
-        //             sortOrder: sorted.columnKey === 'age' && sorted.order,
-        //         },
-        //         {
-        //             title: 'Address',
-        //             dataIndex: 'address',
-        //             key: 'address',
-        //             filters: [
-        //                 { text: 'London', value: 'London' },
-        //                 { text: 'New York', value: 'New York' },
-        //             ],
-        //             filteredValue: filtered.address || null,
-        //             onFilter: (value: string, record: DataItem) => record.address.includes(value),
-        //             sorter: (a: DataItem, b: DataItem) => a.address.length - b.address.length,
-        //             sortOrder: sorted.columnKey === 'address' && sorted.order,
-        //             ellipsis: true,
-        //         },
-        //     ];
-        // });
-        const customList = ref<QueryCustomInfoType[]>([]);
-        function actionQuery() {
-            QueryCustomInfo(4)
-                .then((res) => {
-                    console.log('L', res);
-                })
-                .catch((err) => message.error(err));
+export default defineComponent({
+    name: 'plan-uncommitted',
+    components: {
+        contextMenu,
+        BtnList,
+        Add,
+        Modfiy,
+        Recommit,
+        Filter,
+        Detail,
+        Delete,
+    },
+    setup() {
+        // 表头数据
+        const { columns, registerColumn, updateColumn, filteredInfo } = getTableColumns();
+        // 表格事件
+        const { expandedRowKeys, selectedRow, Rowclick } = getTableEvent<Ermcp3HedgePlan>({});
+        // 表格操作按钮列表
+        const { commonBtn, forDataBtn } = getBtnList('plan_uncommitted', true);
+        // 表格列表数据
+        const { loading, tableList, queryTable } = queryTableList('0');
+        // 查询
+        function search(value: any) {
+            filteredInfo.value = value;
+            // 更新表信息
+            updateColumn();
         }
-
-        return { customList, actionQuery };
-    }
-
-    export default defineComponent({
-        name: 'purchase-real-time',
-        components: {},
-        setup() {
-            const { customList, actionQuery } = getCustomList();
-            initData(() => {
-                actionQuery();
-                // 加载数据在这里
-            });
-            return { customList };
-        },
-    });
+        initData(() => {
+            // 获取列表数据
+            queryTable();
+            // 注册表头信息 过滤
+            registerColumn('table_pcweb_hedging_plan', getFilterTableCB);
+        });
+        return {
+            columns,
+            filteredInfo,
+            expandedRowKeys,
+            selectedRow,
+            Rowclick,
+            commonBtn,
+            forDataBtn,
+            loading,
+            tableList,
+            search,
+        };
+    },
+});
 </script>
 
 <style lang="less">
-    .purchase-real-time {
-    }</style
->;
+.plan-uncommitted {
+}
+</style>;

+ 16 - 0
src/views/business/plan/setup.ts

@@ -0,0 +1,16 @@
+/**
+ * 计划类型 - 1:采购 -1:销售
+ * @param contracttype 返回计划类型
+ */
+export function getPlanContractType(contracttype: number): string{
+    let result = "--";
+    switch (contracttype) {
+        case 1:
+            result = "套保采购计划";
+            break
+        case 2:
+            result = "套保销售计划";
+            break
+    }
+    return result
+}

+ 113 - 17
src/views/business/purchase/components/detail/index.vue

@@ -1,30 +1,123 @@
 <template>
-  <!-- 采购详情-->
-  <a-modal class="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-modal>
+    <!-- 采购合同详情-->
+    <a-modal class="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>
+        <fieldset class="formFieldSet">
+            <legend>合同基本信息</legend>
+            <a-form class="inlineForm"
+                    :form="form"
+                    @submit="handleSearch">
+                <a-row :gutter="24">
+                    <a-col :span="12">
+                        <a-form-item label="合同编号">
+                            <span class="white">{{ formatValue(selectedRow.contractno) }}</span>
+                        </a-form-item>
+                    </a-col>
+                    <a-col :span="12">
+                        <a-form-item label="合同类型">
+                            <span class="white">{{ getPriceTypeName(selectedRow.pricetype) }}</span>
+                        </a-form-item>
+                    </a-col>
+                </a-row>
+                <a-row :gutter="24">
+                    <a-col :span="12">
+                        <a-form-item label="销售方">
+                            <span class="white">{{ formatValue(selectedRow.enumdicname) }}</span>
+                        </a-form-item>
+                    </a-col>
+                    <a-col :span="12">
+                        <a-form-item label="现货品种">
+                            <span class="white">{{ formatValue(selectedRow.deliverygoodsname) }}</span>
+                        </a-form-item>
+                    </a-col>
+                </a-row>
+                <a-row :gutter="24">
+                    <a-col :span="12">
+                        <a-form-item label="合同签署量">
+                            <span class="white">{{ formatValue(selectedRow.qty + selectedRow.enumdicname) }}</span>
+                        </a-form-item>
+                    </a-col>
+                    <a-col :span="12">
+                        <a-form-item label="合同暂定价">
+                            <span class="white">{{ formatValue(selectedRow.price) }}</span>
+                        </a-form-item>
+                    </a-col>
+                </a-row>
+                <a-row :gutter="24">
+                    <a-col :span="12">
+                        <a-form-item label="点价合约">
+                            <span class="white">{{ formatValue(selectedRow.goodsname) }}</span>
+                        </a-form-item>
+                    </a-col>
+                </a-row>
+            </a-form>
+        </fieldset>
+        <fieldset class="formFieldSet">
+            <legend>已登记信息</legend>
+            <a-form class="inlineForm"
+                    :form="form"
+                    @submit="handleSearch">
+                <a-row :gutter="24">
+                    <a-col :span="12">
+                        <a-form-item label="已定价量">
+                            <span class="white">{{ selectedRow.pricedqty + selectedRow.enumdicname }}</span>
+                        </a-form-item>
+                    </a-col>
+                    <a-col :span="12">
+                        <a-form-item label="已点均价">
+                            <span class="white">{{ formatValue(selectedRow.pricedavg) }}</span>
+                        </a-form-item>
+                    </a-col>
+                </a-row>
+            </a-form>
+        </fieldset>
+        <fieldset class="formFieldSet">
+            <legend>本次点价信息</legend>
+            <a-form class="inlineForm"
+                    :form="form"
+                    @submit="handleSearch">
+                <a-row :gutter="24">
+                    <a-col :span="12">
+                        <a-form-item label="升贴水">
+                            <span class="white">{{ formatValue(selectedRow.pricemove) }}</span>
+                        </a-form-item>
+                    </a-col>
+                </a-row>
+            </a-form>
+        </fieldset>
+    </a-modal>
 </template>
 
 <script lang="ts">
-import { defineComponent, ref } from 'vue';
-import { closeModal } from '@/common/setup/modal/index';
+import {defineComponent, PropType, ref} from 'vue';
+import {closeModal} from '@/common/setup/modal/index';
+import {formatValue} from "@/common/methods";
+import {Ermcp3SellBuyContract} from "@/services/go/ermcp/purchase/interface";
+import {getPriceTypeName} from "@/views/business/purchase/setup";
 
 export default defineComponent({
     name: 'purchase_pending-detail',
     components: {},
+    props: {
+        selectedRow: {
+            type: Object as PropType<Ermcp3SellBuyContract>,
+            default: {},
+        },
+    },
     setup() {
-        const { visible, cancel } = closeModal('detail');
+        const {visible, cancel} = closeModal('detail');
         const loading = ref<boolean>(false);
+
         function submit() {
             loading.value = true;
             setTimeout(() => {
@@ -32,11 +125,14 @@ export default defineComponent({
                 cancel();
             }, 2000);
         }
+
         return {
             visible,
             cancel,
             submit,
             loading,
+            formatValue,
+            getPriceTypeName,
         };
     },
 });

+ 10 - 0
src/views/business/purchase/components/index.ts

@@ -0,0 +1,10 @@
+import Detail from './detail/index.vue';
+import filterCustomTable from './filterTable/index.vue';
+import Funds from './funds/index.vue';
+import Invoice from './invoice/index.vue';
+import Settlement from './settlement/index.vue';
+import SomePrice from './someprice/index.vue';
+import Storage from './storage/index.vue';
+
+export { Detail, SomePrice, filterCustomTable, Settlement, Funds, Invoice, Storage };
+

+ 27 - 24
src/views/business/purchase/list/all/index.vue

@@ -41,20 +41,9 @@
 </template>
 
 <script lang="ts">
-import { defineComponent } from 'vue';
-import { initData } from '@/common/methods';
-import filterCustomTable from '../../components/filterTable/index.vue';
-import { getTableList } from '../setup';
-import { getBtnList } from '@/common/setup/contextMenu/index';
-import contextMenu from '@/common/components/contextMenu/index.vue';
-import Detail from '../../components/detail/index.vue';
-import Settlement from '../../components/settlement/index.vue';
-import Funds from '../../components/funds/index.vue';
-import Invoice from '../../components/invoice/index.vue';
-import Storage from '../../components/storage/index.vue';
-import SomePrice from '../../components/someprice/index.vue';
-import BtnList from '@/common/components/buttonList/index.vue';
-import { handleTableEvent } from '@/common/setup/event/index';
+import { defineComponent, initData, getTableColumns, getTableEvent, getBtnList, contextMenu, BtnList } from '@/common/export/table';
+import { getFilterTableCB, queryTableList, Ermcp3SellBuyContract } from '../index';
+import { Detail, filterCustomTable, Settlement, Funds, Invoice, Storage, SomePrice } from '../../components';
 
 export default defineComponent({
     name: 'purchase-all',
@@ -70,23 +59,37 @@ export default defineComponent({
         BtnList,
     },
     setup() {
-        const { tableList, actionQuery, columns, filteredInfo, getColumns, search, loading } = getTableList('table_pcweb_purchase_all');
+        // 表头数据
+        const { columns, registerColumn, updateColumn, filteredInfo } = getTableColumns();
+        // 表格事件
+        const { expandedRowKeys, selectedRow, Rowclick } = getTableEvent<Ermcp3SellBuyContract>({});
+        // 表格操作按钮列表
         const { commonBtn, forDataBtn } = getBtnList('purchase_all', true);
-
+        // 表格列表数据
+        const { loading, tableList, queryTable } = queryTableList(1);
+        // 查询
+        function search(value: any) {
+            filteredInfo.value = value;
+            // 更新表信息
+            updateColumn();
+        }
         initData(() => {
-            actionQuery(1);
-            getColumns();
+            // 获取列表数据
+            queryTable();
+            // 注册表头信息 过滤
+            registerColumn('table_pcweb_purchase_all', getFilterTableCB);
         });
-
         return {
-            tableList,
-            filteredInfo,
             columns,
-            search,
-            loading,
+            filteredInfo,
+            expandedRowKeys,
+            selectedRow,
+            Rowclick,
             commonBtn,
             forDataBtn,
-            ...handleTableEvent(),
+            loading,
+            tableList,
+            search,
         };
     },
 });

+ 6 - 0
src/views/business/purchase/list/index.ts

@@ -0,0 +1,6 @@
+import { Ermcp3SellBuyContract } from '@/services/go/ermcp/purchase/interface';
+import { getFilterTableCB, queryTableList } from './setup';
+
+export { queryTableList, getFilterTableCB };
+export type { Ermcp3SellBuyContract };
+

+ 28 - 21
src/views/business/purchase/list/pending/index.vue

@@ -26,23 +26,16 @@
       </a-table>
     </contextMenu>
     <!-- 详情 -->
-    <Detail />
+    <Detail :selectedRow="selectedRow" />
     <!-- 采购点价登记 -->
     <SomePrice />
   </div>
 </template>
 
 <script lang="ts">
-import { defineComponent } from 'vue';
-import { initData } from '@/common/methods';
-import filterCustomTable from '../../components/filterTable/index.vue';
-import { getTableList } from '../setup';
-import { getBtnList } from '@/common/setup/contextMenu/index';
-import contextMenu from '@/common/components/contextMenu/index.vue';
-import Detail from '../../components/detail/index.vue';
-import SomePrice from '../../components/someprice/index.vue';
-import BtnList from '@/common/components/buttonList/index.vue';
-import { handleTableEvent } from '@/common/setup/event/index';
+import { defineComponent, initData, getTableColumns, getTableEvent, getBtnList, contextMenu, BtnList } from '@/common/export/table';
+import { getFilterTableCB, queryTableList, Ermcp3SellBuyContract } from '../index';
+import { Detail, SomePrice, filterCustomTable } from '../../components';
 
 export default defineComponent({
     name: 'purchase-peddding',
@@ -54,23 +47,37 @@ export default defineComponent({
         BtnList,
     },
     setup() {
-        const { tableList, actionQuery, columns, filteredInfo, getColumns, search, loading } = getTableList('table_pcweb_purchase_pointprice');
+        // 表头数据
+        const { columns, registerColumn, updateColumn, filteredInfo } = getTableColumns();
+        // 表格事件
+        const { expandedRowKeys, selectedRow, Rowclick } = getTableEvent<Ermcp3SellBuyContract>({});
+        // 表格操作按钮列表
         const { commonBtn, forDataBtn } = getBtnList('purchase_pending', true);
-
+        // 表格列表数据
+        const { loading, tableList, queryTable } = queryTableList(2);
+        // 查询
+        function search(value: any) {
+            filteredInfo.value = value;
+            // 更新表信息
+            updateColumn();
+        }
         initData(() => {
-            actionQuery(2);
-            getColumns();
+            // 获取列表数据
+            queryTable();
+            // 注册表头信息 过滤
+            registerColumn('table_pcweb_purchase_pointprice', getFilterTableCB);
         });
-
         return {
-            tableList,
-            filteredInfo,
             columns,
-            search,
-            loading,
+            filteredInfo,
+            expandedRowKeys,
+            selectedRow,
+            Rowclick,
             commonBtn,
             forDataBtn,
-            ...handleTableEvent(),
+            loading,
+            tableList,
+            search,
         };
     },
 });

+ 27 - 23
src/views/business/purchase/list/performance/index.vue

@@ -39,19 +39,9 @@
 </template>
 
 <script lang="ts">
-import { defineComponent } from 'vue';
-import { initData } from '@/common/methods';
-import filterCustomTable from '../../components/filterTable/index.vue';
-import { getTableList } from '../setup';
-import { getBtnList } from '@/common/setup/contextMenu/index';
-import contextMenu from '@/common/components/contextMenu/index.vue';
-import Detail from '../../components/detail/index.vue';
-import Settlement from '../../components/settlement/index.vue';
-import Funds from '../../components/funds/index.vue';
-import Invoice from '../../components/invoice/index.vue';
-import Storage from '../../components/storage/index.vue';
-import BtnList from '@/common/components/buttonList/index.vue';
-import { handleTableEvent } from '@/common/setup/event/index';
+import { defineComponent, initData, getTableColumns, getTableEvent, getBtnList, contextMenu, BtnList } from '@/common/export/table';
+import { getFilterTableCB, queryTableList, Ermcp3SellBuyContract } from '../index';
+import { Detail, filterCustomTable, Settlement, Funds, Invoice, Storage } from '../../components';
 
 export default defineComponent({
     name: 'purchase-performance',
@@ -66,23 +56,37 @@ export default defineComponent({
         BtnList,
     },
     setup() {
-        const { tableList, actionQuery, columns, filteredInfo, getColumns, search, loading } = getTableList('table_pcweb_purchase_settle');
+        // 表头数据
+        const { columns, registerColumn, updateColumn, filteredInfo } = getTableColumns();
+        // 表格事件
+        const { expandedRowKeys, selectedRow, Rowclick } = getTableEvent<Ermcp3SellBuyContract>({});
+        // 表格操作按钮列表
         const { commonBtn, forDataBtn } = getBtnList('purchase_performance', true);
-
+        // 表格列表数据
+        const { loading, tableList, queryTable } = queryTableList(3);
+        // 查询
+        function search(value: any) {
+            filteredInfo.value = value;
+            // 更新表信息
+            updateColumn();
+        }
         initData(() => {
-            actionQuery(3);
-            getColumns();
+            // 获取列表数据
+            queryTable();
+            // 注册表头信息 过滤
+            registerColumn('table_pcweb_purchase_settle', getFilterTableCB);
         });
-
         return {
-            tableList,
-            filteredInfo,
             columns,
-            search,
-            loading,
+            filteredInfo,
+            expandedRowKeys,
+            selectedRow,
+            Rowclick,
             commonBtn,
             forDataBtn,
-            ...handleTableEvent(),
+            loading,
+            tableList,
+            search,
         };
     },
 });

+ 42 - 58
src/views/business/purchase/list/setup.ts

@@ -1,61 +1,21 @@
-import { ColumnType, getTableHead } from '@/common/methods/table';
-import { TableKey } from '@/common/methods/table/interface';
+import { Column, ColumnType } from '@/common/setup/table/index';
 import { QueryPurchase } from '@/services/go/ermcp/purchase/index';
 import { Ermcp3SellBuyContract, Querytype } from '@/services/go/ermcp/purchase/interface';
 import { message } from 'ant-design-vue';
 import { ref } from 'vue';
 
-// 列表
-export function getTableList(tableKey: keyof TableKey) {
+/**
+ * 获取表格列表数据
+ * @param type 
+ * @returns 
+ */
+export function queryTableList(type: Querytype) {
+    // 加载状态
+    const loading = ref<boolean>(false);
     // 表格数据
     const tableList = ref<Ermcp3SellBuyContract[]>([]);
-    // 表头数据
-    const columns = ref<ColumnType[]>([]);
-    // 过滤项
-    const filteredInfo = ref();
-    const loading = ref<boolean>(false);
-    // 获取表头
-    function getColumns() {
-        const list = getTableHead(tableKey);
-        const filtered = filteredInfo.value || {};
-        columns.value.length = 0;
-        list.forEach((e, i) => {
-            const { columnfield, columntitle, aligntype } = e;
-            const item: ColumnType = {
-                key: String(i),
-                dataIndex: columnfield, // 表格数据对应的key
-                title: columntitle,
-                align: aligntype === 1 ? 'center' : aligntype === 2 ? 'left' : 'right',
-                slots: { customRender: columnfield },
-            };
-            // // 以下添加过滤数据对应的方法
-            if (e.columnfield === 'accountname') {
-                item.onFilter = (value: string, record: Ermcp3SellBuyContract) => record.accountname.includes(value);
-                item.filteredValue = filtered.accountname || null;
-            }
-            if (e.columnfield === 'contractno') {
-                item.onFilter = (value: string, record: Ermcp3SellBuyContract) => record.contractno.includes(value);
-                item.filteredValue = filtered.contractno || null;
-            }
-            if (e.columnfield === 'deliverygoodsname') {
-                item.onFilter = (value: string, record: Ermcp3SellBuyContract) => record.deliverygoodsname.includes(value);
-                item.filteredValue = filtered.deliverygoodsname || null;
-            }
-            if (e.columnfield === 'convertfactor') {
-                item.onFilter = (value: string, record: Ermcp3SellBuyContract) => String(record.convertfactor).includes(value);
-                item.filteredValue = filtered.convertfactor || null;
-            }
-            if (e.columnfield === 'goodsname') {
-                item.onFilter = (value: string, record: Ermcp3SellBuyContract) => record.goodsname.includes(value);
-                item.filteredValue = filtered.goodsname || null;
-            }
-            columns.value.push(item);
-        });
-    }
-    // 查询列表
-    function actionQuery(querytype: Querytype) {
-        loading.value = true;
-        QueryPurchase({ querytype })
+    function queryTable() {
+        QueryPurchase({ querytype: type })
             .then((res) => {
                 tableList.value = res.map((e, i) => {
                     return { ...e, key: String(i) };
@@ -68,11 +28,35 @@ export function getTableList(tableKey: keyof TableKey) {
                 loading.value = false;
             });
     }
-    // 查询
-    function search(value: any) {
-        filteredInfo.value = value;
-        getColumns();
-    }
+    return { loading, tableList, queryTable }
+}
 
-    return { tableList, actionQuery, columns, filteredInfo, getColumns, search, loading, };
-}
+/**
+ * 过滤表格的回调函数
+ * @param e 
+ * @param item 
+ * @param filtered 
+ */
+export function getFilterTableCB(e: Column, item: ColumnType, filtered: any) {
+    // // 以下添加过滤数据对应的方法
+    if (e.columnfield === 'accountname') {
+        item.onFilter = (value: string, record: Ermcp3SellBuyContract) => record.accountname.includes(value);
+        item.filteredValue = filtered.accountname || null;
+    }
+    if (e.columnfield === 'contractno') {
+        item.onFilter = (value: string, record: Ermcp3SellBuyContract) => record.contractno.includes(value);
+        item.filteredValue = filtered.contractno || null;
+    }
+    if (e.columnfield === 'deliverygoodsname') {
+        item.onFilter = (value: string, record: Ermcp3SellBuyContract) => record.deliverygoodsname.includes(value);
+        item.filteredValue = filtered.deliverygoodsname || null;
+    }
+    if (e.columnfield === 'convertfactor') {
+        item.onFilter = (value: string, record: Ermcp3SellBuyContract) => String(record.convertfactor).includes(value);
+        item.filteredValue = filtered.convertfactor || null;
+    }
+    if (e.columnfield === 'goodsname') {
+        item.onFilter = (value: string, record: Ermcp3SellBuyContract) => record.goodsname.includes(value);
+        item.filteredValue = filtered.goodsname || null;
+    }
+}

+ 17 - 77
src/views/business/purchase/setup.ts

@@ -1,79 +1,19 @@
-import { QueryPurchase } from '@/services/go/ermcp/purchase';
-import { Ermcp3SellBuyContract, SellBuyContractReq } from '@/services/go/ermcp/purchase/interface';
-import APP from '@/services';
-import { getUserId } from '@/services/bus/account';
-import { initData } from '@/common/methods';
-import { ColumnType, getTableHead } from '@/common/methods/table';
-import { detailButton, permissionButton, handlePermission } from '@/common/setup/buttonPermission/index';
-import { MenuItem } from '@/common/components/contextMenu/interface';
-import { openModal } from '@/common/setup/modal/index';
-import { watchEffect, ref } from 'vue';
-// 采购数据获取和表头数据整理
-export function handlePurchase() {
-    // ========================loading========================
-    const loading = ref<boolean>(false);
-    // ========================获取列表数据========================
-    let customList = ref<Ermcp3SellBuyContract[] | []>([]);
-    function queryPurchase() {
-        const AreaUserID = APP.get('userAccount').memberuserid; // 所属机构id
-        const req: SellBuyContractReq = {
-            areauserid: AreaUserID, //  所属机构ID
-            contracttype: 1, // 合同类型 1-采购, -1-销售
-            querytype: 1, // 查询类型 1-全部 2-待点价 3-履约结算 4-已完成
-            userid: getUserId(), // 用户ID
-        };
-        QueryPurchase(req).then((res) => {
-            customList.value = res;
-        });
+/**
+ * 定价类型 - 1:一口价 2:点价 3:暂定价
+ * @param pricetype 定价类型
+ */
+export function getPriceTypeName(pricetype: number): string {
+    let result = "--";
+    switch (pricetype) {
+        case 1:
+            result = "一口价";
+            break
+        case 2:
+            result = "点价";
+            break
+        case 3:
+            result = "暂定价";
+            break
     }
-
-    // ========================获取表头========================
-    const columns = ref<ColumnType[]>([]);
-    function getColumns() {
-        const list = getTableHead('table_pcweb_purchase');
-        columns.value.length = 0;
-        list.forEach((e, i) => {
-            const { columnfield, columntitle, aligntype } = e;
-            const item: ColumnType = {
-                key: String(i),
-                dataIndex: columnfield,
-                title: columntitle,
-                align: aligntype === 1 ? 'center' : aligntype === 2 ? 'left' : 'right',
-                slots: { customRender: columnfield },
-            };
-            columns.value.push(item);
-        });
-    }
-
-    // ========================数据初始化========================
-    initData((): void => {
-        queryPurchase();
-        getColumns();
-    });
-    return { loading, customList, columns };
-}
-
-// 按钮权限与功能组件
-export function btnAndComp() {
-    // 传入父及的code 得到当前1234级的整个权限
-    const { hasPermission } = handlePermission('purchase_pending');
-    // 配置右键菜单列表
-    const contextMenuList = ref<MenuItem[]>([]);
-    // 打开新增页的弹窗 返回打开弹窗的方法
-    const { openAction: addAction } = openModal('addCustomInfo');
-    // 创建详情页并写入右键菜单列表(每个页面都有,写死)
-    detailButton('customDetail', contextMenuList);
-    // 通过code跟弹窗建立联系 返回写入右键的方法
-    const { action: deleteAction } = permissionButton('purchase_pending_someprice', '点价登记', contextMenuList);
-
-    const stop = watchEffect(() => {
-        // 判断是否有权限 有就写入
-        hasPermission('custom_info_btn_delete') && deleteAction();
-    });
-    return {
-        stop,
-        addAction,
-        hasPermission,
-        contextMenuList,
-    };
+    return result
 }

+ 9 - 0
src/views/business/sell/components/index.ts

@@ -0,0 +1,9 @@
+import Detail from './detail/index.vue';
+import filterCustomTable from './filterTable/index.vue';
+import Funds from './funds/index.vue';
+import Invoice from './invoice/index.vue';
+import Settlement from './settlement/index.vue';
+import SomePrice from './someprice/index.vue';
+import Storage from './storage/index.vue';
+
+export { filterCustomTable, Detail, SomePrice, Settlement, Funds, Invoice, Storage };

+ 27 - 24
src/views/business/sell/list/all/index.vue

@@ -40,20 +40,9 @@
 </template>
 
 <script lang="ts">
-import { defineComponent } from 'vue';
-import { initData } from '@/common/methods';
-import filterCustomTable from '../../components/filterTable/index.vue';
-import { getTableList } from '../setup';
-import { getBtnList } from '@/common/setup/contextMenu/index';
-import contextMenu from '@/common/components/contextMenu/index.vue';
-import Detail from '../../components/detail/index.vue';
-import Settlement from '../../components/settlement/index.vue';
-import Funds from '../../components/funds/index.vue';
-import Invoice from '../../components/invoice/index.vue';
-import Storage from '../../components/storage/index.vue';
-import SomePrice from '../../components/someprice/index.vue';
-import BtnList from '@/common/components/buttonList/index.vue';
-import { handleTableEvent } from '@/common/setup/event/index';
+import { defineComponent, initData, getTableColumns, getTableEvent, getBtnList, contextMenu, BtnList } from '@/common/export/table';
+import { getFilterTableCB, queryTableList, Ermcp3SellBuyContract } from '../index';
+import { filterCustomTable, Detail, SomePrice, Settlement, Funds, Invoice, Storage } from '../../components';
 
 export default defineComponent({
     name: 'sell-all',
@@ -69,23 +58,37 @@ export default defineComponent({
         BtnList,
     },
     setup() {
-        const { tableList, actionQuery, columns, filteredInfo, getColumns, search, loading } = getTableList('table_pcweb_sales_all');
+        // 表头数据
+        const { columns, registerColumn, updateColumn, filteredInfo } = getTableColumns();
+        // 表格事件
+        const { expandedRowKeys, selectedRow, Rowclick } = getTableEvent<Ermcp3SellBuyContract>({});
+        // 表格操作按钮列表
         const { commonBtn, forDataBtn } = getBtnList('sell_all', true);
-
+        // 表格列表数据
+        const { loading, tableList, queryTable } = queryTableList(1);
+        // 查询
+        function search(value: any) {
+            filteredInfo.value = value;
+            // 更新表信息
+            updateColumn();
+        }
         initData(() => {
-            actionQuery(1);
-            getColumns();
+            // 获取列表数据
+            queryTable();
+            // 注册表头信息 过滤
+            registerColumn('table_pcweb_sales_all', getFilterTableCB);
         });
-
         return {
-            tableList,
-            filteredInfo,
             columns,
-            search,
-            loading,
+            filteredInfo,
+            expandedRowKeys,
+            selectedRow,
+            Rowclick,
             commonBtn,
             forDataBtn,
-            ...handleTableEvent(),
+            loading,
+            tableList,
+            search,
         };
     },
 });

+ 5 - 0
src/views/business/sell/list/index.ts

@@ -0,0 +1,5 @@
+import { Ermcp3SellBuyContract } from '@/services/go/ermcp/purchase/interface';
+import { getFilterTableCB, queryTableList } from './setup';
+
+export { queryTableList, getFilterTableCB };
+export type { Ermcp3SellBuyContract };

+ 27 - 20
src/views/business/sell/list/pending/index.vue

@@ -33,16 +33,9 @@
 </template>
 
 <script lang="ts">
-import { defineComponent, ref } from 'vue';
-import { initData } from '@/common/methods';
-import filterCustomTable from '../../components/filterTable/index.vue';
-import { getTableList } from '../setup';
-import { getBtnList } from '@/common/setup/contextMenu/index';
-import contextMenu from '@/common/components/contextMenu/index.vue';
-import Detail from '../../components/detail/index.vue';
-import SomePrice from '../../components/someprice/index.vue';
-import { handleTableEvent } from '@/common/setup/event/index';
-import BtnList from '@/common/components/buttonList/index.vue';
+import { defineComponent, initData, getTableColumns, getTableEvent, getBtnList, contextMenu, BtnList } from '@/common/export/table';
+import { getFilterTableCB, queryTableList, Ermcp3SellBuyContract } from '../index';
+import { filterCustomTable, Detail, SomePrice } from '../../components';
 
 export default defineComponent({
     name: 'sell-peddding',
@@ -54,23 +47,37 @@ export default defineComponent({
         BtnList,
     },
     setup() {
-        const { tableList, actionQuery, columns, filteredInfo, getColumns, search, loading } = getTableList('table_pcweb_sales_pointprice');
+        // 表头数据
+        const { columns, registerColumn, updateColumn, filteredInfo } = getTableColumns();
+        // 表格事件
+        const { expandedRowKeys, selectedRow, Rowclick } = getTableEvent<Ermcp3SellBuyContract>({});
+        // 表格操作按钮列表
         const { commonBtn, forDataBtn } = getBtnList('sell_pending', true);
-
+        // 表格列表数据
+        const { loading, tableList, queryTable } = queryTableList(2);
+        // 查询
+        function search(value: any) {
+            filteredInfo.value = value;
+            // 更新表信息
+            updateColumn();
+        }
         initData(() => {
-            actionQuery(2);
-            getColumns();
+            // 获取列表数据
+            queryTable();
+            // 注册表头信息 过滤
+            registerColumn('table_pcweb_sales_pointprice', getFilterTableCB);
         });
-
         return {
-            tableList,
-            filteredInfo,
             columns,
-            search,
-            loading,
+            filteredInfo,
+            expandedRowKeys,
+            selectedRow,
+            Rowclick,
             commonBtn,
             forDataBtn,
-            ...handleTableEvent(),
+            loading,
+            tableList,
+            search,
         };
     },
 });

+ 27 - 23
src/views/business/sell/list/performance/index.vue

@@ -39,19 +39,9 @@
 </template>
 
 <script lang="ts">
-import { defineComponent } from 'vue';
-import { initData } from '@/common/methods';
-import filterCustomTable from '../../components/filterTable/index.vue';
-import { getTableList } from '../setup';
-import { getBtnList } from '@/common/setup/contextMenu/index';
-import contextMenu from '@/common/components/contextMenu/index.vue';
-import Detail from '../../components/detail/index.vue';
-import Settlement from '../../components/settlement/index.vue';
-import Funds from '../../components/funds/index.vue';
-import Invoice from '../../components/invoice/index.vue';
-import Storage from '../../components/storage/index.vue';
-import { handleTableEvent } from '@/common/setup/event/index';
-import BtnList from '@/common/components/buttonList/index.vue';
+import { defineComponent, initData, getTableColumns, getTableEvent, getBtnList, contextMenu, BtnList } from '@/common/export/table';
+import { getFilterTableCB, queryTableList, Ermcp3SellBuyContract } from '../index';
+import { filterCustomTable, Detail, Settlement, Funds, Invoice, Storage } from '../../components';
 
 export default defineComponent({
     name: 'sell_performance',
@@ -66,23 +56,37 @@ export default defineComponent({
         BtnList,
     },
     setup() {
-        const { tableList, actionQuery, columns, filteredInfo, getColumns, search, loading } = getTableList('table_pcweb_sales_settle');
+        // 表头数据
+        const { columns, registerColumn, updateColumn, filteredInfo } = getTableColumns();
+        // 表格事件
+        const { expandedRowKeys, selectedRow, Rowclick } = getTableEvent<Ermcp3SellBuyContract>({});
+        // 表格操作按钮列表
         const { commonBtn, forDataBtn } = getBtnList('sell_performance', true);
-
+        // 表格列表数据
+        const { loading, tableList, queryTable } = queryTableList(3);
+        // 查询
+        function search(value: any) {
+            filteredInfo.value = value;
+            // 更新表信息
+            updateColumn();
+        }
         initData(() => {
-            actionQuery(3);
-            getColumns();
+            // 获取列表数据
+            queryTable();
+            // 注册表头信息 过滤
+            registerColumn('table_pcweb_sales_settle', getFilterTableCB);
         });
-
         return {
-            tableList,
-            filteredInfo,
             columns,
-            search,
-            loading,
+            filteredInfo,
+            expandedRowKeys,
+            selectedRow,
+            Rowclick,
             commonBtn,
             forDataBtn,
-            ...handleTableEvent(),
+            loading,
+            tableList,
+            search,
         };
     },
 });

+ 41 - 57
src/views/business/sell/list/setup.ts

@@ -1,61 +1,21 @@
-import { ColumnType, getTableHead } from '@/common/methods/table';
-import { TableKey } from '@/common/methods/table/interface';
+import { Column, ColumnType } from '@/common/setup/table/index';
 import { Ermcp3SellBuyContract, Querytype } from '@/services/go/ermcp/purchase/interface';
 import { QueryWareHouse } from '@/services/go/ermcp/sell';
 import { message } from 'ant-design-vue';
 import { ref } from 'vue';
 
-// 列表
-export function getTableList(tableKey: keyof TableKey) {
+/**
+ * 获取表格列表数据
+ * @param type 
+ * @returns 
+ */
+export function queryTableList(type: Querytype) {
+    // 加载状态
+    const loading = ref<boolean>(false);
     // 表格数据
     const tableList = ref<Ermcp3SellBuyContract[]>([]);
-    // 表头数据
-    const columns = ref<ColumnType[]>([]);
-    // 过滤项
-    const filteredInfo = ref();
-    const loading = ref<boolean>(false);
-    // 获取表头
-    function getColumns() {
-        const list = getTableHead(tableKey);
-        const filtered = filteredInfo.value || {};
-        columns.value.length = 0;
-        list.forEach((e, i) => {
-            const { columnfield, columntitle, aligntype } = e;
-            const item: ColumnType = {
-                key: String(i),
-                dataIndex: columnfield, // 表格数据对应的key
-                title: columntitle,
-                align: aligntype === 1 ? 'center' : aligntype === 2 ? 'left' : 'right',
-                slots: { customRender: columnfield },
-            };
-            // // 以下添加过滤数据对应的方法
-            if (e.columnfield === 'accountname') {
-                item.onFilter = (value: string, record: Ermcp3SellBuyContract) => record.accountname.includes(value);
-                item.filteredValue = filtered.accountname || null;
-            }
-            if (e.columnfield === 'contractno') {
-                item.onFilter = (value: string, record: Ermcp3SellBuyContract) => record.contractno.includes(value);
-                item.filteredValue = filtered.contractno || null;
-            }
-            if (e.columnfield === 'deliverygoodsname') {
-                item.onFilter = (value: string, record: Ermcp3SellBuyContract) => record.deliverygoodsname.includes(value);
-                item.filteredValue = filtered.deliverygoodsname || null;
-            }
-            if (e.columnfield === 'convertfactor') {
-                item.onFilter = (value: string, record: Ermcp3SellBuyContract) => String(record.convertfactor).includes(value);
-                item.filteredValue = filtered.convertfactor || null;
-            }
-            if (e.columnfield === 'goodsname') {
-                item.onFilter = (value: string, record: Ermcp3SellBuyContract) => record.goodsname.includes(value);
-                item.filteredValue = filtered.goodsname || null;
-            }
-            columns.value.push(item);
-        });
-    }
-    // 查询列表
-    function actionQuery(querytype: Querytype) {
-        loading.value = true;
-        QueryWareHouse({ querytype })
+    function queryTable() {
+        QueryWareHouse({ querytype: type })
             .then((res) => {
                 tableList.value = res.map((e, i) => {
                     return { ...e, key: String(i) };
@@ -68,11 +28,35 @@ export function getTableList(tableKey: keyof TableKey) {
                 loading.value = false;
             });
     }
-    // 查询
-    function search(value: any) {
-        filteredInfo.value = value;
-        getColumns();
-    }
+    return { loading, tableList, queryTable }
+}
 
-    return { tableList, actionQuery, columns, filteredInfo, getColumns, search, loading, };
+/**
+ * 过滤表格的回调函数
+ * @param e 
+ * @param item 
+ * @param filtered 
+ */
+export function getFilterTableCB(e: Column, item: ColumnType, filtered: any) {
+    // // 以下添加过滤数据对应的方法
+    if (e.columnfield === 'accountname') {
+        item.onFilter = (value: string, record: Ermcp3SellBuyContract) => record.accountname.includes(value);
+        item.filteredValue = filtered.accountname || null;
+    }
+    if (e.columnfield === 'contractno') {
+        item.onFilter = (value: string, record: Ermcp3SellBuyContract) => record.contractno.includes(value);
+        item.filteredValue = filtered.contractno || null;
+    }
+    if (e.columnfield === 'deliverygoodsname') {
+        item.onFilter = (value: string, record: Ermcp3SellBuyContract) => record.deliverygoodsname.includes(value);
+        item.filteredValue = filtered.deliverygoodsname || null;
+    }
+    if (e.columnfield === 'convertfactor') {
+        item.onFilter = (value: string, record: Ermcp3SellBuyContract) => String(record.convertfactor).includes(value);
+        item.filteredValue = filtered.convertfactor || null;
+    }
+    if (e.columnfield === 'goodsname') {
+        item.onFilter = (value: string, record: Ermcp3SellBuyContract) => record.goodsname.includes(value);
+        item.filteredValue = filtered.goodsname || null;
+    }
 }

+ 0 - 1
src/views/information/custom/list/setup.ts

@@ -45,7 +45,6 @@ export function getFilterTableCB(e: Column, item: ColumnType, filtered: any) {
         item.filteredValue = filtered.userinfotype || null;
     }
     if (e.columntitle === '客户简称') {
-        debugger;
         item.onFilter = (value: string, record: QueryCustomInfoType) => record.nickname.includes(value);
         item.filteredValue = filtered.nickname || null;
     }

+ 0 - 1
src/views/information/custom/list/stop-use/index.vue

@@ -68,7 +68,6 @@ export default defineComponent({
         });
         // 查询
         function search(value: any) {
-            debugger;
             filteredInfo.value = value;
             // 更新表信息
             updateColumn();

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

@@ -58,7 +58,6 @@ export default defineComponent({
         const { loading, tableList, queryTable } = queryTableList(2);
         // 查询
         function search(value: any) {
-            debugger;
             filteredInfo.value = value;
             // 更新表信息
             updateColumn();

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

@@ -55,7 +55,6 @@ export default defineComponent({
         const { loading, tableList, queryTable } = queryTableList(4);
         // 查询
         function search(value: any) {
-            debugger;
             filteredInfo.value = value;
             // 更新表信息
             updateColumn();

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

@@ -56,7 +56,6 @@ export default defineComponent({
         const { loading, tableList, queryTable } = queryTableList(3);
         // 查询
         function search(value: any) {
-            debugger;
             filteredInfo.value = value;
             // 更新表信息
             updateColumn();

+ 0 - 1
src/views/information/spot-contract/list/setup.ts

@@ -1,4 +1,3 @@
-// import { ColumnType, getTableHead } from '@/common/methods/table';
 import { Column, ColumnType } from '@/common/setup/table/index';
 import { QuerySpotContract } from '@/services/go/ermcp/spot-contract/index';
 import { Ermcp3ContractRsp } from '@/services/go/ermcp/spot-contract/interface';

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

@@ -64,7 +64,6 @@ export default defineComponent({
         const { loading, tableList, queryTable } = queryTableList(1);
         // 查询
         function search(value: any) {
-            debugger;
             filteredInfo.value = value;
             // 更新表信息
             updateColumn();