Bläddra i källkod

采购: 待点价-

huangbin 4 år sedan
förälder
incheckning
c0bedc9943

+ 11 - 0
src/common/export/commonTable.ts

@@ -0,0 +1,11 @@
+import BtnList from '@/common/components/btnList/index.vue';
+import contextMenu from '@/common/components/contextMenu/temp.vue';
+import { ModalEnum } from '@/common/constants/modalNameEnum';
+import { ComposeTableParam, handleComposeTable } from '@/common/setup/table/compose';
+import { queryTableList } from '@/common/setup/table/index';
+import { defineAsyncComponent, defineComponent } from 'vue';
+
+export { queryTableList, BtnList, contextMenu, defineAsyncComponent, defineComponent, ModalEnum, handleComposeTable };
+export type { ComposeTableParam };
+
+

+ 14 - 9
src/views/business/purchase/components/someprice/index.vue

@@ -48,7 +48,8 @@
         <a-row :gutter="24">
           <a-col :span="12">
             <a-form-item label="合同签署量">
-              <span class="white">{{ formatValue(selectedRow.qty + selectedRow.enumdicname) }}</span>
+              <span
+                    class="white">{{ formatValue(selectedRow.qty + selectedRow.enumdicname) }}</span>
             </a-form-item>
           </a-col>
           <a-col :span="12">
@@ -60,7 +61,8 @@
         <a-row :gutter="24">
           <a-col :span="12">
             <a-form-item label="点价合约">
-              <span class="white">{{ formatValue(selectedRow.goodsname) + selectedRow.currencyname }}</span>
+              <span
+                    class="white">{{ formatValue(selectedRow.goodsname) + selectedRow.currencyname }}</span>
             </a-form-item>
           </a-col>
         </a-row>
@@ -77,7 +79,8 @@
           </a-col>
           <a-col :span="12">
             <a-form-item label="已点均价">
-              <span class="white">{{ formatValue(selectedRow.pricedavg)  + selectedRow.currencyname }}</span>
+              <span
+                    class="white">{{ formatValue(selectedRow.pricedavg)  + selectedRow.currencyname }}</span>
             </a-form-item>
           </a-col>
         </a-row>
@@ -126,7 +129,9 @@
                               :max="selectedRow.unpricedqty"
                               placeholder="请输入点价数量" />
               <div class="tip mt10">
-                <span>未定价量<span class="white">{{ selectedRow.unpricedqty }}{{ selectedRow.enumdicname }}</span> </span>
+                <span>未定价量<span
+                        class="white">{{ selectedRow.unpricedqty }}{{ selectedRow.enumdicname }}</span>
+                </span>
                 <a class="blue ml10"
                    @click="formState.PricedQty = selectedRow.unpricedqty"> 全部登记</a>
               </div>
@@ -149,18 +154,19 @@
 </template>
 
 <script lang="ts">
-import { defineComponent, PropType, reactive, ref, unref } from 'vue';
-import { closeModal } from '@/common/setup/modal/index';
+import { defineComponent, PropType, ref, unref } from 'vue';
 import { formatValue } from '@/common/methods';
 import { Ermcp3SellBuyContract } from '@/services/go/ermcp/purchase/interface';
 import { getPriceTypeName } from '@/common/constants/enumsName';
 import { SomePriceReq } from '@/services/proto/contract/interface';
 import { somePriceReq } from '@/views/business/purchase/components/setup';
 import { handleForm } from './setup';
+import { _closeModal } from '@/common/setup/modal/modal';
 
 export default defineComponent({
     name: 'purchase_pending_someprice',
     components: {},
+    emits: ['cancel'],
     props: {
         selectedRow: {
             type: Object as PropType<Ermcp3SellBuyContract>,
@@ -168,7 +174,7 @@ export default defineComponent({
         },
     },
     setup(props, context) {
-        const { visible, cancel } = closeModal('purchase_pending_someprice');
+        const { visible, cancel } = _closeModal(context);
         const loading = ref<boolean>(false);
         const { rules, formState, formRef } = handleForm();
         function submit() {
@@ -182,8 +188,7 @@ export default defineComponent({
                 // 发出点价请求
                 somePriceReq(props.selectedRow.spotcontractid, params, loading)
                     .then((res) => {
-                        cancel();
-                        context.emit('refresh');
+                        cancel(true);
                     })
                     .catch((err) => {});
             });

+ 50 - 41
src/views/business/purchase/list/pending/index.vue

@@ -3,22 +3,34 @@
   <div class="purchase-peddding"
        :loading="loading">
     <filterCustomTable @search="updateColumn">
-      <BtnList :btnList="commonBtn" />
+      <BtnList :btnList="firstBtn"
+               @click="openComponent" />
     </filterCustomTable>
-    <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>
+    <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>
+    </a-table>
+    <!-- 右键 -->
+    <contextMenu :contextMenu="contextMenu"
+                 @cancel="closeContext"
+                 :list="secondBtn">
     </contextMenu>
+    <component :is="componentId"
+               v-if="componentId"
+               :selectedRow="selectedRow"
+               @cancel="closeComponent"></component>
     <!-- 详情 -->
     <Detail :selectedRow="selectedRow"
             @refresh="queryTable" />
@@ -29,45 +41,42 @@
 </template>
 
 <script lang="ts">
-import { defineComponent, initData, getTableColumns, getTableEvent, getBtnList, contextMenu, BtnList } from '@/common/export/table';
-import { queryTableList, Ermcp3SellBuyContract } from '../index';
-import { Detail, SomePrice, filterCustomTable } from '../../components';
+import { queryTableList, BtnList, contextMenu, defineAsyncComponent, defineComponent, ModalEnum, handleComposeTable, ComposeTableParam } from '@/common/export/commonTable';
+
+import { Ermcp3SellBuyContract } from '../index';
+import { filterCustomTable } from '../../components';
+import { QueryPurchase } from '@/services/go/ermcp/purchase';
+
+const Detail = defineAsyncComponent(() => import('../../components/detail/index.vue'));
+const SomePrice = defineAsyncComponent(() => import('../../components/someprice/index.vue')); //采购点价登记
 
 export default defineComponent({
     name: 'purchase-peddding',
     components: {
         contextMenu,
         filterCustomTable,
-        Detail,
-        SomePrice,
         BtnList,
+        [ModalEnum.detail]: Detail,
+        [ModalEnum.purchase_pending_someprice]: SomePrice,
     },
     setup() {
-        // 表头数据
-        const { columns, registerColumn, updateColumn } = getTableColumns();
-        // 表格事件
-        const { expandedRowKeys, selectedRow, Rowclick } = getTableEvent<Ermcp3SellBuyContract>({});
-
-        // 表格操作按钮列表
-        const { commonBtn, forDataBtn } = getBtnList('purchase_pending', true);
         // 表格列表数据
-        const { loading, tableList, queryTable } = queryTableList(2);
-        initData(() => {
-            // 获取列表数据
-            queryTable();
-            // 注册表头信息 过滤
-            registerColumn('table_pcweb_purchase_pointprice', ['accountname', 'contractno', 'deliverygoodsname', 'convertfactor', 'goodsname']);
-        });
+        const { loading, tableList, queryTable } = queryTableList<Ermcp3SellBuyContract>();
+        // 获取列表数据
+        const queryTableAction = () => queryTable(QueryPurchase, { querytype: 2 });
+        // 表格通用逻辑
+        const param: ComposeTableParam = {
+            queryFn: queryTableAction,
+            menuType: 'purchase_pending',
+            tableName: 'table_pcweb_purchase_pointprice',
+            tableFilterKey: ['accountname', 'contractno', 'deliverygoodsname', 'convertfactor', 'goodsname'],
+            isDetail: true,
+        };
+
         return {
-            columns,
-            expandedRowKeys,
-            selectedRow,
-            Rowclick,
-            commonBtn,
-            forDataBtn,
-            loading,
+            ...handleComposeTable<Ermcp3SellBuyContract>(param),
             tableList,
-            updateColumn,
+            loading,
         };
     },
 });

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

@@ -35,12 +35,7 @@
 </template>
 
 <script lang="ts">
-import { defineComponent, queryTableList } from '@/common/export/table';
-import BtnList from '@/common/components/btnList/index.vue';
-import contextMenu from '@/common/components/contextMenu/temp.vue';
-import { defineAsyncComponent } from 'vue';
-import { ModalEnum } from '@/common/constants/modalNameEnum';
-import { ComposeTableParam, handleComposeTable } from '@/common/setup/table/compose';
+import { queryTableList, BtnList, contextMenu, defineAsyncComponent, defineComponent, ModalEnum, handleComposeTable, ComposeTableParam } from '@/common/export/commonTable';
 
 import { filterCustomTable } from '../../components';
 import { QueryPurchase } from '@/services/go/ermcp/purchase';

+ 2 - 4
src/views/information/account_info/list/account_info_business/index.vue

@@ -65,13 +65,11 @@
 </template>
 
 <script lang="ts">
-import { defineComponent, initData, contextMenu, _getBtnList } from '@/common/export/table';
-import { defineAsyncComponent } from 'vue';
+import { BtnList, contextMenu, defineAsyncComponent, defineComponent, ModalEnum } from '@/common/export/commonTable';
+import { initData, _getBtnList } from '@/common/export/table';
 import filterCustomTable from '@/views/information/goods/components/filterTable/index.vue';
 import { handlerManagerList } from '@/common/setup/user';
 import { getLoginStatusEnumItemName } from '@/common/constants/enumsName';
-import { ModalEnum } from '@/common/constants/modalNameEnum';
-import BtnList from '@/common/components/btnList/index.vue';
 
 import { ErmcpLoginUserEx } from '@/services/go/ermcp/account/interface';
 import { getUserName } from '@/services/bus/user';

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

@@ -71,20 +71,14 @@
 </template>
 
 <script lang="ts">
+import { queryTableList, BtnList, contextMenu, defineAsyncComponent, defineComponent, ModalEnum, handleComposeTable, ComposeTableParam } from '@/common/export/commonTable';
 import { filterCustomTable } from '../../components';
 import { getBizTypeName, getContractStatusName, getContractTypeName, getPriceTypeName } from '@/common/constants/enumsName';
-import { queryTableList } from '@/common/setup/table';
 import { formatTime, formatValue } from '@/common/methods';
 import { queryBusinessManager, findManagerName, tableFilterCB } from '../setup';
 import { Ermcp3ContractRsp } from '@/services/go/ermcp/spot-contract/interface';
 import { QuerySpotContract } from '@/services/go/ermcp/spot-contract';
 
-import BtnList from '@/common/components/btnList/index.vue';
-import contextMenu from '@/common/components/contextMenu/temp.vue';
-import { defineAsyncComponent, defineComponent } from 'vue';
-import { ModalEnum } from '@/common/constants/modalNameEnum';
-import { ComposeTableParam, handleComposeTable } from '@/common/setup/table/compose';
-
 const Detail = defineAsyncComponent(() => import('../../components/detail/index.vue'));
 const Check = defineAsyncComponent(() => import('../../components/check/index.vue'));
 const Cancel = defineAsyncComponent(() => import('../../components/cancel/index.vue'));

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

@@ -72,17 +72,12 @@
 </template>
 
 <script lang="ts">
-import { defineComponent, queryTableList, _getBtnList } from '@/common/export/table';
+import { queryTableList, BtnList, contextMenu, defineAsyncComponent, defineComponent, ModalEnum, handleComposeTable, ComposeTableParam } from '@/common/export/commonTable';
 import { queryBusinessManager, findManagerName, tableFilterCB } from '../setup';
 
 import { getBizTypeName, getContractStatusName, getContractTypeName, getPriceTypeName } from '@/common/constants/enumsName';
 import { formatTime, formatValue } from '@/common/methods';
 
-import BtnList from '@/common/components/btnList/index.vue';
-import contextMenu from '@/common/components/contextMenu/temp.vue';
-import { defineAsyncComponent } from 'vue';
-import { ModalEnum } from '@/common/constants/modalNameEnum';
-import { ComposeTableParam, handleComposeTable } from '@/common/setup/table/compose';
 import { Ermcp3ContractRsp } from '@/services/go/ermcp/spot-contract/interface';
 import { QuerySpotContract } from '@/services/go/ermcp/spot-contract';
 

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

@@ -71,18 +71,13 @@
 </template>
 
 <script lang="ts">
+import { queryTableList, BtnList, contextMenu, defineAsyncComponent, defineComponent, ModalEnum, handleComposeTable, ComposeTableParam } from '@/common/export/commonTable';
 import { filterCustomTable } from '../../components';
-import BtnList from '@/common/components/btnList/index.vue';
-import contextMenu from '@/common/components/contextMenu/temp.vue';
-import { defineAsyncComponent, defineComponent } from 'vue';
-import { ModalEnum } from '@/common/constants/modalNameEnum';
-import { ComposeTableParam, handleComposeTable } from '@/common/setup/table/compose';
 
 import { queryBusinessManager, findManagerName, tableFilterCB } from '../setup';
 import { Ermcp3ContractRsp } from '@/services/go/ermcp/spot-contract/interface';
 import { QuerySpotContract } from '@/services/go/ermcp/spot-contract';
 
-import { queryTableList } from '@/common/setup/table';
 import { getBizTypeName, getContractStatusName, getContractTypeName, getPriceTypeName } from '@/common/constants/enumsName';
 import { formatTime, formatValue } from '@/common/methods';
 

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

@@ -71,17 +71,12 @@
 </template>
 
 <script lang="ts">
-import { defineComponent, queryTableList, _getBtnList } from '@/common/export/table';
+import { queryTableList, BtnList, contextMenu, defineAsyncComponent, defineComponent, ModalEnum, handleComposeTable, ComposeTableParam } from '@/common/export/commonTable';
 import { filterCustomTable } from '../../components';
 
 import { formatTime, formatValue } from '@/common/methods';
 import { queryBusinessManager, findManagerName, tableFilterCB } from '../setup';
 import { getPriceTypeName, getBizTypeName, getContractStatusName, getContractTypeName } from '@/common/constants/enumsName';
-import BtnList from '@/common/components/btnList/index.vue';
-import contextMenu from '@/common/components/contextMenu/temp.vue';
-import { defineAsyncComponent } from 'vue';
-import { ModalEnum } from '@/common/constants/modalNameEnum';
-import { ComposeTableParam, handleComposeTable } from '@/common/setup/table/compose';
 import { Ermcp3ContractRsp } from '@/services/go/ermcp/spot-contract/interface';
 import { QuerySpotContract } from '@/services/go/ermcp/spot-contract';
 

+ 1 - 2
src/views/platinum/platinum_agreement/compoments/modify/index.vue

@@ -60,8 +60,7 @@
 </template>
 
 <script lang="ts">
-import { closeModal } from '@/common/setup/modal/index';
-import { defineComponent, PropType, ref, SetupContext, watchEffect } from 'vue';
+import { defineComponent, PropType, ref } from 'vue';
 import { handleForm, initFormState } from '../add/setup';
 import { FormState } from '../add/interface';
 import { mergeTwoObj } from '@/utils/objHandle';

+ 5 - 11
src/views/platinum/platinum_agreement/list/tab/index.vue

@@ -21,9 +21,9 @@
                  @click="openComponent" />
       </template>
       <!-- 协议类型-->,
-        <template #isvalid="{ record }">
-            <span>{{ getAgreementStatus(record.isvalid) }}</span>
-        </template>
+      <template #isvalid="{ record }">
+        <span>{{ getAgreementStatus(record.isvalid) }}</span>
+      </template>
       <template #agreementtype="{ record }">
         <span>{{ getAgreementTypeName(record.agreementtype) }}</span>
       </template>
@@ -44,18 +44,12 @@
 </template>
 
 <script lang="ts">
-import { defineComponent, queryTableList, _getBtnList } from '@/common/export/table';
+import { queryTableList, BtnList, contextMenu, defineAsyncComponent, defineComponent, ModalEnum, handleComposeTable, ComposeTableParam } from '@/common/export/commonTable';
 import { queryAgreementConfig } from '@/services/go/ermcp/qhj';
 import { QhjAgreementConfig } from '@/services/go/ermcp/qhj/interface';
 import Filter from '../../compoments/filter/index.vue';
-import {getAgreementStatus, getAgreementTypeName} from '@/common/constants/enumsName';
-import BtnList from '@/common/components/btnList/index.vue';
+import { getAgreementStatus, getAgreementTypeName } from '@/common/constants/enumsName';
 import { handleArgreementType, handlePermissionBtn } from '../../setup';
-import contextMenu from '@/common/components/contextMenu/temp.vue';
-
-import { defineAsyncComponent } from 'vue';
-import { ModalEnum } from '@/common/constants/modalNameEnum';
-import { ComposeTableParam, handleComposeTable } from '@/common/setup/table/compose';
 
 const Detail = defineAsyncComponent(() => import('../../compoments/detail/index.vue'));
 const Modify = defineAsyncComponent(() => import('../../compoments/modify/index.vue'));