|
@@ -0,0 +1,124 @@
|
|
|
|
|
+<template>
|
|
|
|
|
+ <!-- 现货合同: 未提交-->
|
|
|
|
|
+ <div class="spot-contract-not-commit" :loading="loading">
|
|
|
|
|
+ <filterCustomTable @search="updateColumn">
|
|
|
|
|
+ <mtp-table-button :buttons="firstBtn" @click="openComponent" />
|
|
|
|
|
+ </filterCustomTable>
|
|
|
|
|
+ <a-table :columns="columns" class="topOrderTable" :pagination="false" :expandedRowKeys="expandedRowKeys" :customRow="Rowclick" rowKey="key" :data-source="tableList" :scroll="{ x: '100%', y: 'calc(100vh - 163px)' }">
|
|
|
|
|
+ <!-- 额外的展开行 -->
|
|
|
|
|
+ <!-- 额外的展开行 -->
|
|
|
|
|
+ <template #expandedRowRender="{ record }">
|
|
|
|
|
+ <mtp-table-button class="btn-list-sticky" :buttons="secondBtn" :record="record" @click="openComponent" />
|
|
|
|
|
+ </template>
|
|
|
|
|
+ <template #biztype="{ text }">
|
|
|
|
|
+ <a>{{ getBizTypeName(text) }}</a>
|
|
|
|
|
+ </template>
|
|
|
|
|
+
|
|
|
|
|
+ <template #pricetype="{ text }">
|
|
|
|
|
+ <span>{{ getPriceTypeName(text) }}</span>
|
|
|
|
|
+ </template>
|
|
|
|
|
+
|
|
|
|
|
+ <template #contracctstatus="{ text }">
|
|
|
|
|
+ <a>{{ getContractStatusName(text) }}</a>
|
|
|
|
|
+ </template>
|
|
|
|
|
+
|
|
|
|
|
+ <template #contracttype="{ text }">
|
|
|
|
|
+ <a>{{ getContractTypeName(text) }}</a>
|
|
|
|
|
+ </template>
|
|
|
|
|
+ <!-- 对手方 -->
|
|
|
|
|
+ <template #negative="{ record }">
|
|
|
|
|
+ <a>{{ record.contracttype === 1 ? record.sellusername : record.buyusername }}</a>
|
|
|
|
|
+ </template>
|
|
|
|
|
+ <!-- 点假期 -->
|
|
|
|
|
+ <template #startdate="{ record }">
|
|
|
|
|
+ <span>{{ formatValue(formatTime(record.startdate, 'd') + '--' + formatTime(record.enddate, 'd')) }}</span>
|
|
|
|
|
+ </template>
|
|
|
|
|
+ <!-- 交收期 -->
|
|
|
|
|
+ <template #deliverystartdate="{ record }">
|
|
|
|
|
+ <span>{{ formatValue(formatTime(record.deliverystartdate, 'd') + '--' + formatTime(record.deliveryenddate, 'd')) }}</span>
|
|
|
|
|
+ </template>
|
|
|
|
|
+ <!-- 业务员 -->
|
|
|
|
|
+ <template #saleuserid="{ record }">
|
|
|
|
|
+ <span>{{ findManagerName(record.saleuserid) }}</span>
|
|
|
|
|
+ </template>
|
|
|
|
|
+ <!-- 跟单员 -->
|
|
|
|
|
+ <template #meruserid="{ record }">
|
|
|
|
|
+ <span>{{ findManagerName(record.meruserid) }}</span>
|
|
|
|
|
+ </template>
|
|
|
|
|
+ <!-- 合同量 -->
|
|
|
|
|
+ <template #qty="{ text, record }">
|
|
|
|
|
+ <span>{{ handleEnumdic(text, record) }}</span>
|
|
|
|
|
+ </template>
|
|
|
|
|
+ </a-table>
|
|
|
|
|
+ <!-- 右键 -->
|
|
|
|
|
+ <contextMenu :contextMenu="contextMenu" @cancel="closeContext" :list="secondBtn"> </contextMenu>
|
|
|
|
|
+ <component :is="componentId" v-if="componentId" :selectedRow="selectedRow" @cancel="closeComponent"></component>
|
|
|
|
|
+ </div>
|
|
|
|
|
+</template>
|
|
|
|
|
+
|
|
|
|
|
+<script lang="ts">
|
|
|
|
|
+import { queryTableList, MtpTableButton, contextMenu, defineAsyncComponent, defineComponent, handleComposeTable, ComposeTableParam } from '@/common/export/commonTable';
|
|
|
|
|
+import { filterCustomTable } from '../../components';
|
|
|
|
|
+
|
|
|
|
|
+import { formatTime, formatValue } from '@/common/methods';
|
|
|
|
|
+import { queryBusinessManager, findManagerName, tableFilterCB, handleEnumdic } from '../setup';
|
|
|
|
|
+import { getPriceTypeName, getBizTypeName, getContractStatusName, getContractTypeName } from '@/common/constants/enumsName';
|
|
|
|
|
+import { Ermcp3ContractRsp } from '@/services/go/ermcp/spot-contract/interface';
|
|
|
|
|
+import { QuerySpotContract } from '@/services/go/ermcp/spot-contract';
|
|
|
|
|
+import { EnumRouterName } from '@/common/constants/enumRouterName';
|
|
|
|
|
+import { getTableButton } from '@/common/setup/table/button';
|
|
|
|
|
+
|
|
|
|
|
+export default defineComponent({
|
|
|
|
|
+ name: EnumRouterName.spot_contract_unsubmitted,
|
|
|
|
|
+ components: {
|
|
|
|
|
+ filterCustomTable,
|
|
|
|
|
+ contextMenu,
|
|
|
|
|
+ detail: defineAsyncComponent(() => import('../../components/detail/index.vue')),
|
|
|
|
|
+ add: defineAsyncComponent(() => import('../../components/add/index.vue')),
|
|
|
|
|
+ resubmit: defineAsyncComponent(() => import('../../components/modify/index.vue')),
|
|
|
|
|
+ cancel: defineAsyncComponent(() => import('../../components/delete/index.vue')),
|
|
|
|
|
+ MtpTableButton,
|
|
|
|
|
+ },
|
|
|
|
|
+ setup() {
|
|
|
|
|
+ // 权限按钮
|
|
|
|
|
+ const firstBtn = getTableButton(['add']);
|
|
|
|
|
+ const secondBtn = getTableButton(['add'], true);
|
|
|
|
|
+
|
|
|
|
|
+ // 表格列表数据
|
|
|
|
|
+ const { loading, tableList, queryTable } = queryTableList<Ermcp3ContractRsp>();
|
|
|
|
|
+
|
|
|
|
|
+ // 获取列表数据
|
|
|
|
|
+ const queryTableAction = () => {
|
|
|
|
|
+ queryTable(QuerySpotContract, { querytype: 1 });
|
|
|
|
|
+ // 获取 业务账户
|
|
|
|
|
+ queryBusinessManager();
|
|
|
|
|
+ };
|
|
|
|
|
+
|
|
|
|
|
+ // 表格通用逻辑
|
|
|
|
|
+ const param: ComposeTableParam = {
|
|
|
|
|
+ queryFn: queryTableAction,
|
|
|
|
|
+ menuType: EnumRouterName.spot_contract_unsubmitted,
|
|
|
|
|
+ tableName: 'table_pcweb_delivery',
|
|
|
|
|
+ tableFilterKey: ['contracttype', 'pricetype', 'contractno'],
|
|
|
|
|
+ tableFilterCB,
|
|
|
|
|
+ isDetail: true,
|
|
|
|
|
+ };
|
|
|
|
|
+
|
|
|
|
|
+ return {
|
|
|
|
|
+ ...handleComposeTable<Ermcp3ContractRsp>(param),
|
|
|
|
|
+ loading,
|
|
|
|
|
+ tableList,
|
|
|
|
|
+ getBizTypeName,
|
|
|
|
|
+ getPriceTypeName,
|
|
|
|
|
+ getContractStatusName,
|
|
|
|
|
+ getContractTypeName,
|
|
|
|
|
+ formatTime,
|
|
|
|
|
+ formatValue,
|
|
|
|
|
+ findManagerName,
|
|
|
|
|
+ handleEnumdic,
|
|
|
|
|
+ firstBtn,
|
|
|
|
|
+ secondBtn,
|
|
|
|
|
+ };
|
|
|
|
|
+ },
|
|
|
|
|
+});
|
|
|
|
|
+</script>
|