li.shaoyi 4 years ago
parent
commit
e0dfead947

+ 43 - 43
src/common/components/description/index.vue

@@ -1,11 +1,11 @@
 <template>
-    <!-- 明细 公共组件 -->
-    <a-drawer placement="bottom" :closable="false" :visible="show" :get-container="false" :wrap-style="{ position: 'absolute' }" @close="close">
-        <div class="bottomTable">
-            <slot></slot>
-            <ThridMenu :list="tabList" @selectMenu="changeTab" />
-        </div>
-    </a-drawer>
+  <!-- 明细 公共组件 -->
+  <a-drawer placement="bottom" :closable="false" :visible="show" :get-container="false" :wrap-style="{ position: 'absolute' }" @close="close">
+    <div class="bottomTable">
+      <slot></slot>
+      <ThridMenu :list="tabList" @selectMenu="changeTab" />
+    </div>
+  </a-drawer>
 </template>
 
 <script lang="ts">
@@ -15,45 +15,45 @@ import { TabList } from './interface';
 import { ColumnType } from '@/common/methods/table/interface';
 
 export default defineComponent({
-    name: 'description',
-    emits: ['changeTab', 'close'],
-    components: {
-        ThridMenu,
+  name: 'description',
+  emits: ['changeTab', 'close'],
+  components: {
+    ThridMenu,
+  },
+  props: {
+    tabList: {
+      // 按钮列表
+      default: [],
+      type: Array as PropType<TabList[]>,
     },
-    props: {
-        tabList: {
-            // 按钮列表
-            default: [],
-            type: Array as PropType<TabList[]>,
-        },
-        tableList: {
-            // 表格数据
-            default: [],
-            type: Array as PropType<any[]>,
-        },
-        columns: {
-            // 表头数据
-            default: [],
-            type: Array as PropType<ColumnType[]>,
-        },
-        visible: {
-            // 是否显示
-            default: false,
-            type: Boolean,
-        },
+    tableList: {
+      // 表格数据
+      default: [],
+      type: Array as PropType<any[]>,
     },
-    setup(props, context) {
-        const show = ref<boolean>(true);
-        // 切换明细
-        function changeTab(index: number, current: TabList) {
-            context.emit('changeTab', index, current);
-        }
-        function close() {
-            show.value = false;
-            context.emit('close');
-        }
-        return { changeTab, show, close };
+    columns: {
+      // 表头数据
+      default: [],
+      type: Array as PropType<ColumnType[]>,
+    },
+    visible: {
+      // 是否显示
+      default: false,
+      type: Boolean,
     },
+  },
+  setup(props, context) {
+    const show = ref<boolean>(true);
+    // 切换明细
+    function changeTab(index: number, current: TabList) {
+      context.emit('changeTab', index, current);
+    }
+    function close() {
+      show.value = false;
+      context.emit('close');
+    }
+    return { changeTab, show, close };
+  },
 });
 </script>
 

+ 1 - 1
src/views/business/exposure/list/futures/index.vue

@@ -2,7 +2,7 @@
   <!-- 敞口: 期货头寸-->
   <div class="exposure-futures table-height" :loading="loading">
     <filterCustomTable @search="updateColumn"> </filterCustomTable>
-    <a-table :columns="columns" class="topTable" :expandedRowKeys="expandedRowKeys" :customRow="Rowclick" :pagination="false" rowKey="key" :data-source="tableList">
+    <a-table :columns="columns" class="srcollYTable" :scroll="{ x: '100%', y: 'calc(100vh - 163px)' }" :expandedRowKeys="expandedRowKeys" :customRow="Rowclick" :pagination="false" rowKey="key" :data-source="tableList">
       <template #totalydqty="{ record }">
         <span>{{ record.totalydqty + ' 手' }}</span>
       </template>

+ 6 - 1
src/views/market/futures/compoments/futures-trade/index.vue

@@ -98,6 +98,7 @@ export default defineComponent({
     },
   },
   setup(props, context) {
+    const { visible, cancel } = _closeModal(context);
     // 是否套保交易 (根据参数 spotcontractid 来判断)
     const isHedging = Boolean(props.selectedRow.spotcontractid);
 
@@ -106,7 +107,11 @@ export default defineComponent({
     // 当前选中的商品合约
     const selectedGoods = ref<GoodsQuote>(getGoods(props.selectedRow.goodsid));
 
-    const { visible, cancel } = _closeModal(context);
+    if (!selectedGoods.value) {
+      message.error('商品不存在,不能平仓!');
+      cancel();
+    }
+
     const { rules, formData, accountList, allPositionList, getPositionList } = handleForm(selectedGoods.value);
     const formRef = ref();
     const loading = ref<boolean>(false);

+ 2 - 2
src/views/market/futures/compoments/futures-trade/setup.ts

@@ -67,8 +67,8 @@ export function handleForm(selectedRow: GoodsQuote) {
         ClientType: 4, // uint32 终端类型
         LoginID: geLoginID_number()!, // uint64 登陆账号
         AccountID: getSelectedAccountId(), // uint64 交易账号
-        GoodsID: selectedRow.goodsid, // uint32 商品ID
-        MarketID: selectedRow.marketid, // uint32 市场ID
+        GoodsID: selectedRow?.goodsid, // uint32 商品ID
+        MarketID: selectedRow?.marketid, // uint32 市场ID
         ValidType: 1, // int32 有效类型 - 1当日有效
         ChannelOperateType: 1, // uint32 操作类型:
         ChannelOrderSrc: 1, // uint32 单据来源委托来源 -  1:客户端 2:管理端 3:风控服务

+ 88 - 104
src/views/report/future_report/list/future_report/index.vue

@@ -1,32 +1,16 @@
 <template>
   <!-- 期货报表 -->
-  <div class="table-detail-container table-height"
-       :loading="loading">
+  <div class="table-detail-container table-height" :loading="loading">
     <Filter @update="search"></Filter>
-    <a-table :columns="columns"
-             class="srcollYTable"
-             :scroll="{ x: '100%', y: 'calc(100vh - 163px)' }"
-             :pagination="false"
-             :expandedRowKeys="expandedRowKeys"
-             :customRow="Rowclick"
-             rowKey="key"
-             :data-source="tableList">
+    <a-table :columns="columns" class="srcollYTable" :scroll="{ x: '100%', y: 'calc(100vh - 163px)' }" :pagination="false" :expandedRowKeys="expandedRowKeys" :customRow="Rowclick" rowKey="key" :data-source="tableList">
       <!-- 持仓方向 -->
       <template #buyorsell="{ record }">
         <a>{{ record.buyorsell === 1 ? '卖出' : '买入' }}</a>
       </template>
     </a-table>
     <!-- 明细 -->
-    <Description v-if="visible"
-                 @close="closeDrawer"
-                 @changeTab="changeTab"
-                 :tabList="tabList">
-      <a-table :columns="columnsDetail"
-               class="topTable"
-               :pagination="false"
-               rowKey="key"
-               :data-source="detailTableList"
-               :scroll="{ x: '100%', y: 'calc(100vh - 163px)' }">
+    <Description v-if="visible" @close="closeDrawer" @changeTab="changeTab" :tabList="tabList">
+      <a-table :columns="columnsDetail" class="topTable" :pagination="false" rowKey="key" :data-source="detailTableList" :scroll="{ x: '100%', y: 'calc(100vh - 163px)' }">
         <!-- 持仓方向 -->
         <template #buyorsell="{ record }">
           <a>{{ record.buyorsell === 1 ? '卖出' : '买入' }}</a>
@@ -52,93 +36,93 @@ import { EnumRouterName } from '@/common/constants/enumRouterName';
 import { getTableButton } from '@/common/setup/table/button';
 
 export default defineComponent({
-    name: 'inventory_report_inventory_category',
-    components: {
-        Filter,
-        Description,
-    },
-    setup() {
-        let cycletime = '';
-        // 表格列表数据
-        const { loading, tableList, queryTable } = queryTableList<Ermcp3TaFutuReDataReport>();
-        // 获取列表数据
-        const queryTableAction = () => {
-            const { getInitTime, getInitType } = handleInitTypeAndTime();
-            cycletime = getInitTime();
-            const param: QryTaFutureDataReportReq = {
-                cycletype: getInitType(),
-                cycletime,
-                querytype: 1,
-            };
-            // 获取列表数据
-            queryTable(qryTaFutureDataReport, param);
-        };
-        const param: ComposeTableDetailParam = {
-            queryFn: queryTableAction, // 查询表格数据
-            tableName: 'table_pcweb_futures_report', // 表头key
-            tableFilterKey: [], // 表格过滤字段
-            menuType: EnumRouterName.future_report_future, // 当前tab页对应的code
-        };
-        const {
-            visible,
-            closeDrawer, // 控制 drawer 组件是否显示
-            columns,
-            updateColumn, //  表头数据
-            columnsDetail,
-            registerColumnDetail,
-            detailTableList, // 明细表头数据
-            expandedRowKeys,
-            selectedRow,
-            Rowclick, // 表格事件
-        } = handleComposeTable_detail<Ermcp3TaFutuReDataReport>(param);
-        const chaceSearchValue = ref<TypeAndTime>();
+  name: 'inventory_report_inventory_category',
+  components: {
+    Filter,
+    Description,
+  },
+  setup() {
+    let cycletime = '';
+    // 表格列表数据
+    const { loading, tableList, queryTable } = queryTableList<Ermcp3TaFutuReDataReport>();
+    // 获取列表数据
+    const queryTableAction = () => {
+      const { getInitTime, getInitType } = handleInitTypeAndTime();
+      cycletime = getInitTime();
+      const param: QryTaFutureDataReportReq = {
+        cycletype: getInitType(),
+        cycletime,
+        querytype: 1,
+      };
+      // 获取列表数据
+      queryTable(qryTaFutureDataReport, param);
+    };
+    const param: ComposeTableDetailParam = {
+      queryFn: queryTableAction, // 查询表格数据
+      tableName: 'table_pcweb_futures_report', // 表头key
+      tableFilterKey: [], // 表格过滤字段
+      menuType: EnumRouterName.future_report_future, // 当前tab页对应的code
+    };
+    const {
+      visible,
+      closeDrawer, // 控制 drawer 组件是否显示
+      columns,
+      updateColumn, //  表头数据
+      columnsDetail,
+      registerColumnDetail,
+      detailTableList, // 明细表头数据
+      expandedRowKeys,
+      selectedRow,
+      Rowclick, // 表格事件
+    } = handleComposeTable_detail<Ermcp3TaFutuReDataReport>(param);
+    const chaceSearchValue = ref<TypeAndTime>();
 
-        // 底部明细标签
-        const tabList = getTableButton();
+    // 底部明细标签
+    const tabList = getTableButton();
 
-        // 切换明细
-        function changeTab(index: number, current: TabList) {
-            const { code, lable } = current;
-            const data = selectedRow.value as Ermcp3TaFutuReDataReport;
-            const { cycletype, currencyid, goodsgroupid, goodsid, buyorsell } = data;
-            const param: QryTaFutureDataReportReq = {
-                querytype: 2,
-                cycletype,
-                cycletime,
-                currencyid,
-                goodsgroupid,
-                goodsid,
-                buyorsell,
-                userid: chaceSearchValue.value?.userid,
-            };
-            if (code === 'future_report_future_detail') {
-                // 账户明细
-                // 注册表头
-                registerColumnDetail('table_pcweb_futures_statement_account_details', []);
-            } else {
-                console.error(`${lable}没有配置对应的code: ${code},`);
-                return;
-            }
-            // 查询明细数据
-            queryResultLoadingAndInfo(qryTaFutureDataReport, loading, param).then((res) => {
-                detailTableList.value = res;
-            });
-        }
-        watchEffect(() => {
-            if (visible.value) {
-                if (tabList.length) {
-                    changeTab(0, tabList[0]);
-                }
-            }
-        });
-        function search(value: TypeAndTime) {
-            chaceSearchValue.value = value;
-            cycletime = value.cycletime;
-            const obj = Object.assign(value, { querytype: 1 });
-            queryTable(qryTaFutureDataReport, obj);
+    // 切换明细
+    function changeTab(index: number, current: TabList) {
+      const { code, lable } = current;
+      const data = selectedRow.value as Ermcp3TaFutuReDataReport;
+      const { cycletype, currencyid, goodsgroupid, goodsid, buyorsell } = data;
+      const param: QryTaFutureDataReportReq = {
+        querytype: 2,
+        cycletype,
+        cycletime,
+        currencyid,
+        goodsgroupid,
+        goodsid,
+        buyorsell,
+        userid: chaceSearchValue.value?.userid,
+      };
+      if (code === 'future_report_future_detail') {
+        // 账户明细
+        // 注册表头
+        registerColumnDetail('table_pcweb_futures_statement_account_details', []);
+      } else {
+        console.error(`${lable}没有配置对应的code: ${code},`);
+        return;
+      }
+      // 查询明细数据
+      queryResultLoadingAndInfo(qryTaFutureDataReport, loading, param).then((res) => {
+        detailTableList.value = res;
+      });
+    }
+    watchEffect(() => {
+      if (visible.value) {
+        if (tabList.length) {
+          changeTab(0, tabList[0]);
         }
+      }
+    });
+    function search(value: TypeAndTime) {
+      chaceSearchValue.value = value;
+      cycletime = value.cycletime;
+      const obj = Object.assign(value, { querytype: 1 });
+      queryTable(qryTaFutureDataReport, obj);
+    }
 
-        return { loading, tableList, visible, closeDrawer, columns, updateColumn, search, columnsDetail, detailTableList, expandedRowKeys, selectedRow, Rowclick, tabList, changeTab };
-    },
+    return { loading, tableList, visible, closeDrawer, columns, updateColumn, search, columnsDetail, detailTableList, expandedRowKeys, selectedRow, Rowclick, tabList, changeTab };
+  },
 });
 </script>