Browse Source

计划: 审核中-

huangbin 4 years ago
parent
commit
50e133b588

+ 76 - 76
src/views/business/plan/components/audit/index.vue

@@ -22,71 +22,72 @@
     <a-form class="inlineForm"
             :form="form"
             @submit="handleSearch">
-        <fieldset class="formFieldSet">
-            <legend>套保计划</legend>
-            <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.wrstandardname) }}</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.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.tradeusername) }}</span>
-                    </a-form-item>
-                </a-col>
-                <a-col :span="12">
-                    <a-form-item label="结算币种">
-                        <span class="white">{{ formatValue(selectedRow.currencyname) }}</span>
-                    </a-form-item>
-                </a-col>
-            </a-row>
-            <a-row :gutter="24">
-                <a-col :span="12">
-                    <a-form-item label="状态">
-                        <span class="white">{{ formatValue(getPlanStatusName(selectedRow.hedgeplanstatus)) }}</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.remark) }}</span>
-                    </a-form-item>
-                </a-col>
-            </a-row>
-        </fieldset>
+      <fieldset class="formFieldSet">
+        <legend>套保计划</legend>
+        <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.wrstandardname) }}</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.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.tradeusername) }}</span>
+            </a-form-item>
+          </a-col>
+          <a-col :span="12">
+            <a-form-item label="结算币种">
+              <span class="white">{{ formatValue(selectedRow.currencyname) }}</span>
+            </a-form-item>
+          </a-col>
+        </a-row>
+        <a-row :gutter="24">
+          <a-col :span="12">
+            <a-form-item label="状态">
+              <span
+                    class="white">{{ formatValue(getPlanStatusName(selectedRow.hedgeplanstatus)) }}</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.remark) }}</span>
+            </a-form-item>
+          </a-col>
+        </a-row>
+      </fieldset>
     </a-form>
   </a-modal>
 </template>
@@ -98,16 +99,17 @@ import { Modal } from 'ant-design-vue';
 import { ErmcpHedgePlanReq } from '@/services/proto/hedgeplan/interface';
 import Long from 'long';
 import { Ermcp3HedgePlan } from '@/services/go/ermcp/plan/interface';
-import {getPlanContractType, getPlanStatusName} from '@/views/business/plan/setup';
+import { getPlanContractType, getPlanStatusName } from '@/views/business/plan/setup';
 import { formatValue } from '@/common/methods';
 import { requestResultLoadingAndInfo } from '@/common/methods/request/resultInfo';
 import { hedgePlanReq } from '@/services/proto/hedgeplan';
-import {getPayCurrencyTypeEnumList} from "@/common/constants/enumsList";
-import {getUserId} from "@/services/bus/account";
-import {getLongTypeLoginID} from "@/services/bus/login";
+import { getPayCurrencyTypeEnumList } from '@/common/constants/enumsList';
+import { getUserId } from '@/services/bus/account';
+import { getLongTypeLoginID } from '@/services/bus/login';
+import { _closeModal } from '@/common/setup/modal/modal';
 export default defineComponent({
     name: 'plan_audit_audit',
-    components: {},
+    emits: ['cancel'],
     props: {
         selectedRow: {
             type: Object as PropType<Ermcp3HedgePlan>,
@@ -115,7 +117,7 @@ export default defineComponent({
         },
     },
     setup(props, context) {
-        const { visible, cancel } = closeModal('plan_audit_audit');
+        const { visible, cancel } = _closeModal(context);
         const loading = ref<boolean>(false);
         // 审核通过
         function pass() {
@@ -130,11 +132,10 @@ export default defineComponent({
                         auditremark: '通过',
                         Currencyid: props.selectedRow.currencyid, // 结算币种id
                         Tradeuserid: props.selectedRow.tradeuserid, // 交易用户id
-                        auditid: Number(getLongTypeLoginID())
+                        auditid: Number(getLongTypeLoginID()),
                     };
                     requestResultLoadingAndInfo(hedgePlanReq, params, loading, ['审核通过', '审核失败:']).then(() => {
-                        context.emit('refresh');
-                        cancel();
+                        cancel(true);
                     });
                 },
                 onCancel() {},
@@ -152,8 +153,7 @@ export default defineComponent({
                         OperateType: 5,
                     };
                     requestResultLoadingAndInfo(hedgePlanReq, params, loading, ['审核拒绝通过', '审核拒绝失败:']).then(() => {
-                        context.emit('refresh');
-                        cancel();
+                        cancel(true);
                     });
                 },
                 onCancel() {},

+ 5 - 6
src/views/business/plan/components/cancel/index.vue

@@ -70,7 +70,7 @@
           </a-col>
           <a-col :span="12">
             <a-form-item label="结算币种">
-              <span class="white">{{ formatValue(getPayCurrencyTypeEnumList().find(item => item.enumdicid === selectedRow.currencyid).enumdicname) }}</span>
+              <span class="white">{{ formatValue(selectedRow.enumdicname) }}</span>
             </a-form-item>
           </a-col>
         </a-row>
@@ -88,7 +88,6 @@
 
 <script lang="ts">
 import { defineComponent, PropType, ref } from 'vue';
-import { closeModal } from '@/common/setup/modal/index';
 import { Ermcp3HedgePlan } from '@/services/go/ermcp/plan/interface';
 import { formatValue } from '@/common/methods';
 import { getPlanContractType } from '@/views/business/plan/setup';
@@ -98,10 +97,11 @@ import * as Long from 'long';
 import { requestResultLoadingAndInfo } from '@/common/methods/request/resultInfo';
 import { oldHedgePlanReq } from '@/services/proto/hedgeplan';
 import { getPayCurrencyTypeEnumList } from '@/common/constants/enumsList';
+import { _closeModal } from '@/common/setup/modal/modal';
 
 export default defineComponent({
     name: 'plan_audit_cancel',
-    components: {},
+    emits: ['cancel'],
     props: {
         selectedRow: {
             type: Object as PropType<Ermcp3HedgePlan>,
@@ -109,7 +109,7 @@ export default defineComponent({
         },
     },
     setup(props, context) {
-        const { visible, cancel } = closeModal('plan_audit_cancel');
+        const { visible, cancel } = _closeModal(context);
         const maskClosableFlag = ref<boolean>(false);
         const loading = ref<boolean>(false);
 
@@ -124,8 +124,7 @@ export default defineComponent({
                         OperateType: 5,
                     };
                     requestResultLoadingAndInfo(oldHedgePlanReq, params, loading, ['撤销成功', '撤销失败:']).then(() => {
-                        context.emit('refresh');
-                        cancel();
+                        cancel(true);
                     });
                 },
                 onCancel() {},

+ 56 - 58
src/views/business/plan/list/audit/index.vue

@@ -3,85 +3,83 @@
   <div class="plan_uncommitted"
        :loading="loading">
     <Filter @search="updateColumn">
-      <BtnList :btnList="commonBtn" />
+      <BtnList :btnList="firstBtn"
+               @click="openComponent" />
     </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>
+    <a-table :columns="columns"
+             class="srcollYTable"
+             :scroll="{ x: '100%', y: 'calc(100vh - 163px)' }"
+             :pagination="false"
+             :loading="loading"
+             :expandedRowKeys="expandedRowKeys"
+             :customRow="Rowclick"
+             rowKey="key"
+             :data-source="tableList">
+      <!-- 额外的展开行 -->
+      <template #expandedRowRender="{ record }">
+        <BtnList :btnList="secondBtn"
+                 :record="record"
+                 @click="openComponent" />
+      </template>
 
-        <template #contracttype="{ text }">
-          <a>{{ getPlanContractType(text) }}</a>
-        </template>
-        <template #hedgeplanstatus="{ text }">
-          <a>{{ getPlanStatusName(text) }}</a>
-        </template>
-      </a-table>
+      <template #contracttype="{ text }">
+        <a>{{ getPlanContractType(text) }}</a>
+      </template>
+      <template #hedgeplanstatus="{ text }">
+        <a>{{ getPlanStatusName(text) }}</a>
+      </template>
+    </a-table>
+    <!-- 右键 -->
+    <contextMenu :contextMenu="contextMenu"
+                 @cancel="closeContext"
+                 :list="secondBtn">
     </contextMenu>
-    <!-- 详情 -->
-    <Detail :selectedRow="selectedRow"
-            @refresh="queryTable" />
-    <!-- 撤销 -->
-    <Cancel :selectedRow="selectedRow"
-            @refresh="queryTable" />
-    <!-- 审核 -->
-    <Audit :selectedRow="selectedRow"
-           @refresh="queryTable" />
+    <component :is="componentId"
+               v-if="componentId"
+               :selectedRow="selectedRow"
+               @cancel="closeComponent"></component>
   </div>
 </template>
 
 <script lang="ts">
-import { defineComponent, initData, getTableColumns, getTableEvent, getBtnList, contextMenu, BtnList } from '@/common/export/table';
-import { queryTableList, Ermcp3HedgePlan } from '../index';
-import { Add, Detail, Filter, Recommit, Cancel, Audit } from '../../components';
+import { queryTableList, BtnList, contextMenu, defineAsyncComponent, defineComponent, ModalEnum, handleComposeTable, ComposeTableParam } from '@/common/export/commonTable';
+
+import { Filter } from '../../components';
 import { getPlanContractType, getPlanStatusName } from '@/views/business/plan/setup';
+import { Ermcp3HedgePlan } from '@/services/go/ermcp/plan/interface';
+import { QueryHedgePlan } from '@/services/go/ermcp/plan';
+
+const Detail = defineAsyncComponent(() => import('../../components/detail/index.vue'));
+const Cancel = defineAsyncComponent(() => import('../../components/cancel/index.vue'));
+const Audit = defineAsyncComponent(() => import('../../components/audit/index.vue'));
 
 export default defineComponent({
     name: 'plan_uncommitted',
     components: {
         contextMenu,
         BtnList,
-        Add,
-        Recommit,
         Filter,
-        Detail,
-        Audit,
-        Cancel,
+        [ModalEnum.detail]: Detail,
+        [ModalEnum.plan_audit_cancel]: Cancel,
+        [ModalEnum.plan_audit_audit]: Audit,
     },
     setup() {
-        // 表头数据
-        const { columns, registerColumn, updateColumn } = getTableColumns();
-        // 表格事件
-        const { expandedRowKeys, selectedRow, Rowclick } = getTableEvent<Ermcp3HedgePlan>({});
-        // 表格操作按钮列表
-        const { commonBtn, forDataBtn } = getBtnList('plan_audit', true);
         // 表格列表数据
-        const { loading, tableList, queryTable } = queryTableList('1');
-
-        initData(() => {
-            // 获取列表数据
-            queryTable();
-            // 注册表头信息 过滤
-            registerColumn('table_pcweb_hedging_plan', ['contracttype', 'hedgeplanno', 'deliverygoodsname']);
-        });
+        const { loading, tableList, queryTable } = queryTableList<Ermcp3HedgePlan>();
+        // 获取列表数据
+        const queryTableAction = () => queryTable(QueryHedgePlan, '1');
+        // 表格通用逻辑
+        const param: ComposeTableParam = {
+            queryFn: queryTableAction,
+            menuType: 'plan_audit',
+            tableName: 'table_pcweb_hedging_plan',
+            tableFilterKey: ['contracttype', 'hedgeplanno', 'deliverygoodsname'],
+            isDetail: true,
+        };
         return {
-            columns,
-            expandedRowKeys,
-            selectedRow,
-            Rowclick,
-            commonBtn,
-            forDataBtn,
+            ...handleComposeTable<Ermcp3HedgePlan>(param),
             loading,
             tableList,
-            updateColumn,
             getPlanStatusName,
             getPlanContractType,
             queryTable,