浏览代码

Merge remote-tracking branch 'origin/master'

yu jie 4 年之前
父节点
当前提交
c367b358aa
共有 60 个文件被更改,包括 1746 次插入787 次删除
  1. 42 61
      generate-code/cli.js
  2. 二进制
      src/assets/images/titleArrow.png
  3. 235 0
      src/assets/styles/mixin.less
  4. 2 0
      src/assets/styles/variables.less
  5. 12 0
      src/common/components/uploadImg/index.vue
  6. 43 43
      src/common/constants/enumOrderComponents.ts
  7. 251 0
      src/common/constants/enumRouterName.ts
  8. 309 309
      src/common/constants/modalNameEnum.ts
  9. 1 0
      src/common/methods/format/index.ts
  10. 38 0
      src/common/setup/matket/router.ts
  11. 17 2
      src/common/setup/table/button.ts
  12. 3 2
      src/common/setup/table/interface.ts
  13. 2 3
      src/common/setup/upload/index.ts
  14. 14 13
      src/router/index.ts
  15. 3 2
      src/views/business/exposure/list/futures/index.vue
  16. 3 2
      src/views/business/exposure/list/realTime/index.vue
  17. 3 2
      src/views/business/exposure/list/spot/index.vue
  18. 3 2
      src/views/business/plan/components/add/index.vue
  19. 3 2
      src/views/business/plan/list/audit/index.vue
  20. 3 2
      src/views/business/plan/list/running/index.vue
  21. 3 2
      src/views/business/plan/list/uncommitted/index.vue
  22. 3 2
      src/views/business/purchase/list/all/index.vue
  23. 3 2
      src/views/business/purchase/list/pending/index.vue
  24. 3 2
      src/views/business/purchase/list/performance/index.vue
  25. 3 2
      src/views/business/sell/list/all/index.vue
  26. 3 2
      src/views/business/sell/list/pending/index.vue
  27. 3 2
      src/views/business/sell/list/performance/index.vue
  28. 1 1
      src/views/information/account_info/compoments/modify-managers/index.vue
  29. 2 1
      src/views/information/account_info/list/account_info_business/index.vue
  30. 3 3
      src/views/information/goods/components/rightSpot/index.vue
  31. 11 13
      src/views/information/goods/list/spot-variety/setup.ts
  32. 3 2
      src/views/information/spot-contract/list/checkpending/index.vue
  33. 3 2
      src/views/information/spot-contract/list/finished/index.vue
  34. 3 2
      src/views/information/spot-contract/list/performance/index.vue
  35. 3 2
      src/views/information/spot-contract/list/unsubmitted/index.vue
  36. 1 1
      src/views/manage/inventory-review/components/checkoutAudit/index.vue
  37. 0 17
      src/views/market/spot_trade/capacity_pre_sale/capacity_pre_sale_floating_price/index.vue
  38. 0 58
      src/views/market/spot_trade/capacity_pre_sale/index.vue
  39. 59 0
      src/views/market/spot_trade/components/buy-sell-market/components/buy/index.vue
  40. 60 0
      src/views/market/spot_trade/components/buy-sell-market/components/sell/index.vue
  41. 109 0
      src/views/market/spot_trade/components/buy-sell-market/index.vue
  42. 22 0
      src/views/market/spot_trade/components/buy-sell-market/setup.ts
  43. 57 0
      src/views/market/spot_trade/components/detail/index.vue
  44. 49 0
      src/views/market/spot_trade/components/post_buying/index.vue
  45. 61 0
      src/views/market/spot_trade/setup.ts
  46. 28 0
      src/views/market/spot_trade/warehouse_pre_sale/index.vue
  47. 18 0
      src/views/market/spot_trade/warehouse_pre_sale/warehouse_pre_sale_floating_price/index.vue
  48. 6 3
      src/views/market/spot_trade/warehouse_pre_sale/warehouse_pre_sale_price/index.vue
  49. 12 42
      src/views/market/spot_trade/warehouse_receipt_trade/index.vue
  50. 57 8
      src/views/market/spot_trade/warehouse_receipt_trade/warehouse_receipt_trade_floating_price/index.vue
  51. 5 6
      src/views/market/spot_trade/warehouse_receipt_trade/warehouse_receipt_trade_price/index.vue
  52. 3 2
      src/views/platinum/platinum_agreement/list/tab/index.vue
  53. 148 157
      src/views/report/exposure-report/list/exposure_report/index.vue
  54. 2 1
      src/views/report/finance-report/list/finance_report_finance/index.vue
  55. 2 1
      src/views/report/future_report/list/future_report/index.vue
  56. 2 1
      src/views/report/inventory-report/list/category/index.vue
  57. 2 1
      src/views/report/inventory-report/list/warehouse/index.vue
  58. 2 1
      src/views/report/spot-report/list/spot_report/index.vue
  59. 2 1
      src/views/report/sum_pl_report/list/sum_pl_report/index.vue
  60. 2 2
      src/views/search/inventory/components/add/setup.ts

+ 42 - 61
generate-code/cli.js

@@ -22,75 +22,56 @@ const list = JSON.parse(fs.readFileSync('./generate-code/pc_menu_企业风管.js
 // const destDir = process.cwd();
 const destDir = path.join(process.cwd(), 'src');
 
+function action(type, name, path) {
+	function getEnum(arr, callback) {
+		arr.forEach((el) => {
+			const { code, title, children } = el;
+			if (el.type === type) {
+				// 按钮类型
+				fs.promises.readFile(path).then((res) => {
+					console.log(code);
+					if (!name.includes(code)) {
+						name += `
+						${code} = '${code}', // ${title}
+						`;
+						callback();
+					}
+					getEnum(children, callback);
+				});
+			} else {
+				getEnum(children, callback);
+			}
+		});
+	}
+	getEnum(list, () => {
+		const temp =
+			name +
+			`
+		}`;
+		fs.writeFileSync(path, temp, { flag: 'w+' }, (err) => {
+				// !err && console.log('写入文件成功!');
+		});
+	});
+}
+
 /*** ===================== 生成弹窗名枚举 ==================== ****/
 const enumPath = path.join(destDir, '/common/constants/modalNameEnum.ts');
-let name = `export enum ModalEnum {
+const name = `export enum ModalEnum {
     notice = 'notice',  // 消息
     logout = 'logout', // 退出登录
     commomOrder = 'commom-order', // 下单通用界面
 
     detail = 'detail', // 详情`;
-
-function getModalEnum(arr, callback) {
-	arr.forEach((el) => {
-		const { code, title, children, type } = el;
-		if (type === 2) {
-			// 按钮类型
-			fs.promises.readFile(enumPath).then((res) => {
-				console.log(code);
-				if (!name.includes(code)) {
-					name += `
-					${code} = '${code}', // ${title}
-					`;
-					callback();
-				}
-				getModalEnum(children, callback);
-			});
-		} else {
-			getModalEnum(children, callback);
-		}
-	});
-}
-
-getModalEnum(list, () => {
-const temp =
-	name +
-	`
-}`;
-	fs.writeFileSync(enumPath, temp, { flag: 'w+' }, (err) => {
-		// !err && console.log('写入文件成功!');
-	});
-});
+action(2, name, enumPath)
 
 /*** ===================== 生成单据组件名枚举 ==================== ****/
 const enumOrderPath = path.join(destDir, '/common/constants/enumOrderComponents.ts');
-let orderName = `// 组件名枚举
+const orderName = `// 组件名枚举
 export enum enumOrderComponents {`;
-function getOrderName(arr, callback) {
-	arr.forEach((el) => {
-		const { code, title, children, type } = el;
-		if (type === 4) {
-			// 单据类型
-			fs.promises.readFile(enumOrderPath).then((res) => {
-				if (!orderName.includes(code)) {
-					orderName += `
-					${code} = '${code}', // ${title}
-					`;
-					callback();
-				}
-				getOrderName(children, callback);
-			});
-		} else {
-			getOrderName(children, callback);
-		}
-	});
-}
-getOrderName(list, () => {
-	const temp =
-	orderName +
-		`
-}`;
-	fs.writeFileSync(enumOrderPath, temp, { flag: 'w+' }, (err) => {
-		// !err && console.log('写入文件成功!');
-	});
-});
+action(4, orderName, enumOrderPath)
+
+/*** ===================== 生成路由名枚举 ==================== ****/
+const enumRouterPath = path.join(destDir, '/common/constants/enumRouterName.ts');
+const routerName = `// 路由名 枚举
+export enum EnumRouterName {`;
+action(1, routerName, enumRouterPath)

二进制
src/assets/images/titleArrow.png


+ 235 - 0
src/assets/styles/mixin.less

@@ -824,6 +824,9 @@
 .ml10 {
     margin-left: 10px;
 }
+.ml35 {
+    margin-left: 35px;
+}
 .ml9 {
     margin-left: 9px;
 }
@@ -1606,4 +1609,236 @@ input:-internal-autofill-selected {
             line-height: 30px;
         }
     }
+}
+
+.topTableHeight {
+    height: calc(100% - 28px);
+    // .srcollYTable {
+    //     display: none;
+    // }
+}
+.topTableHeight40 {
+    position: relative;
+    height: calc(100% - 40px);
+}
+
+// 折叠底部上面左边菜单高度
+.hiddenBottomLayout .layout-top .middleLayout .m-layout-left .ant-layout-sider-children ul.ant-menu.ant-menu-inline.left-menu {
+    height: calc(100vh - 126px);
+}
+
+// 买卖大厅
+.buy-sell-market {
+    width: 100%;
+    height: 100%;
+    position: absolute;
+    z-index: 9;
+    left: 0;
+    top: 0;
+    background-color: @m-black1;
+    .buy-sell-market-title {
+        width: 100%;
+        height: 60px;
+        background: @m-black1;
+        display: inline-flex;
+        font-size: 14px;
+        position: relative;
+        line-height: 60px;
+        border-bottom: 1PX solid @m-blue0;
+        div {
+            align-self: center;
+            align-items: center;
+        }
+        .backIcon {
+            width: 52px;
+            line-height: 60px;
+        }
+        .titleBtn {
+             min-width: 90px;
+            height: 40px;
+            display: inline-flex;
+            .name {
+                background: @m-blue12;
+                text-align: center;
+                flex: 1;
+                padding: 0 16px;
+                .rounded-corners(3px, 0, 0, 3px);
+                 color: @m-white0;
+                 height: 40px;
+                line-height: 40px;
+                font-size: 16px;
+            }
+            .arrowRightIcon,.arrowLeftIcon {
+                width: 12px;
+                height: 40px;
+                background-image: url(../images/titleArrow.png);
+                background-position: 0 0;
+                background-repeat: no-repeat;
+            }
+            .arrowLeftIcon {
+                background-position: -12px 0;
+            }
+        }
+        .titleBtn2 {
+            .name {
+                .rounded-corners(0);
+            }
+        }
+        .titleBtn3 {
+            .name {
+                .rounded-corners(0, 5px, 5px, 0);
+            }
+            margin-right: 20px;
+        }
+        .numBlock {
+            display: inline-flex;
+            .first {
+                font-size: 14px;
+            }
+            .last {
+                font-size: 18px;
+                margin-left: 10px;
+            }
+        }
+        .numBlock+.numBlock {
+            margin-left: 25px;
+        }
+        .market {
+            margin-left: 28px;
+            min-width: 160px;
+            height: 40px;
+            display: inline-flex;
+            background: @m-blue3;
+            border: 1px solid @m-blue13;
+            .rounded-corners(3px);
+            color: @m-grey2;
+            padding: 0 14px;
+            > div {
+                align-self: center;
+                align-items: center;
+            }
+            .first {
+                font-size: 14px;
+            }
+            .last {
+                font-size: 18px;
+                margin-left: 10px;
+                margin-right: 10px;
+            }
+            .red {
+                color: @m-red1;
+            }
+        }
+        .ant-btn {
+            align-items: center;
+            align-self: center;
+        }
+        .publishBuy.ant-btn {
+            min-width: 80px;
+            height: 30px;
+            line-height: 30px;
+            background: linear-gradient(0deg, @m-blue2, @m-blue0);
+            .rounded-corners(3px);
+            font-size: 14px;
+            color: @m-white0;
+            text-align: center;
+            border: none;
+            margin-left: 10px;
+            &:hover {
+                background: linear-gradient(0deg, @m-blue2-hover, @m-blue0-hover);
+                color: @m-white0-hover;
+            }
+        }
+        .detailBtn.ant-btn {
+            min-width: 80px;
+            height: 30px;
+            line-height: 30px;
+            background: linear-gradient(0deg, @m-grey12 0%, @m-grey13 100%);
+            .rounded-corners(3px);
+            font-size: 14px;
+            color: @m-white0;
+            text-align: center;
+            border: none;
+            &:hover {
+                background: linear-gradient(0deg, @m-grey12-hover 0%, @m-grey13-hover 100%);
+                color: @m-white0-hover;
+            }
+        }
+        .ant-btn+.ant-btn {
+            margin-left: 10px;
+        }
+    }
+}
+// 买卖大厅表格
+.buyHallTable,.sellHallTable {
+    .ant-table {
+        width: 100%;
+        table {
+            border: 0;
+        }
+        .ant-table-thead {
+            tr {
+                box-shadow: 0px 1px 0px 0px #2E3539;
+                th {
+                    line-height: 34px;
+                    background: @m-black8;
+                    padding-top: 0;
+                    padding-bottom: 0;
+                    color: @m-grey17;
+                    font-size: 14px;
+                    border-right: 1px solid @m-black10;
+                    border-bottom: 1px solid @m-black10;
+                    white-space: nowrap;
+                    text-overflow: ellipsis;
+                    overflow: hidden;
+                }
+            }
+        }
+        .ant-table-tbody {
+            tr {
+                td {
+                    height: 43px;
+                    line-height: 43px;
+                    padding: 0 8px;
+                    border-right: 1px solid @m-black10;
+                    border-bottom: 1px solid @m-black10;
+                    font-size: 16px;
+                    color: @m-grey17;
+                    white-space: nowrap;
+                    text-overflow: ellipsis;
+                    overflow: hidden;
+                }
+                td:not(:first-child) {
+                    background: rgba(@m-green0, .1);
+                    color: @m-white1;
+                }
+            }
+            tr.ant-table-expanded-row:hover { //tr.ant-table-expanded-row,
+                td {
+                    background-color: @m-black2;
+                }
+            }
+            tr.ant-table-expanded-row {
+                td {
+                    text-align: right;
+                }
+            }
+        }
+        .ant-table-placeholder {
+            border: 0;
+            background: @m-black2;
+        }
+    }
+}
+
+.sellHallTable {
+    .ant-table {
+        .ant-table-tbody {
+            tr {
+                td:not(:first-child) {
+                    background: rgba(@m-red1, .1);
+                }
+            }
+        }
+    }
 }

+ 2 - 0
src/assets/styles/variables.less

@@ -66,6 +66,8 @@
 @m-blue9-hover: rgba(@m-blue9, .8);
 @m-blue10: #0C95FF;
 @m-blue11: #1271BA;
+@m-blue12: #1556B5;
+@m-blue13: #193778;
 @body-bg: #e9eef3;
 @m-white0: #ffffff;
 @m-white0-hover: rgba(@m-white0, .8);

+ 12 - 0
src/common/components/uploadImg/index.vue

@@ -2,6 +2,7 @@
   <div class="upload">
     <a-upload :action="uploadUrl"
               v-model:file-list="uploadImgList"
+              :before-upload="beforeUpload"
               @change="uploadAction">
       <a-button class="uploadBtn">上传</a-button>
     </a-upload>
@@ -23,6 +24,7 @@ import { defineComponent } from '@/common/export/table';
 import { handlePreviewImg, handleUplodImg } from '@/common/setup/upload';
 import { FileInfo, FileItem } from '@/common/setup/upload/interface';
 import { PropType, watchEffect } from '@vue/runtime-core';
+import { message } from 'ant-design-vue';
 
 export default defineComponent({
     name: 'upload-img',
@@ -53,7 +55,17 @@ export default defineComponent({
                 uploadImgList.value = props.imgList;
             }
         });
+        // 文件上传校验
+        const beforeUpload = (file:any) => {
+          const isLt2M = file.size / 1024 / 1024 <= 1;
+          if (!isLt2M) {
+            message.error(file.name + "图片大小超出1M限制,请修改后重新上传", 0.8);
+            return isLt2M;
+          }
+          return isLt2M;
+        };
         return {
+            beforeUpload,
             uploadUrl,
             uploadAction,
             uploadChange,

+ 43 - 43
src/common/constants/enumOrderComponents.ts

@@ -1,45 +1,45 @@
 // 组件名枚举
 export enum enumOrderComponents {
-    bottom = 'bottom', // 底部单据菜单
-
-    spot_warrant = 'spot_warrant', // 现货仓单
-
-    pre_sale_warehouse_receipt = 'pre_sale_warehouse_receipt', // 预售仓单
-
-    performance_information = 'performance_information', // 履约信息
-
-    funding_information = 'funding_information', // 资金信息
-
-    spot_warrant_spot_summary = 'spot_warrant_spot_summary', // 现货汇总
-
-    spot_warrant_inventory_summary = 'spot_warrant_inventory_summary', // 库存汇总
-
-    spot_warrant_spot_details = 'spot_warrant_spot_details', // 现货明细
-
-    spot_warrant_pending_order = 'spot_warrant_pending_order', // 挂单
-
-    spot_warrant_deal = 'spot_warrant_deal', // 成交
-
-    spot_warrant_in_and_out_warehouse = 'spot_warrant_in_and_out_warehouse', // 出入库
-
-    pre_sale_warehouse_receipt_order_summary = 'pre_sale_warehouse_receipt_order_summary', // 订单汇总
-
-    spot_warrant_designated_deal = 'spot_warrant_designated_deal', // 指定成交
-
-    pre_sale_warehouse_receipt_designated_deal = 'pre_sale_warehouse_receipt_designated_deal', // 指定成交
-
-    performance_information_buy_performance = 'performance_information_buy_performance', // 买履约
-
-    pre_sale_warehouse_receipt_pending_order = 'pre_sale_warehouse_receipt_pending_order', // 挂单
-
-    pre_sale_warehouse_receipt_deal = 'pre_sale_warehouse_receipt_deal', // 成交
-
-    performance_information_sell_performance = 'performance_information_sell_performance', // 卖履约
-
-    funding_information_funding_summary = 'funding_information_funding_summary', // 资金汇总
-
-    funding_information_funding_log = 'funding_information_funding_log', // 资金流水
-
-    pre_sale_warehouse_receipt_designated_deal_resell = 'pre_sale_warehouse_receipt_designated_deal_resell', // 撤销出售
-
-}
+						bottom = 'bottom', // 底部单据菜单
+						
+						spot_warrant = 'spot_warrant', // 现货仓单
+						
+						pre_sale_warehouse_receipt = 'pre_sale_warehouse_receipt', // 预售仓单
+						
+						funding_information = 'funding_information', // 资金信息
+						
+						performance_information = 'performance_information', // 履约信息
+						
+						spot_warrant_spot_summary = 'spot_warrant_spot_summary', // 现货汇总
+						
+						spot_warrant_inventory_summary = 'spot_warrant_inventory_summary', // 库存汇总
+						
+						spot_warrant_spot_details = 'spot_warrant_spot_details', // 现货明细
+						
+						spot_warrant_pending_order = 'spot_warrant_pending_order', // 挂单
+						
+						spot_warrant_designated_deal = 'spot_warrant_designated_deal', // 指定成交
+						
+						spot_warrant_in_and_out_warehouse = 'spot_warrant_in_and_out_warehouse', // 出入库
+						
+						spot_warrant_deal = 'spot_warrant_deal', // 成交
+						
+						pre_sale_warehouse_receipt_order_summary = 'pre_sale_warehouse_receipt_order_summary', // 订单汇总
+						
+						pre_sale_warehouse_receipt_pending_order = 'pre_sale_warehouse_receipt_pending_order', // 挂单
+						
+						pre_sale_warehouse_receipt_designated_deal = 'pre_sale_warehouse_receipt_designated_deal', // 指定成交
+						
+						pre_sale_warehouse_receipt_deal = 'pre_sale_warehouse_receipt_deal', // 成交
+						
+						funding_information_funding_summary = 'funding_information_funding_summary', // 资金汇总
+						
+						funding_information_funding_log = 'funding_information_funding_log', // 资金流水
+						
+						performance_information_buy_performance = 'performance_information_buy_performance', // 买履约
+						
+						performance_information_sell_performance = 'performance_information_sell_performance', // 卖履约
+						
+						pre_sale_warehouse_receipt_designated_deal_resell = 'pre_sale_warehouse_receipt_designated_deal_resell', // 撤销出售
+						
+		}

+ 251 - 0
src/common/constants/enumRouterName.ts

@@ -0,0 +1,251 @@
+// 路由名 枚举
+export enum EnumRouterName {
+    info = 'info', // 信息
+
+    manage = 'manage', // 管理
+
+    search = 'search', // 查询
+
+    market = 'market', // 市场
+
+    platinum = 'platinum', // 铂金宝
+
+    business = 'business', // 业务
+
+    report = 'report', // 报表
+
+    remark = 'remark', //
+
+    spot_contract = 'spot_contract', // 现货合同
+
+    custom_info = 'custom_info', // 客户资料
+
+    account_info = 'account_info', // 账户管理
+
+    business_review = 'business_review', // 业务审核
+
+    goods_info = 'goods_info', // 商品信息
+
+    inventory_review = 'inventory_review', // 库存审核
+
+    finance_review = 'finance_review', // 财务审核
+
+    warehouse_info = 'warehouse_info', // 仓库信息
+
+    outaccount_status = 'outaccount_status', // 账户状态
+
+    spot_trade = 'spot_trade', // 现货贸易
+
+    futures = 'futures', // 期货
+
+    platinum_customer_info = 'platinum_customer_info', // 客户资料
+
+    platinum_pick_goods_management = 'platinum_pick_goods_management', // 提货商品管理
+
+    platinum_pick_query = 'platinum_pick_query', // 提货查询
+
+    platinum_recharge_withdrawal_review = 'platinum_recharge_withdrawal_review', // 充值和提现审核
+
+    platinum_fixed_investment_price_query = 'platinum_fixed_investment_price_query', // 定投价查询
+
+    platinum_fixed_investment_query = 'platinum_fixed_investment_query', // 定投查询
+
+    platinum_document_query = 'platinum_document_query', // 单据查询
+
+    platinum_contract_goods = 'platinum_contract_goods', // 合约商品
+
+    platinum_agents_and_stores = 'platinum_agents_and_stores', // 代理和门店
+
+    platinum_spot_and_price = 'platinum_spot_and_price', // 现货市价
+
+    platinum_contract_commodity_suspension = 'platinum_contract_commodity_suspension', // 合约商品停牌
+
+    platinum_agreement = 'platinum_agreement', // 协议管理
+
+    platinum_financing_information = 'platinum_financing_information', // 融资信息
+
+    purchase = 'purchase', // 采购
+
+    sell = 'sell', // 销售
+
+    exposure = 'exposure', // 敞口
+
+    plan = 'plan', // 计划
+
+    exposure_report = 'exposure_report', // 敞口报表
+
+    finance_report = 'finance_report', // 财务报表
+
+    sum_pl_report = 'sum_pl_report', // 汇总损益报表
+
+    future_report = 'future_report', // 期货报表
+
+    spot_report = 'spot_report', // 现货报表
+
+    inventory_report = 'inventory_report', // 库存报表
+
+    spot_contract_unsubmitted = 'spot_contract_unsubmitted', // 未提交
+
+    spot_contract_checkpending = 'spot_contract_checkpending', // 待审核
+
+    spot_contract_finished = 'spot_contract_finished', // 已完成
+
+    spot_contract_performance = 'spot_contract_performance', // 履约中
+
+    custom_info_unsubmit = 'custom_info_unsubmit', // 未提交
+
+    custom_info_normal = 'custom_info_normal', // 正常
+
+    custom_info_checkpending = 'custom_info_checkpending', // 待审核
+
+    custom_info_disabled = 'custom_info_disabled', // 停用
+
+    account_info_business = 'account_info_business', // 业务账户
+
+    account_info_manager = 'account_info_manager', // 管理账户
+
+    account_info_trade = 'account_info_trade', // 交易账户
+
+    account_info_futures = 'account_info_futures', // 期货账户
+
+    business_review_someprice = 'business_review_someprice', // 点价
+
+    business_review_settlement = 'business_review_settlement', // 交收
+
+    goods_info_spot = 'goods_info_spot', // 现货品种
+
+    goods_info_hedge = 'goods_info_hedge', // 套保品种
+
+    inventory_review_checkout = 'inventory_review_checkout', // 出库
+
+    inventory_review_checkin = 'inventory_review_checkin', // 入库
+
+    finance_review_funds = 'finance_review_funds', // 款项
+
+    finance_review_invoice = 'finance_review_invoice', // 发票
+
+    warehouse_info_normal = 'warehouse_info_normal', // 正常
+
+    warehouse_info_disabled = 'warehouse_info_disabled', // 停用
+
+    outaccount_status_status = 'outaccount_status_status', // 账户状态
+
+    inventory_current = 'inventory_current', // 当前库存
+
+    warehouse_receipt_trade = 'warehouse_receipt_trade', // 仓单贸易
+
+    inventory_applyrecord = 'inventory_applyrecord', // 申请记录
+
+    warehouse_pre_sale = 'warehouse_pre_sale', // 仓单预售
+
+    dominant_contract = 'dominant_contract', // 主力
+
+    main_contract = 'main_contract', // 主连
+
+    night_plate = 'night_plate', // 夜盘
+
+    position = 'position', // 持仓
+
+    orderdetail = 'orderdetail', // 委托
+
+    closedetail = 'closedetail', // 平仓
+
+    tradedetail = 'tradedetail', // 成交
+
+    platinum_custom_info_normal = 'platinum_custom_info_normal', // 正常
+
+    platinum_customer_info_unsubmit = 'platinum_customer_info_unsubmit', // 待审核
+
+    platinum_customer_info_stop = 'platinum_customer_info_stop', // 停用
+
+    platinum_pick_goods_management_tab = 'platinum_pick_goods_management_tab', // 提货商品管理
+
+    platinum_pick_query_tab = 'platinum_pick_query_tab', // 提货查询
+
+    platinum_recharge_review_tab = 'platinum_recharge_review_tab', // 充值审核
+
+    platinum_withdrawal_review_tab = 'platinum_withdrawal_review_tab', // 提现审核
+
+    platinum_fixed_investment_price_query_tab = 'platinum_fixed_investment_price_query_tab', // 定投价查询
+
+    platinum_fixed_investment_plan_query = 'platinum_fixed_investment_plan_query', // 定投计划查询
+
+    platinum_fixed_investment_flow_query = 'platinum_fixed_investment_flow_query', // 定投流水查询
+
+    platinum_document_query_position = 'platinum_document_query_position', // 持仓
+
+    platinum_document_query_order = 'platinum_document_query_order', // 委托单
+
+    platinum_document_query_success = 'platinum_document_query_success', // 成交单
+
+    platinum_document_query_waiting = 'platinum_document_query_waiting', // 待付单
+
+    platinum_contract_goods_tab = 'platinum_contract_goods_tab', // 合约商品
+
+    platinum_agents_and_stores_tab = 'platinum_agents_and_stores_tab', // 代理和门店
+
+    platinum_spot_and_price_tab = 'platinum_spot_and_price_tab', // 现货市价
+
+    platinum_contract_commodity_suspension_tab = 'platinum_contract_commodity_suspension_tab', // 合约商品停牌
+
+    platinum_agreement_tab = 'platinum_agreement_tab', // 协议管理
+
+    platinum_financing_information_tab = 'platinum_financing_information_tab', // 融资信息
+
+    purchase_pending = 'purchase_pending', // 待点价
+
+    purchase_performance = 'purchase_performance', // 履约交收
+
+    purchase_all = 'purchase_all', // 全部
+
+    sell_pending = 'sell_pending', // 待点价
+
+    sell_performance = 'sell_performance', // 履约交收
+
+    sell_all = 'sell_all', // 全部
+
+    exposure_realtime = 'exposure_realtime', // 实时敞口
+
+    exposure_spot = 'exposure_spot', // 现货头寸
+
+    exposure_futures = 'exposure_futures', // 期货头寸
+
+    exposure_history = 'exposure_history', // 历史敞口
+
+    plan_uncommitted = 'plan_uncommitted', // 未提交
+
+    plan_audit = 'plan_audit', // 待审核
+
+    plan_running = 'plan_running', // 执行中
+
+    exposure_report_exposure = 'exposure_report_exposure', // 敞口报表
+
+    finance_report_finance = 'finance_report_finance', // 财务报表
+
+    sum_pl_report_sum_pl = 'sum_pl_report_sum_pl', // 汇总损益报表
+
+    future_report_future = 'future_report_future', // 期货报表
+
+    spot_report_spot = 'spot_report_spot', // 现货报表
+
+    inventory_report_inventory_category = 'inventory_report_inventory_category', // 库存报表(品类)
+
+    inventory_report_warehouse = 'inventory_report_warehouse', // 库存报表(仓库)
+
+    goods_info_spot_disable = 'goods_info_spot_disable', // 停用
+
+    goods_info_hedge_normal = 'goods_info_hedge_normal', // 正常
+
+    goods_info_hedge_disable = 'goods_info_hedge_disable', // 停用
+
+    warehouse_receipt_trade_price = 'warehouse_receipt_trade_price', // 一口价挂牌
+
+    warehouse_receipt_trade_floating_price = 'warehouse_receipt_trade_floating_price', // 浮动价挂牌
+
+    warehouse_pre_sale_floating_price = 'warehouse_pre_sale_floating_price', // 浮动价预售
+
+    warehouse_pre_sale_price = 'warehouse_pre_sale_price', // 一口价预售
+
+    goods_info_spot_normal = 'goods_info_spot_normal', // 正常
+
+}

+ 309 - 309
src/common/constants/modalNameEnum.ts

@@ -4,312 +4,312 @@ export enum ModalEnum {
     commomOrder = 'commom-order', // 下单通用界面
 
     detail = 'detail', // 详情
-					spot_warrant_inventory_summary_detail = 'spot_warrant_inventory_summary_detail', // 仓单明细
-					
-					spot_warrant_spot_details_listed = 'spot_warrant_spot_details_listed', // 挂牌
-					
-					spot_warrant_deal_detail = 'spot_warrant_deal_detail', // 详情
-					
-					spot_warrant_pending_order_cancel_order = 'spot_warrant_pending_order_cancel_order', // 撤单
-					
-					spot_warrant_designated_deal_ignore = 'spot_warrant_designated_deal_ignore', // 忽略
-					
-					spot_warrant_designated_deal_confirm_purchase = 'spot_warrant_designated_deal_confirm_purchase', // 确定购买
-					
-					spot_warrant_in_and_out_warehouse_logistics_information = 'spot_warrant_in_and_out_warehouse_logistics_information', // 物流信息
-					
-					spot_warrant_spot_summary_check = 'spot_warrant_spot_summary_check', // 查看库存
-					
-					spot_warrant_spot_details_pick_up = 'spot_warrant_spot_details_pick_up', // 提货
-					
-					spot_warrant_in_and_out_warehouse_revoke = 'spot_warrant_in_and_out_warehouse_revoke', // 撤销
-					
-					pre_sale_warehouse_receipt_pending_order_cancel_order = 'pre_sale_warehouse_receipt_pending_order_cancel_order', // 撤单
-					
-					spot_warrant_designated_deal_resell = 'spot_warrant_designated_deal_resell', // 撤销出售
-					
-					pre_sale_warehouse_receipt_designated_deal_confirm_purchase = 'pre_sale_warehouse_receipt_designated_deal_confirm_purchase', // 确定购买
-					
-					pre_sale_warehouse_receipt_designated_deal_ignore = 'pre_sale_warehouse_receipt_designated_deal_ignore', // 忽略
-					
-					performance_information_buy_performance_pay = 'performance_information_buy_performance_pay', // 付款
-					
-					performance_information_buy_performance_breach_contract = 'performance_information_buy_performance_breach_contract', // 违约
-					
-					performance_information_buy_performance_detail = 'performance_information_buy_performance_detail', // 详情
-					
-					pre_sale_warehouse_receipt_order_summary_listed = 'pre_sale_warehouse_receipt_order_summary_listed', // 挂牌
-					
-					performance_information_sell_performance_extension = 'performance_information_sell_performance_extension', // 延期
-					
-					pre_sale_warehouse_receipt_deal_detail = 'pre_sale_warehouse_receipt_deal_detail', // 详情
-					
-					performance_information_buy_performance_extension = 'performance_information_buy_performance_extension', // 延期
-					
-					performance_information_sell_performance_pay = 'performance_information_sell_performance_pay', // 付款
-					
-					funding_information_funding_summary_recharge = 'funding_information_funding_summary_recharge', // 充值
-					
-					performance_information_sell_performance_breach_contract = 'performance_information_sell_performance_breach_contract', // 违约
-					
-					performance_information_sell_performance_detail = 'performance_information_sell_performance_detail', // 详情
-					
-					warehouse_receipt_trade_price_post_buying = 'warehouse_receipt_trade_price_post_buying', // 发布求购
-					
-					funding_information_funding_summary_withdraw = 'funding_information_funding_summary_withdraw', // 提现
-					
-					warehouse_receipt_trade_price_delisting = 'warehouse_receipt_trade_price_delisting', // 摘牌
-					
-					warehouse_receipt_trade_price_detail = 'warehouse_receipt_trade_price_detail', // 详情
-					
-					warehouse_receipt_trade_floating_price_post_buying = 'warehouse_receipt_trade_floating_price_post_buying', // 发布求购
-					
-					warehouse_receipt_trade_floating_price_delisting = 'warehouse_receipt_trade_floating_price_delisting', // 摘牌
-					
-					capacity_pre_sale_detail = 'capacity_pre_sale_detail', // 详情
-					
-					capacity_pre_sale_purchase = 'capacity_pre_sale_purchase', // 发布求购
-					
-					capacity_pre_sale_delisting = 'capacity_pre_sale_delisting', // 摘牌
-					
-					open = 'open', // 开仓
-					
-					custom_info_btn_modify = 'custom_info_btn_modify', // 修改
-					
-					custom_info_btn_delete = 'custom_info_btn_delete', // 删除
-					
-					custom_info_btn_cancel = 'custom_info_btn_cancel', // 撤销
-					
-					warehouse_receipt_trade_floating_price_detail = 'warehouse_receipt_trade_floating_price_detail', // 详情
-					
-					close = 'close', // 平仓
-					
-					custom_info_btn_add = 'custom_info_btn_add', // 新增
-					
-					custom_info_btn_disable = 'custom_info_btn_disable', // 停用
-					
-					goods_info_spot_normal_add = 'goods_info_spot_normal_add', // 新增
-					
-					goods_info_spot_normal_modify = 'goods_info_spot_normal_modify', // 修改
-					
-					custom_info_btn_check = 'custom_info_btn_check', // 审核
-					
-					goods_info_hedge_normal_modify = 'goods_info_hedge_normal_modify', // 修改
-					
-					goods_info_spot_normal_disable = 'goods_info_spot_normal_disable', // 停用
-					
-					spot_contract_btn_add = 'spot_contract_btn_add', // 新增
-					
-					custom_info_btn_recover = 'custom_info_btn_recover', // 恢复
-					
-					none_btn = 'none_btn', // 按钮
-					
-					warehouse_info_btn_add = 'warehouse_info_btn_add', // 新增
-					
-					warehouse_info_btn_modify = 'warehouse_info_btn_modify', // 修改
-					
-					warehouse_info_btn_disable = 'warehouse_info_btn_disable', // 停用
-					
-					warehouse_info_btn_recover = 'warehouse_info_btn_recover', // 恢复
-					
-					account_info_business_btn_add = 'account_info_business_btn_add', // 新增
-					
-					account_info_trade_btn_add = 'account_info_trade_btn_add', // 新增
-					
-					account_info_manager_btn_add = 'account_info_manager_btn_add', // 新增权限模板
-					
-					account_info_manager_btn_setting = 'account_info_manager_btn_setting', // 权限设置
-					
-					account_info_futures_btn_add = 'account_info_futures_btn_add', // 新增
-					
-					plan_btn_add = 'plan_btn_add', // 新增
-					
-					business_review_someprice_audit = 'business_review_someprice_audit', // 审核
-					
-					business_review_someprice_cancel = 'business_review_someprice_cancel', // 撤销
-					
-					business_review_settlement_audit = 'business_review_settlement_audit', // 审核
-					
-					business_review_settlement_cancel = 'business_review_settlement_cancel', // 撤销
-					
-					finance_review_funds_audit = 'finance_review_funds_audit', // 审核
-					
-					finance_review_funds_cancel = 'finance_review_funds_cancel', // 撤销
-					
-					finance_review_invoice_audit = 'finance_review_invoice_audit', // 审核
-					
-					finance_review_invoice_cancel = 'finance_review_invoice_cancel', // 撤销
-					
-					inventory_review_checkin_audit = 'inventory_review_checkin_audit', // 审核
-					
-					inventory_review_checkin_cancel = 'inventory_review_checkin_cancel', // 撤销
-					
-					inventory_review_checkout_audit = 'inventory_review_checkout_audit', // 审核
-					
-					inventory_review_checkout_cancel = 'inventory_review_checkout_cancel', // 撤销
-					
-					inventory_current_add = 'inventory_current_add', // 新增
-					
-					platinum_custom_info_add = 'platinum_custom_info_add', // 新增
-					
-					platinum_pick_goods_management_add = 'platinum_pick_goods_management_add', // 新增
-					
-					platinum_pick_query_complete_stocking = 'platinum_pick_query_complete_stocking', // 完成备货
-					
-					platinum_pick_query_upload_logistics = 'platinum_pick_query_upload_logistics', // 上传物流
-					
-					platinum_pick_query_receipt = 'platinum_pick_query_receipt', // 确认收货
-					
-					platinum_pick_query_confirm_pickup = 'platinum_pick_query_confirm_pickup', // 确认取货
-					
-					platinum_recharge_review_confirm_payment = 'platinum_recharge_review_confirm_payment', // 确认收款
-					
-					platinum_recharge_review_refuse = 'platinum_recharge_review_refuse', // 审核拒绝
-					
-					platinum_withdrawal_review_confirm_withdrawal = 'platinum_withdrawal_review_confirm_withdrawal', // 确认提现
-					
-					platinum_withdrawal_review_refuse = 'platinum_withdrawal_review_refuse', // 审核拒绝
-					
-					platinum_financing_information_detail = 'platinum_financing_information_detail', // 融资明细
-					
-					platinum_contract_goods_add = 'platinum_contract_goods_add', // 新增
-					
-					platinum_contract_commodity_suspension_add = 'platinum_contract_commodity_suspension_add', // 新增
-					
-					platinum_agents_and_stores_add = 'platinum_agents_and_stores_add', // 新增
-					
-					platinum_agents_and_stores_modify = 'platinum_agents_and_stores_modify', // 修改
-					
-					platinum_agents_and_stores_logout = 'platinum_agents_and_stores_logout', // 注销
-					
-					platinum_spot_and_price_modify = 'platinum_spot_and_price_modify', // 修改
-					
-					platinum_agreement_add = 'platinum_agreement_add', // 新增
-					
-					platinum_capital_flow = 'platinum_capital_flow', // 积分流水
-					
-					platinum_promotion_report = 'platinum_promotion_report', // 推广报表
-					
-					platinum_broker_management = 'platinum_broker_management', // 经纪人管理
-					
-					spot_contract_btn_modify = 'spot_contract_btn_modify', // 重新提交
-					
-					spot_contract_btn_delete = 'spot_contract_btn_delete', // 删除
-					
-					spot_contract_btn_check = 'spot_contract_btn_check', // 审核
-					
-					spot_contract_btn_finish = 'spot_contract_btn_finish', // 正常完结
-					
-					spot_contract_btn_cancel = 'spot_contract_btn_cancel', // 撤销
-					
-					account_info_business_btn_modify = 'account_info_business_btn_modify', // 修改
-					
-					account_info_business_btn_reset = 'account_info_business_btn_reset', // 重置密码
-					
-					account_info_business_btn_locked = 'account_info_business_btn_locked', // 锁定
-					
-					account_info_business_btn_unlocked = 'account_info_business_btn_unlocked', // 解锁
-					
-					account_info_business_btn_cancel = 'account_info_business_btn_cancel', // 注销
-					
-					account_info_trade_btn_modify = 'account_info_trade_btn_modify', // 修改
-					
-					account_info_trade_child_btn_add = 'account_info_trade_child_btn_add', // 新增
-					
-					account_info_manager_btn_child_add = 'account_info_manager_btn_child_add', // 新增
-					
-					account_info_futures_btn_child_add = 'account_info_futures_btn_child_add', // 新增
-					
-					purchase_pending_settlement = 'purchase_pending_settlement', // 交收登记
-					
-					purchase_pending_someprice = 'purchase_pending_someprice', // 点价登记
-					
-					purchase_pending_funds = 'purchase_pending_funds', // 款项登记
-					
-					purchase_pending_invoice = 'purchase_pending_invoice', // 发票登记
-					
-					purchase_pending_storage = 'purchase_pending_storage', // 入库登记
-					
-					sell_pending_settlement = 'sell_pending_settlement', // 交收登记
-					
-					sell_pending_funds = 'sell_pending_funds', // 款项登记
-					
-					sell_pending_invoice = 'sell_pending_invoice', // 发票登记
-					
-					sell_pending_storage = 'sell_pending_storage', // 出库登记
-					
-					plan_uncommitted_modify = 'plan_uncommitted_modify', // 修改
-					
-					plan_uncommitted_delete = 'plan_uncommitted_delete', // 删除
-					
-					plan_audit_audit = 'plan_audit_audit', // 审核
-					
-					plan_audit_cancel = 'plan_audit_cancel', // 撤销
-					
-					account_info_futures_btn_modify = 'account_info_futures_btn_modify', // 修改
-					
-					sell_pending_someprice = 'sell_pending_someprice', // 点价登记
-					
-					inventory_current_detail_storehouse = 'inventory_current_detail_storehouse', // 仓库明细
-					
-					inventory_current_detail_storesave = 'inventory_current_detail_storesave', // 库存明细
-					
-					platinum_custom_info_normal_modify = 'platinum_custom_info_normal_modify', // 修改
-					
-					platinum_custom_info_normal_stop = 'platinum_custom_info_normal_stop', // 停用
-					
-					platinum_customer_info_unsubmit_check = 'platinum_customer_info_unsubmit_check', // 审核
-					
-					platinum_customer_info_stop_resume = 'platinum_customer_info_stop_resume', // 恢复
-					
-					platinum_pick_goods_management_modify = 'platinum_pick_goods_management_modify', // 修改
-					
-					platinum_pick_goods_management_logout = 'platinum_pick_goods_management_logout', // 注销
-					
-					platinum_customer_info_stop_delete = 'platinum_customer_info_stop_delete', // 删除
-					
-					platinum_contract_goods_modify = 'platinum_contract_goods_modify', // 修改
-					
-					platinum_contract_goods_logout = 'platinum_contract_goods_logout', // 注销
-					
-					platinum_contract_commodity_suspension_modify = 'platinum_contract_commodity_suspension_modify', // 修改
-					
-					platinum_agreement_modify = 'platinum_agreement_modify', // 修改
-					
-					platinum_agreement_resume = 'platinum_agreement_resume', // 恢复
-					
-					platinum_agreement_stop = 'platinum_agreement_stop', // 停用
-					
-					platinum_agreement_delete = 'platinum_agreement_delete', // 注销
-					
-					platinum_broker_management_check = 'platinum_broker_management_check', // 审核
-					
-					platinum_broker_management_resume = 'platinum_broker_management_resume', // 恢复
-					
-					account_info_trade_btn_child_modify = 'account_info_trade_btn_child_modify', // 修改
-					
-					account_info_trade_btn_child_reset = 'account_info_trade_btn_child_reset', // 重置密码
-					
-					account_info_trade_btn_child_locked = 'account_info_trade_btn_child_locked', // 锁定
-					
-					account_info_trade_btn_child_unlocked = 'account_info_trade_btn_child_unlocked', // 解锁
-					
-					account_info_trade_btn_child_logout = 'account_info_trade_btn_child_logout', // 注销
-					
-					account_info_manager_btn_modify = 'account_info_manager_btn_modify', // 修改
-					
-					account_info_manager_btn_locked = 'account_info_manager_btn_locked', // 锁定
-					
-					account_info_manager_btn_unlocked = 'account_info_manager_btn_unlocked', // 
-					
-					account_info_manager_btn_logout = 'account_info_manager_btn_logout', // 注销
-					
-					account_info_manager_btn_reset = 'account_info_manager_btn_reset', // 重置密码
-					
-					account_info_futures_btn_child_credit = 'account_info_futures_btn_child_credit', // 授信
-					
-					account_info_futures_btn_child_cancel = 'account_info_futures_btn_child_cancel', // 注销
-					
-					account_info_futures_btn_child_modify = 'account_info_futures_btn_child_modify', // 修改
-					
-}
+						spot_warrant_spot_details_listed = 'spot_warrant_spot_details_listed', // 挂牌
+						
+						spot_warrant_deal_detail = 'spot_warrant_deal_detail', // 详情
+						
+						spot_warrant_inventory_summary_detail = 'spot_warrant_inventory_summary_detail', // 仓单明细
+						
+						spot_warrant_pending_order_cancel_order = 'spot_warrant_pending_order_cancel_order', // 撤单
+						
+						spot_warrant_designated_deal_ignore = 'spot_warrant_designated_deal_ignore', // 忽略
+						
+						spot_warrant_spot_summary_check = 'spot_warrant_spot_summary_check', // 查看库存
+						
+						spot_warrant_designated_deal_confirm_purchase = 'spot_warrant_designated_deal_confirm_purchase', // 确定购买
+						
+						spot_warrant_in_and_out_warehouse_logistics_information = 'spot_warrant_in_and_out_warehouse_logistics_information', // 物流信息
+						
+						spot_warrant_spot_details_pick_up = 'spot_warrant_spot_details_pick_up', // 提货
+						
+						spot_warrant_designated_deal_resell = 'spot_warrant_designated_deal_resell', // 撤销出售
+						
+						pre_sale_warehouse_receipt_pending_order_cancel_order = 'pre_sale_warehouse_receipt_pending_order_cancel_order', // 撤单
+						
+						pre_sale_warehouse_receipt_order_summary_listed = 'pre_sale_warehouse_receipt_order_summary_listed', // 挂牌
+						
+						pre_sale_warehouse_receipt_designated_deal_confirm_purchase = 'pre_sale_warehouse_receipt_designated_deal_confirm_purchase', // 确定购买
+						
+						performance_information_buy_performance_pay = 'performance_information_buy_performance_pay', // 付款
+						
+						performance_information_buy_performance_extension = 'performance_information_buy_performance_extension', // 延期
+						
+						spot_warrant_in_and_out_warehouse_revoke = 'spot_warrant_in_and_out_warehouse_revoke', // 撤销
+						
+						pre_sale_warehouse_receipt_deal_detail = 'pre_sale_warehouse_receipt_deal_detail', // 详情
+						
+						performance_information_buy_performance_detail = 'performance_information_buy_performance_detail', // 详情
+						
+						performance_information_sell_performance_pay = 'performance_information_sell_performance_pay', // 付款
+						
+						performance_information_sell_performance_detail = 'performance_information_sell_performance_detail', // 详情
+						
+						performance_information_sell_performance_extension = 'performance_information_sell_performance_extension', // 延期
+						
+						performance_information_buy_performance_breach_contract = 'performance_information_buy_performance_breach_contract', // 违约
+						
+						performance_information_sell_performance_breach_contract = 'performance_information_sell_performance_breach_contract', // 违约
+						
+						funding_information_funding_summary_withdraw = 'funding_information_funding_summary_withdraw', // 提现
+						
+						pre_sale_warehouse_receipt_designated_deal_ignore = 'pre_sale_warehouse_receipt_designated_deal_ignore', // 忽略
+						
+						warehouse_receipt_trade_price_post_buying = 'warehouse_receipt_trade_price_post_buying', // 发布求购
+						
+						warehouse_receipt_trade_floating_price_post_buying = 'warehouse_receipt_trade_floating_price_post_buying', // 发布求购
+						
+						funding_information_funding_summary_recharge = 'funding_information_funding_summary_recharge', // 充值
+						
+						warehouse_receipt_trade_floating_price_detail = 'warehouse_receipt_trade_floating_price_detail', // 详情
+						
+						warehouse_receipt_trade_floating_price_delisting = 'warehouse_receipt_trade_floating_price_delisting', // 摘牌
+						
+						warehouse_receipt_trade_price_delisting = 'warehouse_receipt_trade_price_delisting', // 摘牌
+						
+						capacity_pre_sale_detail = 'capacity_pre_sale_detail', // 详情
+						
+						warehouse_receipt_trade_price_detail = 'warehouse_receipt_trade_price_detail', // 详情
+						
+						capacity_pre_sale_purchase = 'capacity_pre_sale_purchase', // 发布求购
+						
+						capacity_pre_sale_delisting = 'capacity_pre_sale_delisting', // 摘牌
+						
+						open = 'open', // 开仓
+						
+						close = 'close', // 平仓
+						
+						custom_info_btn_delete = 'custom_info_btn_delete', // 删除
+						
+						custom_info_btn_cancel = 'custom_info_btn_cancel', // 撤销
+						
+						custom_info_btn_check = 'custom_info_btn_check', // 审核
+						
+						custom_info_btn_add = 'custom_info_btn_add', // 新增
+						
+						custom_info_btn_modify = 'custom_info_btn_modify', // 修改
+						
+						custom_info_btn_disable = 'custom_info_btn_disable', // 停用
+						
+						custom_info_btn_recover = 'custom_info_btn_recover', // 恢复
+						
+						goods_info_spot_normal_add = 'goods_info_spot_normal_add', // 新增
+						
+						goods_info_spot_normal_disable = 'goods_info_spot_normal_disable', // 停用
+						
+						goods_info_hedge_normal_modify = 'goods_info_hedge_normal_modify', // 修改
+						
+						spot_contract_btn_add = 'spot_contract_btn_add', // 新增
+						
+						goods_info_spot_normal_modify = 'goods_info_spot_normal_modify', // 修改
+						
+						none_btn = 'none_btn', // 按钮
+						
+						warehouse_info_btn_add = 'warehouse_info_btn_add', // 新增
+						
+						warehouse_info_btn_disable = 'warehouse_info_btn_disable', // 停用
+						
+						warehouse_info_btn_recover = 'warehouse_info_btn_recover', // 恢复
+						
+						account_info_business_btn_add = 'account_info_business_btn_add', // 新增
+						
+						warehouse_info_btn_modify = 'warehouse_info_btn_modify', // 修改
+						
+						account_info_trade_btn_add = 'account_info_trade_btn_add', // 新增
+						
+						account_info_manager_btn_add = 'account_info_manager_btn_add', // 新增权限模板
+						
+						account_info_manager_btn_setting = 'account_info_manager_btn_setting', // 权限设置
+						
+						business_review_someprice_audit = 'business_review_someprice_audit', // 审核
+						
+						account_info_futures_btn_add = 'account_info_futures_btn_add', // 新增
+						
+						business_review_someprice_cancel = 'business_review_someprice_cancel', // 撤销
+						
+						business_review_settlement_cancel = 'business_review_settlement_cancel', // 撤销
+						
+						finance_review_funds_audit = 'finance_review_funds_audit', // 审核
+						
+						business_review_settlement_audit = 'business_review_settlement_audit', // 审核
+						
+						plan_btn_add = 'plan_btn_add', // 新增
+						
+						finance_review_funds_cancel = 'finance_review_funds_cancel', // 撤销
+						
+						finance_review_invoice_audit = 'finance_review_invoice_audit', // 审核
+						
+						finance_review_invoice_cancel = 'finance_review_invoice_cancel', // 撤销
+						
+						inventory_review_checkin_audit = 'inventory_review_checkin_audit', // 审核
+						
+						inventory_review_checkin_cancel = 'inventory_review_checkin_cancel', // 撤销
+						
+						inventory_review_checkout_audit = 'inventory_review_checkout_audit', // 审核
+						
+						inventory_review_checkout_cancel = 'inventory_review_checkout_cancel', // 撤销
+						
+						inventory_current_add = 'inventory_current_add', // 新增
+						
+						platinum_custom_info_add = 'platinum_custom_info_add', // 新增
+						
+						platinum_pick_goods_management_add = 'platinum_pick_goods_management_add', // 新增
+						
+						platinum_pick_query_complete_stocking = 'platinum_pick_query_complete_stocking', // 完成备货
+						
+						platinum_pick_query_upload_logistics = 'platinum_pick_query_upload_logistics', // 上传物流
+						
+						platinum_pick_query_receipt = 'platinum_pick_query_receipt', // 确认收货
+						
+						platinum_pick_query_confirm_pickup = 'platinum_pick_query_confirm_pickup', // 确认取货
+						
+						platinum_recharge_review_confirm_payment = 'platinum_recharge_review_confirm_payment', // 确认收款
+						
+						platinum_recharge_review_refuse = 'platinum_recharge_review_refuse', // 审核拒绝
+						
+						platinum_withdrawal_review_confirm_withdrawal = 'platinum_withdrawal_review_confirm_withdrawal', // 确认提现
+						
+						platinum_withdrawal_review_refuse = 'platinum_withdrawal_review_refuse', // 审核拒绝
+						
+						platinum_financing_information_detail = 'platinum_financing_information_detail', // 融资明细
+						
+						platinum_contract_goods_add = 'platinum_contract_goods_add', // 新增
+						
+						platinum_contract_commodity_suspension_add = 'platinum_contract_commodity_suspension_add', // 新增
+						
+						platinum_agents_and_stores_add = 'platinum_agents_and_stores_add', // 新增
+						
+						platinum_agents_and_stores_modify = 'platinum_agents_and_stores_modify', // 修改
+						
+						platinum_agents_and_stores_logout = 'platinum_agents_and_stores_logout', // 注销
+						
+						platinum_spot_and_price_modify = 'platinum_spot_and_price_modify', // 修改
+						
+						platinum_agreement_add = 'platinum_agreement_add', // 新增
+						
+						platinum_capital_flow = 'platinum_capital_flow', // 积分流水
+						
+						platinum_promotion_report = 'platinum_promotion_report', // 推广报表
+						
+						platinum_broker_management = 'platinum_broker_management', // 经纪人管理
+						
+						spot_contract_btn_modify = 'spot_contract_btn_modify', // 重新提交
+						
+						spot_contract_btn_delete = 'spot_contract_btn_delete', // 删除
+						
+						spot_contract_btn_check = 'spot_contract_btn_check', // 审核
+						
+						spot_contract_btn_finish = 'spot_contract_btn_finish', // 正常完结
+						
+						spot_contract_btn_cancel = 'spot_contract_btn_cancel', // 撤销
+						
+						account_info_business_btn_modify = 'account_info_business_btn_modify', // 修改
+						
+						account_info_business_btn_reset = 'account_info_business_btn_reset', // 重置密码
+						
+						account_info_business_btn_locked = 'account_info_business_btn_locked', // 锁定
+						
+						account_info_business_btn_cancel = 'account_info_business_btn_cancel', // 注销
+						
+						account_info_business_btn_unlocked = 'account_info_business_btn_unlocked', // 解锁
+						
+						account_info_trade_child_btn_add = 'account_info_trade_child_btn_add', // 新增
+						
+						account_info_trade_btn_modify = 'account_info_trade_btn_modify', // 修改
+						
+						account_info_manager_btn_child_add = 'account_info_manager_btn_child_add', // 新增
+						
+						purchase_pending_settlement = 'purchase_pending_settlement', // 交收登记
+						
+						purchase_pending_invoice = 'purchase_pending_invoice', // 发票登记
+						
+						purchase_pending_storage = 'purchase_pending_storage', // 入库登记
+						
+						sell_pending_someprice = 'sell_pending_someprice', // 点价登记
+						
+						purchase_pending_someprice = 'purchase_pending_someprice', // 点价登记
+						
+						purchase_pending_funds = 'purchase_pending_funds', // 款项登记
+						
+						plan_audit_cancel = 'plan_audit_cancel', // 撤销
+						
+						account_info_futures_btn_child_add = 'account_info_futures_btn_child_add', // 新增
+						
+						account_info_futures_btn_modify = 'account_info_futures_btn_modify', // 修改
+						
+						plan_audit_audit = 'plan_audit_audit', // 审核
+						
+						sell_pending_funds = 'sell_pending_funds', // 款项登记
+						
+						sell_pending_settlement = 'sell_pending_settlement', // 交收登记
+						
+						sell_pending_invoice = 'sell_pending_invoice', // 发票登记
+						
+						sell_pending_storage = 'sell_pending_storage', // 出库登记
+						
+						plan_uncommitted_modify = 'plan_uncommitted_modify', // 修改
+						
+						plan_uncommitted_delete = 'plan_uncommitted_delete', // 删除
+						
+						inventory_current_detail_storehouse = 'inventory_current_detail_storehouse', // 仓库明细
+						
+						inventory_current_detail_storesave = 'inventory_current_detail_storesave', // 库存明细
+						
+						platinum_custom_info_normal_modify = 'platinum_custom_info_normal_modify', // 修改
+						
+						platinum_custom_info_normal_stop = 'platinum_custom_info_normal_stop', // 停用
+						
+						platinum_customer_info_stop_delete = 'platinum_customer_info_stop_delete', // 删除
+						
+						platinum_customer_info_unsubmit_check = 'platinum_customer_info_unsubmit_check', // 审核
+						
+						platinum_customer_info_stop_resume = 'platinum_customer_info_stop_resume', // 恢复
+						
+						platinum_pick_goods_management_modify = 'platinum_pick_goods_management_modify', // 修改
+						
+						platinum_pick_goods_management_logout = 'platinum_pick_goods_management_logout', // 注销
+						
+						platinum_contract_goods_modify = 'platinum_contract_goods_modify', // 修改
+						
+						platinum_contract_goods_logout = 'platinum_contract_goods_logout', // 注销
+						
+						platinum_contract_commodity_suspension_modify = 'platinum_contract_commodity_suspension_modify', // 修改
+						
+						platinum_agreement_modify = 'platinum_agreement_modify', // 修改
+						
+						platinum_agreement_stop = 'platinum_agreement_stop', // 停用
+						
+						platinum_agreement_resume = 'platinum_agreement_resume', // 恢复
+						
+						platinum_agreement_delete = 'platinum_agreement_delete', // 注销
+						
+						platinum_broker_management_check = 'platinum_broker_management_check', // 审核
+						
+						platinum_broker_management_resume = 'platinum_broker_management_resume', // 恢复
+						
+						account_info_trade_btn_child_modify = 'account_info_trade_btn_child_modify', // 修改
+						
+						account_info_trade_btn_child_locked = 'account_info_trade_btn_child_locked', // 锁定
+						
+						account_info_trade_btn_child_reset = 'account_info_trade_btn_child_reset', // 重置密码
+						
+						account_info_trade_btn_child_unlocked = 'account_info_trade_btn_child_unlocked', // 解锁
+						
+						account_info_manager_btn_modify = 'account_info_manager_btn_modify', // 修改
+						
+						account_info_manager_btn_reset = 'account_info_manager_btn_reset', // 重置密码
+						
+						account_info_trade_btn_child_logout = 'account_info_trade_btn_child_logout', // 注销
+						
+						account_info_manager_btn_locked = 'account_info_manager_btn_locked', // 锁
+						
+						account_info_manager_btn_unlocked = 'account_info_manager_btn_unlocked', // 解锁
+						
+						account_info_manager_btn_logout = 'account_info_manager_btn_logout', // 注销
+						
+						account_info_futures_btn_child_credit = 'account_info_futures_btn_child_credit', // 授信
+						
+						account_info_futures_btn_child_modify = 'account_info_futures_btn_child_modify', // 修改
+						
+						account_info_futures_btn_child_cancel = 'account_info_futures_btn_child_cancel', // 注销
+						
+		}

+ 1 - 0
src/common/methods/format/index.ts

@@ -71,6 +71,7 @@ export function formatTime(value: string | Date | Moment, type: TIME) {
     } else if (type === 'm') {
         'YYYY-MM-DD HH:mm'
     }
+    if(value === '--') return '';
     if (value) return moment(value).format(str);
     return value;
 }

+ 38 - 0
src/common/setup/matket/router.ts

@@ -0,0 +1,38 @@
+import { TabList } from '@/common/components/description/interface';
+import { EnumRouterName } from '@/common/constants/enumRouterName';
+import { initData } from '@/common/methods';
+import { getThirdMenuData } from '@/common/setup/table/button';
+import { ref } from 'vue';
+import { useRoute, useRouter } from 'vue-router';
+
+export function handleMartketThirdRouter(code: EnumRouterName) {
+    const list = getThirdMenuData();
+    const item = list.find((e) => e.code === code);
+    const tabList = item
+        ? item.children.map((e) => {
+            return { lable: e.title, code: e.code };
+        })
+        : [];
+    const router = useRouter();
+    const route = useRoute();
+    const index = ref<string>('0');
+    initData(() => {
+        if (tabList.length) {
+            const name = route.name as string;
+            const result = tabList.findIndex((e) => e.code === name);
+            // 处理页面刷新
+            if (result !== -1) {
+                router.push({ name });
+                index.value = result.toString();
+            } else {
+                router.push({ name: tabList[0].code });
+                index.value = '0';
+            }
+        }
+    });
+    // 切换tab 跳转路由
+    function changeTab(index: number, current: TabList) {
+        router.push({ name: current.code });
+    }
+    return { index, tabList, changeTab }
+}

+ 17 - 2
src/common/setup/table/button.ts

@@ -1,4 +1,5 @@
 import { BtnList as btnType } from '@/common/components/btnList/interface';
+import { EnumRouterName } from '@/common/constants/enumRouterName';
 import { ModalName } from '@/common/constants/modalName';
 import { OperationTabMenu } from '@/services/go/commonService/interface';
 import { sessionStorageUtil } from "@/utils/storage";
@@ -109,6 +110,7 @@ export function _handleBtnList_(list: OperationTabMenu | undefined, hasDetail: b
     if (result.value.length === 0) {
         result.value = [[], []]
     }
+    console.log('按钮列表数据', result);
 
     return result
 }
@@ -170,8 +172,21 @@ export function _getBtnList(menuType: keyof ButtonListKey, hasDetail: boolean):
     return _handleBtnList(list, hasDetail)
 }
 
-export function getBtnList_(menuType: keyof ButtonListKey, hasDetail: boolean) {
+export function getBtnList_(menuType: EnumRouterName, hasDetail: boolean) {
     const data = getThirdMenuData()
-    const list = data.find((e) => e.code === menuType);
+    let list: OperationTabMenu | undefined = undefined
+    // 这里处理有两层路由菜单
+    function findFn(arr: OperationTabMenu[]) {
+        for (let item of arr) {
+            if (item.code === menuType) {
+                list = item
+                return
+            } else {
+                findFn(item.children)
+            }
+        }
+        return null
+    }
+    findFn(data)
     return _handleBtnList_(list, hasDetail)
 }

+ 3 - 2
src/common/setup/table/interface.ts

@@ -1,3 +1,4 @@
+import { EnumRouterName } from "@/common/constants/enumRouterName";
 import { TableKey } from "@/common/methods/table/interface";
 
 export interface TableEventCB {
@@ -21,7 +22,7 @@ export interface BtnParam {
 
 export interface ComposeTableParam {
     queryFn: Function,  // 查询表格数据
-    menuType: keyof ButtonListKey,  // 操作按钮列表key
+    menuType: EnumRouterName,  // 操作按钮列表key
     tableName: keyof TableKey, // 表头key
     tableFilterKey: string[], // 表格过滤字段
     tableFilterCB?: Function, // 表格过滤字段回调函数
@@ -32,7 +33,7 @@ export interface ComposeTableDetailParam {
     queryFn: Function,  // 查询表格数据
     tableName: keyof TableKey, // 表头key
     tableFilterKey: string[], // 表格过滤字段
-    menuType: keyof ButtonListKey
+    menuType: EnumRouterName
 }
 
 export interface ButtonListKey {

+ 2 - 3
src/common/setup/upload/index.ts

@@ -61,11 +61,10 @@ export function handleUplodImg(limitSize = 1) {
         let resFileList = [...fileList];
         // 1. Limit the number of uploaded files
         resFileList = resFileList.slice(-limitSize);
-
         // 2. 处理上传异常
         if (file.status !== 'uploading') {
-            if (file.xhr?.status !== 200) {
-                message.error(`服务器返回状态不为200: ${file.xhr?.statusText}`)
+            if (file.response.code !== 200) {
+                message.error(`服务器返回状态: ${file.response.code},${file.response.message}`)
             }
 
         }

+ 14 - 13
src/router/index.ts

@@ -1,3 +1,4 @@
+import { EnumRouterName } from '@/common/constants/enumRouterName';
 import { setLoadComplete } from '@/common/methods';
 import { getLoadIsComplete } from '@/common/methods/mixin';
 import Main from '@/layout/components/main.vue';
@@ -939,11 +940,11 @@ const routes: Array<RouteRecordRaw> = [
                 meta: {
                     requireAuth: true,
                 },
-                redirect: { name: '"warehouse_receipt_trade' },
+                redirect: { name: EnumRouterName.spot_trade, },
                 children: [
                     {
                         path: '/spot_trade/warehouse_receipt_trade',
-                        name: 'warehouse_receipt_trade',
+                        name: EnumRouterName.warehouse_receipt_trade,
                         component: () => import('@/views/market/spot_trade/warehouse_receipt_trade/index.vue'),
                         meta: {
                             requireAuth: true,
@@ -951,7 +952,7 @@ const routes: Array<RouteRecordRaw> = [
                         children: [
                             {
                                 path: '/spot_trade/warehouse_receipt_trade/warehouse_receipt_trade_floating_price',
-                                name: 'warehouse_receipt_trade_floating_price',
+                                name: EnumRouterName.warehouse_receipt_trade_floating_price,
                                 component: () => import('@/views/market/spot_trade/warehouse_receipt_trade/warehouse_receipt_trade_floating_price/index.vue'),
                                 meta: {
                                     requireAuth: true,
@@ -959,7 +960,7 @@ const routes: Array<RouteRecordRaw> = [
                             },
                             {
                                 path: '/spot_trade/warehouse_receipt_trade/warehouse_receipt_trade_price',
-                                name: 'warehouse_receipt_trade_price',
+                                name: EnumRouterName.warehouse_receipt_trade_price,
                                 component: () => import('@/views/market/spot_trade/warehouse_receipt_trade/warehouse_receipt_trade_price/index.vue'),
                                 meta: {
                                     requireAuth: true,
@@ -968,25 +969,25 @@ const routes: Array<RouteRecordRaw> = [
                         ]
                     },
                     {
-                        path: '/spot_trade/capacity_pre_sale',
-                        name: 'capacity_pre_sale',
-                        component: () => import('@/views/market/spot_trade/capacity_pre_sale/index.vue'),
+                        path: '/spot_trade/warehouse_pre_sale',
+                        name: EnumRouterName.warehouse_pre_sale,
+                        component: () => import('@/views/market/spot_trade/warehouse_pre_sale/index.vue'),
                         meta: {
                             requireAuth: true,
                         },
                         children: [
                             {
-                                path: '/spot_trade/capacity_pre_sale/capacity_pre_sale_floating_price',
-                                name: 'capacity_pre_sale_floating_price',
-                                component: () => import('@/views/market/spot_trade/capacity_pre_sale/capacity_pre_sale_floating_price/index.vue'),
+                                path: '/spot_trade/warehouse_pre_sale/warehouse_pre_sale_floating_price',
+                                name: EnumRouterName.warehouse_pre_sale_floating_price,
+                                component: () => import('@/views/market/spot_trade/warehouse_pre_sale/warehouse_pre_sale_floating_price/index.vue'),
                                 meta: {
                                     requireAuth: true,
                                 },
                             },
                             {
-                                path: '/spot_trade/capacity_pre_sale/capacity_pre_sale_price',
-                                name: 'capacity_pre_sale_price',
-                                component: () => import('@/views/market/spot_trade/capacity_pre_sale/capacity_pre_sale_price/index.vue'),
+                                path: '/spot_trade/warehouse_pre_sale/warehouse_pre_sale_price',
+                                name: EnumRouterName.warehouse_pre_sale_price,
+                                component: () => import('@/views/market/spot_trade/warehouse_pre_sale/warehouse_pre_sale_price/index.vue'),
                                 meta: {
                                     requireAuth: true,
                                 },

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

@@ -32,9 +32,10 @@ import { handleComposeTable_detail } from '@/common/setup/table/compose';
 import { TabList } from '@/common/components/description/interface';
 import { queryResultLoadingAndInfo } from '@/common/methods/request/resultInfo';
 import Description from '@/common/components/description/index.vue';
+import { EnumRouterName } from '@/common/constants/enumRouterName';
 
 export default defineComponent({
-    name: 'exposure-futures',
+    name: EnumRouterName.exposure_futures,
     components: {
         filterCustomTable,
         Description,
@@ -48,7 +49,7 @@ export default defineComponent({
             queryFn: queryTableAction, // 查询表格数据
             tableName: 'table_pcweb_exposure_futuresposition', // 表头key
             tableFilterKey: ['MiddleGoodsName'], // 表格过滤字段
-            menuType: 'exposure_futures', // 当前tab页对应的code
+            menuType: EnumRouterName.exposure_futures, // 当前tab页对应的code
         };
         const {
             visible,

+ 3 - 2
src/views/business/exposure/list/realTime/index.vue

@@ -34,9 +34,10 @@ import { ComposeTableDetailParam } from '@/common/setup/table/interface';
 import { TabList } from '@/common/components/description/interface';
 import { handleComposeTable_detail } from '@/common/setup/table/compose';
 import { queryResultLoadingAndInfo } from '@/common/methods/request/resultInfo';
+import { EnumRouterName } from '@/common/constants/enumRouterName';
 
 export default defineComponent({
-    name: 'exposure-real-time',
+    name: EnumRouterName.exposure_realtime,
     components: {
         Description,
         filterCustomTable,
@@ -50,7 +51,7 @@ export default defineComponent({
             queryFn: queryTableAction, // 查询表格数据
             tableName: 'table_pcweb_exposure', // 表头key
             tableFilterKey: ['MiddleGoodsName'], // 表格过滤字段
-            menuType: 'exposure_realtime', // 当前tab页对应的code
+            menuType: EnumRouterName.exposure_realtime, // 当前tab页对应的code
         };
         const {
             visible,

+ 3 - 2
src/views/business/exposure/list/spot/index.vue

@@ -32,9 +32,10 @@ import { queryTableList } from '@/common/setup/table';
 import { queryResultLoadingAndInfo } from '@/common/methods/request/resultInfo';
 import Description from '@/common/components/description/index.vue';
 import { TabList } from '@/common/components/description/interface';
+import { EnumRouterName } from '@/common/constants/enumRouterName';
 
 export default defineComponent({
-    name: 'exposure-spot',
+    name: EnumRouterName.exposure_spot,
     components: {
         Description,
         filterCustomTable,
@@ -48,7 +49,7 @@ export default defineComponent({
             queryFn: queryTableAction, // 查询表格数据
             tableName: 'table_pcweb_exposure_spotposition', // 表头key
             tableFilterKey: ['MiddleGoodsName'], // 表格过滤字段
-            menuType: 'exposure_spot', // 当前tab页对应的code
+            menuType: EnumRouterName.exposure_spot, // 当前tab页对应的code
         };
         const {
             visible,

+ 3 - 2
src/views/business/plan/components/add/index.vue

@@ -93,6 +93,7 @@
                        name="PlanQty">
             <a-input-number class="dialogInput"
                             style="width: 200px"
+                            max="99999999999"
                             v-model:value="formState.PlanQty"
                             placeholder="请输入计划量"></a-input-number>
           </a-form-item>
@@ -187,15 +188,15 @@ export default defineComponent({
                     PlanQty: Number(param.PlanQty), // 计划数量
                     OperateType: OperateType,
                     Currencyid: param.Currencyid,
-                    ConvertFactor: param.ConvertFactor,
                     ApplyId: Number(loginId),
                     PlanTime: formatTime(new Date(), 's'),
                     ProductType: 1,
                     Biztype: 1,
                     AreaUserID: userid,
                     Remark: param.Remark,
-                    Tradeuserid: param.Tradeuserid, // 交易用户id
                 };
+                if ( param.ConvertFactor) reqParam.ConvertFactor = param.ConvertFactor
+                if ( param.Tradeuserid) reqParam.Tradeuserid = param.Tradeuserid
                 requestResultLoadingAndInfo(hedgePlanReq, reqParam, loading, OperateType === 1 ? ['保存草稿成功', '保存草稿失败:'] : ['提交申请成功', '提交申请失败:']).then(() => {
                     cancel(true);
                 });

+ 3 - 2
src/views/business/plan/list/audit/index.vue

@@ -49,13 +49,14 @@ 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';
+import { EnumRouterName } from '@/common/constants/enumRouterName';
 
 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',
+    name: EnumRouterName.plan_audit,
     components: {
         contextMenu,
         BtnList,
@@ -72,7 +73,7 @@ export default defineComponent({
         // 表格通用逻辑
         const param: ComposeTableParam = {
             queryFn: queryTableAction,
-            menuType: 'plan_audit',
+            menuType: EnumRouterName.plan_audit,
             tableName: 'table_pcweb_hedging_plan',
             tableFilterKey: ['contracttype', 'hedgeplanno', 'deliverygoodsname'],
             isDetail: true,

+ 3 - 2
src/views/business/plan/list/running/index.vue

@@ -47,11 +47,12 @@ 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';
+import { EnumRouterName } from '@/common/constants/enumRouterName';
 
 const Detail = defineAsyncComponent(() => import('../../components/detail/index.vue'));
 
 export default defineComponent({
-    name: 'spot-contract-peddding',
+    name: EnumRouterName.plan_running,
     components: {
         contextMenu,
         BtnList,
@@ -66,7 +67,7 @@ export default defineComponent({
         // 表格通用逻辑
         const param: ComposeTableParam = {
             queryFn: queryTableAction,
-            menuType: 'plan_running',
+            menuType: EnumRouterName.plan_running,
             tableName: 'table_pcweb_hedging_plan',
             tableFilterKey: ['contracttype', 'hedgeplanno', 'deliverygoodsname'],
             isDetail: true,

+ 3 - 2
src/views/business/plan/list/uncommitted/index.vue

@@ -48,6 +48,7 @@ import { getPlanContractType, getPlanStatusName } from '@/views/business/plan/se
 import { BtnList as BtnListType } from '@/common/components/btnList/interface';
 import { Ermcp3HedgePlan } from '@/services/go/ermcp/plan/interface';
 import { QueryHedgePlan } from '@/services/go/ermcp/plan';
+import { EnumRouterName } from '@/common/constants/enumRouterName';
 
 const Detail = defineAsyncComponent(() => import('../../components/detail/index.vue'));
 const Add = defineAsyncComponent(() => import('../../components/add/index.vue'));
@@ -55,7 +56,7 @@ const Delete = defineAsyncComponent(() => import('../../components/delete/index.
 const Modfiy = defineAsyncComponent(() => import('../../components/modify/index.vue'));
 
 export default defineComponent({
-    name: 'plan-uncommitted',
+    name: EnumRouterName.plan_uncommitted,
     components: {
         contextMenu,
         BtnList,
@@ -73,7 +74,7 @@ export default defineComponent({
         // 表格通用逻辑
         const param: ComposeTableParam = {
             queryFn: queryTableAction,
-            menuType: 'plan_uncommitted',
+            menuType: EnumRouterName.plan_uncommitted,
             tableName: 'table_pcweb_hedging_plan',
             tableFilterKey: ['contracttype', 'hedgeplanno', 'deliverygoodsname'],
             isDetail: true,

+ 3 - 2
src/views/business/purchase/list/all/index.vue

@@ -40,6 +40,7 @@ import { queryTableList, BtnList, contextMenu, defineAsyncComponent, defineCompo
 import { Ermcp3SellBuyContract } from '../index';
 import { filterCustomTable } from '../../components';
 import { QueryPurchase } from '@/services/go/ermcp/purchase';
+import { EnumRouterName } from '@/common/constants/enumRouterName';
 
 const Detail = defineAsyncComponent(() => import('../../components/detail/index.vue'));
 const Settlement = defineAsyncComponent(() => import('../../components/settlement/index.vue')); //交收登记
@@ -49,7 +50,7 @@ const Storage = defineAsyncComponent(() => import('../../components/storage/inde
 const SomePrice = defineAsyncComponent(() => import('../../components/someprice/index.vue')); //采购点价登记
 
 export default defineComponent({
-    name: 'purchase-all',
+    name: EnumRouterName.purchase_all,
     components: {
         contextMenu,
         filterCustomTable,
@@ -70,7 +71,7 @@ export default defineComponent({
         // 表格通用逻辑
         const param: ComposeTableParam = {
             queryFn: queryTableAction,
-            menuType: 'purchase_all',
+            menuType: EnumRouterName.purchase_all,
             tableName: 'table_pcweb_purchase_all',
             tableFilterKey: ['accountname', 'contractno', 'deliverygoodsname', 'convertfactor', 'goodsname'],
             isDetail: true,

+ 3 - 2
src/views/business/purchase/list/pending/index.vue

@@ -40,12 +40,13 @@ import { queryTableList, BtnList, contextMenu, defineAsyncComponent, defineCompo
 import { Ermcp3SellBuyContract } from '../index';
 import { filterCustomTable } from '../../components';
 import { QueryPurchase } from '@/services/go/ermcp/purchase';
+import { EnumRouterName } from '@/common/constants/enumRouterName';
 
 const Detail = defineAsyncComponent(() => import('../../components/detail/index.vue'));
 const SomePrice = defineAsyncComponent(() => import('../../components/someprice/index.vue')); //采购点价登记
 
 export default defineComponent({
-    name: 'purchase-peddding',
+    name: EnumRouterName.purchase_pending,
     components: {
         contextMenu,
         filterCustomTable,
@@ -61,7 +62,7 @@ export default defineComponent({
         // 表格通用逻辑
         const param: ComposeTableParam = {
             queryFn: queryTableAction,
-            menuType: 'purchase_pending',
+            menuType: EnumRouterName.purchase_pending,
             tableName: 'table_pcweb_purchase_pointprice',
             tableFilterKey: ['accountname', 'contractno', 'deliverygoodsname', 'convertfactor', 'goodsname'],
             isDetail: true,

+ 3 - 2
src/views/business/purchase/list/performance/index.vue

@@ -40,6 +40,7 @@ import { queryTableList, BtnList, contextMenu, defineAsyncComponent, defineCompo
 import { filterCustomTable } from '../../components';
 import { QueryPurchase } from '@/services/go/ermcp/purchase';
 import { Ermcp3SellBuyContract } from '@/views/business/sell/list';
+import { EnumRouterName } from '@/common/constants/enumRouterName';
 
 const Detail = defineAsyncComponent(() => import('../../components/detail/index.vue'));
 const Settlement = defineAsyncComponent(() => import('../../components/settlement/index.vue')); //交收登记
@@ -48,7 +49,7 @@ const Invoice = defineAsyncComponent(() => import('../../components/invoice/inde
 const Storage = defineAsyncComponent(() => import('../../components/storage/index.vue')); // 入库登记
 
 export default defineComponent({
-    name: 'purchase-performance',
+    name: EnumRouterName.purchase_performance,
     components: {
         contextMenu,
         filterCustomTable,
@@ -67,7 +68,7 @@ export default defineComponent({
         // 表格通用逻辑
         const param: ComposeTableParam = {
             queryFn: queryTableAction,
-            menuType: 'purchase_performance',
+            menuType: EnumRouterName.purchase_performance,
             tableName: 'table_pcweb_purchase_settle',
             tableFilterKey: ['accountname', 'contractno', 'deliverygoodsname', 'convertfactor', 'goodsname'],
             isDetail: true,

+ 3 - 2
src/views/business/sell/list/all/index.vue

@@ -35,6 +35,7 @@
 </template>
 
 <script lang="ts">
+import { EnumRouterName } from '@/common/constants/enumRouterName';
 import { queryTableList, BtnList, contextMenu, defineAsyncComponent, defineComponent, ModalEnum, handleComposeTable, ComposeTableParam } from '@/common/export/commonTable';
 import { QueryWareHouse } from '@/services/go/ermcp/sell';
 import { Ermcp3SellBuyContract } from '@/views/business/purchase/list';
@@ -48,7 +49,7 @@ const Storage = defineAsyncComponent(() => import('../../components/storage/inde
 const SomePrice = defineAsyncComponent(() => import('../../components/someprice/index.vue')); //采购点价登记
 
 export default defineComponent({
-    name: 'sell-all',
+    name: EnumRouterName.sell_all,
     components: {
         contextMenu,
         filterCustomTable,
@@ -68,7 +69,7 @@ export default defineComponent({
         // 表格通用逻辑
         const param: ComposeTableParam = {
             queryFn: queryTableAction,
-            menuType: 'sell_all',
+            menuType: EnumRouterName.sell_all,
             tableName: 'table_pcweb_sales_all',
             tableFilterKey: ['accountname', 'contractno', 'deliverygoodsname', 'convertfactor', 'goodsname'],
             isDetail: true,

+ 3 - 2
src/views/business/sell/list/pending/index.vue

@@ -35,6 +35,7 @@
 </template>
 
 <script lang="ts">
+import { EnumRouterName } from '@/common/constants/enumRouterName';
 import { queryTableList, BtnList, contextMenu, defineAsyncComponent, defineComponent, ModalEnum, handleComposeTable, ComposeTableParam } from '@/common/export/commonTable';
 import { QueryWareHouse } from '@/services/go/ermcp/sell';
 import { Ermcp3SellBuyContract } from '@/views/business/purchase/list';
@@ -44,7 +45,7 @@ const Detail = defineAsyncComponent(() => import('../../components/detail/index.
 const SomePrice = defineAsyncComponent(() => import('../../components/someprice/index.vue')); //采购点价登记
 
 export default defineComponent({
-    name: 'sell-peddding',
+    name: EnumRouterName.sell_pending,
     components: {
         contextMenu,
         filterCustomTable,
@@ -60,7 +61,7 @@ export default defineComponent({
         // 表格通用逻辑
         const param: ComposeTableParam = {
             queryFn: queryTableAction,
-            menuType: 'sell_pending',
+            menuType: EnumRouterName.sell_pending,
             tableName: 'table_pcweb_sales_pointprice',
             tableFilterKey: ['accountname', 'contractno', 'deliverygoodsname', 'convertfactor', 'goodsname'],
             isDetail: true,

+ 3 - 2
src/views/business/sell/list/performance/index.vue

@@ -35,6 +35,7 @@
 </template>
 
 <script lang="ts">
+import { EnumRouterName } from '@/common/constants/enumRouterName';
 import { queryTableList, BtnList, contextMenu, defineAsyncComponent, defineComponent, ModalEnum, handleComposeTable, ComposeTableParam } from '@/common/export/commonTable';
 import { QueryWareHouse } from '@/services/go/ermcp/sell';
 import { Ermcp3SellBuyContract } from '@/views/business/purchase/list';
@@ -47,7 +48,7 @@ const Invoice = defineAsyncComponent(() => import('../../components/invoice/inde
 const Storage = defineAsyncComponent(() => import('../../components/storage/index.vue')); // 入库登记
 
 export default defineComponent({
-    name: 'sell_performance',
+    name: EnumRouterName.sell_performance,
     components: {
         contextMenu,
         filterCustomTable,
@@ -66,7 +67,7 @@ export default defineComponent({
         // 表格通用逻辑
         const param: ComposeTableParam = {
             queryFn: queryTableAction,
-            menuType: 'sell_performance',
+            menuType: EnumRouterName.sell_performance,
             tableName: 'table_pcweb_sales_settle',
             tableFilterKey: ['accountname', 'contractno', 'deliverygoodsname', 'convertfactor', 'goodsname'],
             isDetail: true,

+ 1 - 1
src/views/information/account_info/compoments/modify-managers/index.vue

@@ -23,7 +23,7 @@
                        name="userid">
             <a-select class="inlineFormSelect"
                       style="width: 200px"
-                      v-model:value="formState.userid"
+                      v-model:value="selectedData.clientroleid"
                       placeholder="请选择账户权限">
               <a-select-option v-for="(item, index) in tableList"
                                :key="index"

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

@@ -77,6 +77,7 @@ import { _handleTableList } from '../setup';
 import { ref } from 'vue';
 import { handleModalComponent } from '@/common/setup/asyncComponent';
 import { getBtnList_ } from '@/common/setup/table/button';
+import { EnumRouterName } from '@/common/constants/enumRouterName';
 
 const Add = defineAsyncComponent(() => import('../../compoments/add-business/index.vue'));
 const Modify = defineAsyncComponent(() => import('../../compoments/modify-business/index.vue'));
@@ -104,7 +105,7 @@ export default defineComponent({
         // 加载状态
         const loading = ref<boolean>(false);
         const { tableList, queryTable } = handlerManagerList(loading, 1);
-        const [firstBtn, secondBtn] = getBtnList_('account_info_business', true).value;
+        const [firstBtn, secondBtn] = getBtnList_(EnumRouterName.account_info_business, true).value;
 
         // 处理根据状态显示对应按钮
         function handleBtnAction() {

+ 3 - 3
src/views/information/goods/components/rightSpot/index.vue

@@ -9,13 +9,13 @@
           </svg>
           {{selctedDeliveryGoods.data.deliverygoodsname}}({{selctedDeliveryGoods.data.enumdicname}})
         </span>
-        <span class="green ml10">{{selctedDeliveryGoods.data.dgstatus ? '正常' : '停用'}}</span>
+        <span class="green ml10">{{selctedDeliveryGoods.data.isvalid ? '正常' : '停用'}}</span>
       </div>
       <div class="tltBtns">
-        <template v-if="isNormal">
+        <template v-if="selctedDeliveryGoods.data.isvalid">
           <BtnList :btnList="forDataBtn" />
         </template>
-        <template>
+        <template v-else>
           <a-button class="blueBtn">恢复</a-button>
         </template>
       </div>

+ 11 - 13
src/views/information/goods/list/spot-variety/setup.ts

@@ -64,19 +64,17 @@ export function handleDG() {
         deliveryGoodsList.value = res;
         res.forEach(e => {
             const { dgstatus, isvalid, deliverygoodsname, deliverygoodsid } = e.data
-            if (isvalid) { // 有效 
-                const normal = 'goods_info_spot_normal', disable = 'goods_info_spot_disable';
-                const result = { key: deliverygoodsid.toString(), title: deliverygoodsname }
-                if (dgstatus) { //1:正常
-                    if (menuMap.has(normal)) {
-                        const index = menuMap.get(normal) as number;
-                        menuList.value[index].children?.push(result)
-                    }
-                } else {    // 0:未激活 
-                    if (menuMap.has(disable)) {
-                        const index = menuMap.get(disable) as number;
-                        menuList.value[index].children?.push(result)
-                    }
+            const normal = 'goods_info_spot_normal', disable = 'goods_info_spot_disable';
+            const result = { key: deliverygoodsid.toString(), title: deliverygoodsname }
+            if (isvalid) { //1:正常
+                if (menuMap.has(normal)) {
+                    const index = menuMap.get(normal) as number;
+                    menuList.value[index].children?.push(result)
+                }
+            } else {    // 0:未激活 
+                if (menuMap.has(disable)) {
+                    const index = menuMap.get(disable) as number;
+                    menuList.value[index].children?.push(result)
                 }
             }
         })

+ 3 - 2
src/views/information/spot-contract/list/checkpending/index.vue

@@ -78,13 +78,14 @@ 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 { EnumRouterName } from '@/common/constants/enumRouterName';
 
 const Detail = defineAsyncComponent(() => import('../../components/detail/index.vue'));
 const Check = defineAsyncComponent(() => import('../../components/check/index.vue'));
 const Cancel = defineAsyncComponent(() => import('../../components/cancel/index.vue'));
 
 export default defineComponent({
-    name: 'spot-contract-peddding',
+    name: EnumRouterName.spot_contract_checkpending,
     components: {
         filterCustomTable,
         contextMenu,
@@ -105,7 +106,7 @@ export default defineComponent({
         // 表格通用逻辑
         const param: ComposeTableParam = {
             queryFn: queryTableAction,
-            menuType: 'spot_contract_checkpending',
+            menuType: EnumRouterName.spot_contract_checkpending,
             tableName: 'table_pcweb_delivery',
             tableFilterKey: ['contracttype', 'pricetype', 'contractno'],
             tableFilterCB,

+ 3 - 2
src/views/information/spot-contract/list/finished/index.vue

@@ -80,11 +80,12 @@ import { formatTime, formatValue } from '@/common/methods';
 
 import { Ermcp3ContractRsp } from '@/services/go/ermcp/spot-contract/interface';
 import { QuerySpotContract } from '@/services/go/ermcp/spot-contract';
+import { EnumRouterName } from '@/common/constants/enumRouterName';
 
 const Detail = defineAsyncComponent(() => import('../../components/detail/index.vue'));
 
 export default defineComponent({
-    name: 'spot-contract-done',
+    name: EnumRouterName.spot_contract_finished,
     components: {
         contextMenu,
         BtnList,
@@ -102,7 +103,7 @@ export default defineComponent({
         // 表格通用逻辑
         const param: ComposeTableParam = {
             queryFn: queryTableAction,
-            menuType: 'spot_contract_finished',
+            menuType: EnumRouterName.spot_contract_finished,
             tableName: 'table_pcweb_delivery',
             tableFilterKey: ['contracttype', 'pricetype', 'contractno'],
             tableFilterCB,

+ 3 - 2
src/views/information/spot-contract/list/performance/index.vue

@@ -80,12 +80,13 @@ import { QuerySpotContract } from '@/services/go/ermcp/spot-contract';
 
 import { getBizTypeName, getContractStatusName, getContractTypeName, getPriceTypeName } from '@/common/constants/enumsName';
 import { formatTime, formatValue } from '@/common/methods';
+import { EnumRouterName } from '@/common/constants/enumRouterName';
 
 const Detail = defineAsyncComponent(() => import('../../components/detail/index.vue'));
 const Finish = defineAsyncComponent(() => import('../../components/finish/index.vue'));
 
 export default defineComponent({
-    name: 'spot-contract-performance',
+    name: EnumRouterName.spot_contract_performance,
     components: {
         filterCustomTable,
         contextMenu,
@@ -105,7 +106,7 @@ export default defineComponent({
         // 表格通用逻辑
         const param: ComposeTableParam = {
             queryFn: queryTableAction,
-            menuType: 'spot_contract_performance',
+            menuType: EnumRouterName.spot_contract_performance,
             tableName: 'table_pcweb_delivery',
             tableFilterKey: ['contracttype', 'pricetype', 'contractno'],
             tableFilterCB,

+ 3 - 2
src/views/information/spot-contract/list/unsubmitted/index.vue

@@ -79,6 +79,7 @@ import { queryBusinessManager, findManagerName, tableFilterCB } 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';
 
 const Add = defineAsyncComponent(() => import('../../components/add/index.vue'));
 const Detail = defineAsyncComponent(() => import('../../components/detail/index.vue'));
@@ -86,7 +87,7 @@ const Modify = defineAsyncComponent(() => import('../../components/modify/index.
 const Delete = defineAsyncComponent(() => import('../../components/delete/index.vue'));
 
 export default defineComponent({
-    name: 'spot-contract-not-commit',
+    name: EnumRouterName.spot_contract_unsubmitted,
     components: {
         filterCustomTable,
         contextMenu,
@@ -108,7 +109,7 @@ export default defineComponent({
         // 表格通用逻辑
         const param: ComposeTableParam = {
             queryFn: queryTableAction,
-            menuType: 'spot_contract_unsubmitted',
+            menuType: EnumRouterName.spot_contract_unsubmitted,
             tableName: 'table_pcweb_delivery',
             tableFilterKey: ['contracttype', 'pricetype', 'contractno'],
             tableFilterCB,

+ 1 - 1
src/views/manage/inventory-review/components/checkoutAudit/index.vue

@@ -78,7 +78,7 @@
           </a-col>
           <a-col :span="12">
             <a-form-item label="商品">
-              <span class="white">{{ formatValue(selectedRow.deliverygoodsname) }}</span>
+              <span class="white">{{ formatValue(selectedRow.wrstandardname) }}</span>
             </a-form-item>
           </a-col>
         </a-row>

+ 0 - 17
src/views/market/spot_trade/capacity_pre_sale/capacity_pre_sale_floating_price/index.vue

@@ -1,17 +0,0 @@
-<template>
-  <!-- 仓单预售 浮动价预售-->
-  <div class="capacity_pre_sale_floating_price">
-    浮动价预售
-  </div>
-</template>
-
-<script lang="ts">
-import { defineComponent } from '@/common/export/commonTable';
-
-export default defineComponent({
-    name: 'capacity_pre_sale_floating_price',
-    setup() {
-        return {};
-    },
-});
-</script>

+ 0 - 58
src/views/market/spot_trade/capacity_pre_sale/index.vue

@@ -1,58 +0,0 @@
-<template>
-    <!-- 仓单预售 -->
-    <div class="warehouse_receipt_trade">
-        <router-view></router-view>
-        <ThridMenu :list="tabList" :selectedKey="index" @selectMenu="changeTab" />
-    </div>
-</template>
-
-<script lang="ts">
-import { defineComponent, ref } from 'vue';
-import { getThirdMenuData } from '@/common/setup/table/button';
-import { TabList } from '@/common/components/description/interface';
-import ThridMenu from '@/common/components/thirdMenu/index.vue';
-import { useRoute, useRouter } from 'vue-router';
-import { initData } from '@/common/methods';
-
-export default defineComponent({
-    name: 'capacity_pre_sale',
-    components: {
-        ThridMenu,
-    },
-    setup() {
-        const list = getThirdMenuData();
-        const item = list.find((e) => e.code === 'capacity_pre_sale');
-        const tabList = item
-            ? item.children.map((e) => {
-                  return { lable: e.title, code: e.code };
-              })
-            : [];
-        const router = useRouter();
-        const route = useRoute();
-        const index = ref<string>('0');
-        initData(() => {
-            if (tabList.length) {
-                const name = route.name as string;
-                const result = tabList.findIndex((e) => e.code === name);
-                // 处理页面刷新
-                if (result !== -1) {
-                    router.push({ name });
-                    index.value = result.toString();
-                } else {
-                    router.push({ name: tabList[0].code });
-                    index.value = '0';
-                }
-            }
-        });
-        function changeTab(index: number, current: TabList) {
-            router.push({ name: current.code });
-        }
-        return { tabList, changeTab, index };
-    },
-});
-</script>
-<style lang="less">
-.warehouse_receipt_trade {
-    height: calc(100% - 40px);
-}
-</style>

+ 59 - 0
src/views/market/spot_trade/components/buy-sell-market/components/buy/index.vue

@@ -0,0 +1,59 @@
+<template>
+    <!-- 买大厅 -->
+    <a-table
+        :columns="columns"
+        class="buyHallTable"
+        :scroll="{ x: '100%', y: 'calc(100% - 61px)' }"
+        :pagination="false"
+        :loading="loading"
+        :expandedRowKeys="expandedRowKeys"
+        :customRow="Rowclick"
+        rowKey="key"
+        :data-source="tableList"
+    ></a-table>
+</template>
+
+<script lang="ts">
+import { EnumRouterName } from '@/common/constants/enumRouterName';
+import { ComposeTableParam, defineComponent, handleComposeTable, ModalEnum, queryTableList } from '@/common/export/commonTable';
+import { _closeModal } from '@/common/setup/modal/modal';
+import { queryAgreementConfig } from '@/services/go/ermcp/qhj';
+import { queryOrderQuoteDetail } from '@/services/go/wrtrade';
+import { QueryOrderQuoteDetailReq, WrOrderQuoteDetail } from '@/services/go/wrtrade/interface';
+
+export default defineComponent({
+    emits: ['cancel'],
+    name: 'warehouse_receipt_trade_price_delisting_buy',
+    props: {},
+    setup(props, context) {
+        // 表格列表数据
+        const { loading, tableList, queryTable } = queryTableList<WrOrderQuoteDetail>();
+        // 获取列表数据
+        const queryTableAction = () => {
+            // const param: QueryOrderQuoteReq = {
+            //     wrpricetype: 2,
+            //     haswr: 1,
+            // };
+            // queryTable(queryOrderQuote, param);
+            queryTable(queryAgreementConfig);
+        };
+        // 表格通用逻辑
+        const param: ComposeTableParam = {
+            queryFn: queryTableAction,
+            menuType: EnumRouterName.warehouse_receipt_trade_floating_price,
+            tableName: 'table_pcweb_agreement',
+            tableFilterKey: [],
+            isDetail: false,
+        };
+        return {
+            ...handleComposeTable<WrOrderQuoteDetail>(param),
+            loading,
+            tableList,
+        };
+    },
+});
+</script>
+<style lang="less">
+.buy-sell-market {
+}
+</style>

+ 60 - 0
src/views/market/spot_trade/components/buy-sell-market/components/sell/index.vue

@@ -0,0 +1,60 @@
+<template>
+    <!-- 卖大厅 -->
+
+    <a-table
+        :columns="columns"
+        class="sellHallTable"
+        :scroll="{ x: '100%', y: 'calc(100% - 61px)' }"
+        :pagination="false"
+        :loading="loading"
+        :expandedRowKeys="expandedRowKeys"
+        :customRow="Rowclick"
+        rowKey="key"
+        :data-source="tableList"
+    ></a-table>
+</template>
+
+<script lang="ts">
+import { EnumRouterName } from '@/common/constants/enumRouterName';
+import { ComposeTableParam, defineComponent, handleComposeTable, ModalEnum, queryTableList } from '@/common/export/commonTable';
+import { _closeModal } from '@/common/setup/modal/modal';
+import { queryAgreementConfig } from '@/services/go/ermcp/qhj';
+import { queryOrderQuoteDetail } from '@/services/go/wrtrade';
+import { QueryOrderQuoteDetailReq, WrOrderQuoteDetail } from '@/services/go/wrtrade/interface';
+
+export default defineComponent({
+    emits: ['cancel'],
+    name: 'warehouse_receipt_trade_price_delisting_sell',
+    props: {},
+    setup(props, context) {
+        // 表格列表数据
+        const { loading, tableList, queryTable } = queryTableList<WrOrderQuoteDetail>();
+        // 获取列表数据
+        const queryTableAction = () => {
+            // const param: QueryOrderQuoteReq = {
+            //     wrpricetype: 2,
+            //     haswr: 1,
+            // };
+            // queryTable(queryOrderQuote, param);
+            queryTable(queryAgreementConfig);
+        };
+        // 表格通用逻辑
+        const param: ComposeTableParam = {
+            queryFn: queryTableAction,
+            menuType: EnumRouterName.warehouse_receipt_trade_floating_price,
+            tableName: 'table_pcweb_agreement',
+            tableFilterKey: [],
+            isDetail: false,
+        };
+        return {
+            ...handleComposeTable<WrOrderQuoteDetail>(param),
+            loading,
+            tableList,
+        };
+    },
+});
+</script>
+<style lang="less">
+.buy-sell-market {
+}
+</style>

+ 109 - 0
src/views/market/spot_trade/components/buy-sell-market/index.vue

@@ -0,0 +1,109 @@
+<template>
+  <!-- 买卖大厅 -->
+  <div class="buy-sell-market">
+    <!--<div>
+             <button @click="cancel">关闭</button>
+        </div>-->
+    <div class="buy-sell-market-title">
+      <a class="backIcon"
+         @click="cancel">
+        <LeftOutlined />
+      </a>
+      <div class="titleBtn">
+        <div class="name">螺纹钢</div>
+        <div class="arrowRightIcon"></div>
+      </div>
+      <div class="titleBtn titleBtn2">
+        <div class="arrowLeftIcon"></div>
+        <div class="name">12mm-江铜</div>
+        <div class="arrowRightIcon"></div>
+      </div>
+      <div class="titleBtn titleBtn3">
+        <div class="arrowLeftIcon"></div>
+        <div class="name">华南仓库</div>
+      </div>
+      <div class="green">
+        <div class="numBlock">
+          <div class="first">卖基差</div>
+          <div class="last">125.00</div>
+        </div>
+        <div class="numBlock">
+          <div class="first">卖量</div>
+          <div class="last">10000</div>
+        </div>
+      </div>
+      <div class="red ml35">
+        <div class="numBlock">
+          <div class="first">买基差</div>
+          <div class="last">120.00</div>
+        </div>
+        <div class="numBlock">
+          <div class="first">买量</div>
+          <div class="last">10000</div>
+        </div>
+      </div>
+      <div class="market">
+        <div class="first">IC2104</div>
+        <div class="last red">6291.0</div>
+        <LineChartOutlined />
+      </div>
+      <a-button class="publishBuy">发布求购</a-button>
+      <a-button class="detailBtn">详情</a-button>
+    </div>
+    <a-row>
+      <a-col :span="12">
+        <Buy />
+      </a-col>
+      <a-col :span="12">
+        <Sell />
+      </a-col>
+    </a-row>
+  </div>
+</template>
+
+<script lang="ts">
+import { EnumRouterName } from '@/common/constants/enumRouterName';
+import { ComposeTableParam, defineComponent, handleComposeTable, ModalEnum, queryTableList } from '@/common/export/commonTable';
+import { _closeModal } from '@/common/setup/modal/modal';
+import { queryOrderQuoteDetail } from '@/services/go/wrtrade';
+import { QueryOrderQuoteDetailReq, WrOrderQuoteDetail } from '@/services/go/wrtrade/interface';
+import { LeftOutlined } from '@ant-design/icons-vue';
+import { handleBuyAndSellList } from './setup';
+import Buy from './components/buy/index.vue';
+import Sell from './components/sell/index.vue';
+import { LineChartOutlined } from '@ant-design/icons-vue';
+
+export default defineComponent({
+    emits: ['cancel'],
+    name: ModalEnum.warehouse_receipt_trade_price_delisting,
+    props: {
+        wrpricetype: {
+            // 价格方式 - 1:固定价 2-浮动价
+            default: 1,
+            type: Number,
+        },
+        haswr: {
+            default: 0, // 是否有仓单 0-没有 1-有(仓单贸易填1,仓单预售填0)
+            type: Number,
+        },
+    },
+    components: {
+        Buy,
+        Sell,
+        LeftOutlined,
+        LineChartOutlined,
+    },
+    setup(props, context) {
+        const { visible, cancel } = _closeModal(context);
+
+        return {
+            cancel,
+            visible,
+        };
+    },
+});
+</script>
+<style lang="less">
+.buy-sell-market {
+}
+</style>

+ 22 - 0
src/views/market/spot_trade/components/buy-sell-market/setup.ts

@@ -0,0 +1,22 @@
+import { EnumRouterName } from '@/common/constants/enumRouterName';
+import { TableKey } from '@/common/methods/table/interface';
+import { getTableColumns, getTableEvent, queryTableList } from "@/common/setup/table";
+import { getBtnList_ } from '@/common/setup/table/button';
+import { WrOrderQuoteDetail } from "@/services/go/wrtrade/interface";
+
+
+export function handleBuyAndSellList<T>(menuType: EnumRouterName, isDetail: boolean, tableName: keyof TableKey) {
+    // 表格列表数据
+    const { loading, tableList, queryTable } = queryTableList<WrOrderQuoteDetail>();
+    // 表头数据
+    const { columns, registerColumn } = getTableColumns();
+    // 表格事件
+    const { expandedRowKeys, selectedRow, Rowclick } = getTableEvent<T>({});
+    // 表格操作按钮列表
+    const [firstBtn, secondBtn] = getBtnList_(menuType, isDetail).value;
+    // 注册表头信息 过滤
+    registerColumn(tableName, []);
+    return {
+        loading, tableList, columns, expandedRowKeys, selectedRow, Rowclick, firstBtn, secondBtn, queryTable
+    }
+}

+ 57 - 0
src/views/market/spot_trade/components/detail/index.vue

@@ -0,0 +1,57 @@
+<template>
+  <!-- 详情-->
+  <a-modal class="add-custom custom-detail"
+           title="详情"
+           centered
+           v-model:visible="visible"
+           :maskClosable="false"
+           @cancel="cancel"
+           width="890px">
+    <template #footer>
+      <a-button key="submit"
+                type="primary"
+                @click="cancel">关闭</a-button>
+    </template>
+    详情
+  </a-modal>
+</template>
+
+<script lang="ts">
+import { defineComponent, PropType } from 'vue';
+import { Des } from '@/common/components/commonDes';
+import { QhjAgreementConfig } from '@/services/go/ermcp/qhj/interface';
+import { _closeModal } from '@/common/setup/modal/modal';
+import { ModalEnum } from '@/common/constants/modalNameEnum';
+
+export default defineComponent({
+    emits: ['cancel'],
+    name: ModalEnum.detail,
+    components: { Des },
+    props: {
+        selectedRow: {
+            type: Object as PropType<QhjAgreementConfig>,
+            default: {},
+        },
+    },
+    setup(props, context) {
+        const { visible, cancel } = _closeModal(context);
+        return {
+            cancel,
+            visible,
+        };
+    },
+});
+</script>
+
+<style lang="less">
+.custom-detail {
+    .ant-form.inlineForm {
+        margin-top: 20px;
+    }
+    .upload {
+        .look {
+            margin-left: 0;
+        }
+    }
+}
+</style>;

+ 49 - 0
src/views/market/spot_trade/components/post_buying/index.vue

@@ -0,0 +1,49 @@
+<style lang="less">
+</style>
+<template>
+  <!-- 发布求购 -->
+  <a-modal class="add-custom custom-detail"
+           title="发布求购"
+           centered
+           v-model:visible="visible"
+           :maskClosable="false"
+           @cancel="cancel"
+           width="890px">
+    <template #footer>
+      <a-button key="submit"
+                type="primary"
+                @click="cancel">关闭</a-button>
+    </template>
+    发布求购
+  </a-modal>
+</template>
+
+<script lang="ts">
+import { defineComponent, PropType } from 'vue';
+import { Des } from '@/common/components/commonDes';
+import { QhjAgreementConfig } from '@/services/go/ermcp/qhj/interface';
+import { _closeModal } from '@/common/setup/modal/modal';
+import { ModalEnum } from '@/common/constants/modalNameEnum';
+
+export default defineComponent({
+    emits: ['cancel'],
+    name: ModalEnum.warehouse_receipt_trade_price_post_buying,
+    components: { Des },
+    props: {
+        selectedRow: {
+            type: Object as PropType<QhjAgreementConfig>,
+            default: {},
+        },
+    },
+    setup(props, context) {
+        const { visible, cancel } = _closeModal(context);
+        return {
+            cancel,
+            visible,
+        };
+    },
+});
+</script>
+
+<style lang="less">
+</style>;

+ 61 - 0
src/views/market/spot_trade/setup.ts

@@ -0,0 +1,61 @@
+import { BtnList } from '@/common/components/btnList/interface';
+import { ContextMenuTemp } from "@/common/components/contextMenu/interface";
+import { handleContextMenu } from "@/common/components/contextMenu/setup";
+import { getTableColumns, getTableEvent, initData } from "@/common/export/table";
+import { getBtnList_ } from "@/common/setup/table/button";
+import { ComposeTableParam, TableEventCB } from "@/common/setup/table/interface";
+import { onUnmounted, ref } from "vue";
+
+// 表格 + 表头 + 右键 + 单击表格 + 按钮列表 通用处理逻辑
+export function handleComposeTable<T>({ queryFn, menuType, isDetail, tableName, tableFilterKey }: ComposeTableParam) {
+    // 右键逻辑
+    const { contextMenu, openContext, closeContext: closeContextAction } = handleContextMenu();
+    // 表头数据
+    const { columns, registerColumn, updateColumn } = getTableColumns();
+    // 控制异步组件
+    const componentId = ref<string>('');
+    // 关闭组件
+    function closeComponent(isRefresh: boolean) {
+        componentId.value = '';
+        if (isRefresh) {
+            queryFn()
+        }
+    }
+    // 右键回调函数
+    const eventsCB: TableEventCB = {
+        contextmenuCB: (record: T, value: ContextMenuTemp) => {
+            // 控制打开右键
+            contextMenu.value = value
+        },
+        clickCB: (record: T) => {
+            componentId.value = 'warehouse_receipt_trade_floating_price_delisting'
+        }
+    }
+    // 表格事件
+    const { expandedRowKeys, selectedRow, Rowclick } = getTableEvent<T>(eventsCB);
+    // 表格操作按钮列表
+    const [firstBtn, secondBtn] = getBtnList_(menuType, isDetail).value;
+    // 关闭右键
+    function closeContext(value: BtnList | null) {
+        // 打开对应的弹窗组件
+        if (value) componentId.value = value.code;
+        // 关闭右键
+        closeContextAction()
+    }
+    onUnmounted(() => {
+        // 离开组件,手动关闭右键,防止出现bug
+        closeContextAction()
+    })
+    initData(() => {
+        // 获取列表数据
+        queryFn();
+        // 注册表头信息 过滤
+        registerColumn(tableName, tableFilterKey);
+    }); return {
+        contextMenu, openContext, closeContext, // 右键
+        columns, registerColumn, updateColumn,  // 表头
+        expandedRowKeys, selectedRow, Rowclick, // 表格折腾面板数据与单击、双击事件
+        componentId, closeComponent,  // 控制异步组件
+        firstBtn, secondBtn, // 表格按钮
+    }
+}

+ 28 - 0
src/views/market/spot_trade/warehouse_pre_sale/index.vue

@@ -0,0 +1,28 @@
+<template>
+  <!-- 仓单预售 -->
+  <div class="topTableHeight40">
+    <router-view></router-view>
+    <ThridMenu :list="tabList"
+               :selectedKey="index"
+               @selectMenu="changeTab" />
+  </div>
+</template>
+
+<script lang="ts">
+import { defineComponent } from 'vue';
+import ThridMenu from '@/common/components/thirdMenu/index.vue';
+import { EnumRouterName } from '@/common/constants/enumRouterName';
+import { handleMartketThirdRouter } from '@/common/setup/matket/router';
+
+export default defineComponent({
+    name: EnumRouterName.warehouse_pre_sale,
+    components: {
+        ThridMenu,
+    },
+    setup() {
+        return { ...handleMartketThirdRouter(EnumRouterName.warehouse_pre_sale) };
+    },
+});
+</script>
+<style lang="less">
+</style>

+ 18 - 0
src/views/market/spot_trade/warehouse_pre_sale/warehouse_pre_sale_floating_price/index.vue

@@ -0,0 +1,18 @@
+<template>
+    <!-- 仓单预售 浮动价预售-->
+    <div class="warehouse_pre_sale_floating_price topTableHeight">浮动价预售</div>
+</template>
+
+<script lang="ts">
+import { EnumRouterName } from '@/common/constants/enumRouterName';
+import { defineComponent } from '@/common/export/commonTable';
+
+export default defineComponent({
+    name: EnumRouterName.warehouse_pre_sale_floating_price,
+    setup() {
+        return {};
+    },
+});
+</script>
+<style lang="less">
+</style>

+ 6 - 3
src/views/market/spot_trade/capacity_pre_sale/capacity_pre_sale_price/index.vue → src/views/market/spot_trade/warehouse_pre_sale/warehouse_pre_sale_price/index.vue

@@ -1,17 +1,20 @@
 <template>
   <!-- 仓单预售 一口价预售-->
-  <div class="capacity_pre_sale_price">
+  <div class="capacity_pre_sale_price topTableHeight">
     一口价预售
   </div>
 </template>
 
 <script lang="ts">
+import { EnumRouterName } from '@/common/constants/enumRouterName';
 import { defineComponent } from '@/common/export/commonTable';
 
 export default defineComponent({
-    name: 'capacity_pre_sale_price',
+    name: EnumRouterName.warehouse_pre_sale_price,
     setup() {
         return {};
     },
 });
-</script>
+</script>
+<style lang="less">
+</style>

+ 12 - 42
src/views/market/spot_trade/warehouse_receipt_trade/index.vue

@@ -1,58 +1,28 @@
 <template>
-    <!-- 仓单贸易 -->
-    <div class="warehouse_receipt_trade">
-        <router-view></router-view>
-        <ThridMenu :list="tabList" :selectedKey="index" @selectMenu="changeTab" />
-    </div>
+  <!-- 仓单贸易 -->
+  <div class="topTableHeight40">
+    <router-view></router-view>
+    <ThridMenu :list="tabList"
+               :selectedKey="index"
+               @selectMenu="changeTab" />
+  </div>
 </template>
 
 <script lang="ts">
-import { defineComponent, ref } from 'vue';
-import { getThirdMenuData } from '@/common/setup/table/button';
-import { TabList } from '@/common/components/description/interface';
+import { defineComponent } from 'vue';
 import ThridMenu from '@/common/components/thirdMenu/index.vue';
-import { useRoute, useRouter } from 'vue-router';
-import { initData } from '@/common/methods';
+import { EnumRouterName } from '@/common/constants/enumRouterName';
+import { handleMartketThirdRouter } from '@/common/setup/matket/router';
 
 export default defineComponent({
-    name: 'warehouse_receipt_trade',
+    name: EnumRouterName.warehouse_receipt_trade,
     components: {
         ThridMenu,
     },
     setup() {
-        const list = getThirdMenuData();
-        const item = list.find((e) => e.code === 'warehouse_receipt_trade');
-        const tabList = item
-            ? item.children.map((e) => {
-                  return { lable: e.title, code: e.code };
-              })
-            : [];
-        const router = useRouter();
-        const route = useRoute();
-        const index = ref<string>('0');
-        initData(() => {
-            if (tabList.length) {
-                const name = route.name as string;
-                const result = tabList.findIndex((e) => e.code === name);
-                // 处理页面刷新
-                if (result !== -1) {
-                    router.push({ name });
-                    index.value = result.toString();
-                } else {
-                    router.push({ name: tabList[0].code });
-                    index.value = '0';
-                }
-            }
-        });
-        function changeTab(index: number, current: TabList) {
-            router.push({ name: current.code });
-        }
-        return { tabList, changeTab, index };
+        return { ...handleMartketThirdRouter(EnumRouterName.warehouse_receipt_trade) };
     },
 });
 </script>
 <style lang="less">
-.warehouse_receipt_trade {
-    height: calc(100% - 40px);
-}
 </style>

+ 57 - 8
src/views/market/spot_trade/warehouse_receipt_trade/warehouse_receipt_trade_floating_price/index.vue

@@ -1,20 +1,69 @@
 <template>
-    <!-- 仓单贸易 浮动价挂牌-->
-    <div class="capacity_pre_sale">浮动价挂牌</div>
+  <!-- 仓单贸易 浮动价挂牌-->
+  <div class="warehouse_receipt_trade_floating_price topTableHeight">
+    <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"></a-table>
+    <!-- 右键 -->
+    <contextMenu :contextMenu="contextMenu"
+                 @cancel="closeContext"
+                 :list="firstBtn"></contextMenu>
+    <component :is="componentId"
+               v-if="componentId"
+               :selectedRow="selectedRow"
+               @cancel="closeComponent"></component>
+  </div>
 </template>
 
 <script lang="ts">
-import { defineComponent } from '@/common/export/commonTable';
+import { EnumRouterName } from '@/common/constants/enumRouterName';
+import { queryTableList, BtnList, contextMenu, defineAsyncComponent, defineComponent, ModalEnum, ComposeTableParam } from '@/common/export/commonTable';
+import { queryAgreementConfig } from '@/services/go/ermcp/qhj';
+import { QueryOrderQuoteReq, WrOrderQuote } from '@/services/go/wrtrade/interface';
+import { queryOrderQuote } from '@/services/go/wrtrade';
+import { handleComposeTable } from '@/views/market/spot_trade/setup';
 
 export default defineComponent({
-    name: 'warehouse_receipt_trade_floating_price',
+    name: EnumRouterName.warehouse_receipt_trade_floating_price,
+    components: {
+        contextMenu,
+        [ModalEnum.warehouse_receipt_trade_floating_price_detail]: defineAsyncComponent(() => import('../../components/detail/index.vue')),
+        [ModalEnum.warehouse_receipt_trade_floating_price_post_buying]: defineAsyncComponent(() => import('../../components/post_buying/index.vue')),
+        [ModalEnum.warehouse_receipt_trade_floating_price_delisting]: defineAsyncComponent(() => import('../../components/buy-sell-market/index.vue')),
+    },
     setup() {
-        return {};
+        // 表格列表数据
+        const { loading, tableList, queryTable } = queryTableList<WrOrderQuote>();
+        // 获取列表数据
+        const queryTableAction = () => {
+            const param: QueryOrderQuoteReq = {
+                wrpricetype: 2,
+                haswr: 1,
+            };
+            // queryTable(queryOrderQuote, param);
+            queryTable(queryAgreementConfig);
+        };
+        // 表格通用逻辑
+        const param: ComposeTableParam = {
+            queryFn: queryTableAction,
+            menuType: EnumRouterName.warehouse_receipt_trade_floating_price,
+            tableName: 'table_pcweb_agreement',
+            tableFilterKey: [],
+            isDetail: false,
+        };
+        return {
+            ...handleComposeTable<WrOrderQuote>(param),
+            loading,
+            tableList,
+        };
     },
 });
 </script>
 <style lang="less">
-.capacity_pre_sale {
-    height: calc(100% - 28px);
-}
 </style>

+ 5 - 6
src/views/market/spot_trade/warehouse_receipt_trade/warehouse_receipt_trade_price/index.vue

@@ -1,20 +1,19 @@
 <template>
-    <!-- 仓单预售 一口价挂牌-->
-    <div class="capacity_pre_sale">一口价挂牌</div>
+  <!-- 仓单预售 一口价挂牌-->
+  <div class="warehouse_receipt_trade_price topTableHeight">一口价挂牌</div>
 </template>
 
 <script lang="ts">
+import { EnumRouterName } from '@/common/constants/enumRouterName';
 import { defineComponent } from '@/common/export/commonTable';
 
 export default defineComponent({
-    name: 'warehouse_receipt_trade_price',
+    name: EnumRouterName.warehouse_receipt_trade_price,
     setup() {
         return {};
     },
 });
 </script>
 <style lang="less">
-.capacity_pre_sale {
-    height: calc(100% - 28px);
-}
+
 </style>

+ 3 - 2
src/views/platinum/platinum_agreement/list/tab/index.vue

@@ -50,6 +50,7 @@ import { QhjAgreementConfig } from '@/services/go/ermcp/qhj/interface';
 import Filter from '../../compoments/filter/index.vue';
 import { getAgreementStatus, getAgreementTypeName } from '@/common/constants/enumsName';
 import { handleArgreementType, handlePermissionBtn } from '../../setup';
+import { EnumRouterName } from '@/common/constants/enumRouterName';
 
 const Detail = defineAsyncComponent(() => import('../../compoments/detail/index.vue'));
 const Modify = defineAsyncComponent(() => import('../../compoments/modify/index.vue'));
@@ -59,7 +60,7 @@ const Resume = defineAsyncComponent(() => import('../../compoments/resume/index.
 const Stop = defineAsyncComponent(() => import('../../compoments/stop/index.vue'));
 
 export default defineComponent({
-    name: 'platinum_agreement_tabdd',
+    name: EnumRouterName.platinum_agreement_tab,
     components: {
         Filter,
         contextMenu,
@@ -79,7 +80,7 @@ export default defineComponent({
         // 表格通用逻辑
         const param: ComposeTableParam = {
             queryFn: queryTableAction,
-            menuType: 'platinum_agreement_tab',
+            menuType: EnumRouterName.platinum_agreement_tab,
             tableName: 'table_pcweb_agreement',
             tableFilterKey: ['agreementno', 'agreementtype'],
             isDetail: true,

+ 148 - 157
src/views/report/exposure-report/list/exposure_report/index.vue

@@ -1,172 +1,163 @@
 <template>
-    <!-- 敞口报表 -->
-    <div class="table-detail-container table-height"
-         :loading="loading">
-        <Filter @update="search"></Filter>
-        <a-table :columns="columns"
-                 class="topOrderTable"
-                 :scroll="{ x: '100%', y: 'calc(100vh - 163px)' }"
-                 :pagination="false"
-                 :expandedRowKeys="expandedRowKeys"
-                 :customRow="Rowclick"
-                 rowKey="key"
-                 :data-source="tableList">
-        </a-table>
-        <!-- 明细 -->
-        <Description v-if="visible"
-                     @close="closeDrawer"
-                     @changeTab="changeTab"
-                     :columns="columnsDetail"
-                     :tabList="tabList"
-                     :tableList="detailTableList">
-            <!-- 合同类型 -->
-            <template #contracttype="{ record }">
-                <a>{{ getContractTypeName(record.contracttype) }}</a>
-            </template>
-        </Description>
-    </div>
+  <!-- 敞口报表 -->
+  <div class="table-detail-container table-height"
+       :loading="loading">
+    <Filter @update="search"></Filter>
+    <a-table :columns="columns"
+             class="topOrderTable"
+             :scroll="{ x: '100%', y: 'calc(100vh - 163px)' }"
+             :pagination="false"
+             :expandedRowKeys="expandedRowKeys"
+             :customRow="Rowclick"
+             rowKey="key"
+             :data-source="tableList">
+    </a-table>
+    <!-- 明细 -->
+    <Description v-if="visible"
+                 @close="closeDrawer"
+                 @changeTab="changeTab"
+                 :columns="columnsDetail"
+                 :tabList="tabList"
+                 :tableList="detailTableList">
+      <!-- 合同类型 -->
+      <template #contracttype="{ record }">
+        <a>{{ getContractTypeName(record.contracttype) }}</a>
+      </template>
+    </Description>
+  </div>
 </template>
 
 <script lang="ts">
-    import Filter from '../../components/filterTable/index.vue';
-    import {defineComponent, queryTableList} from '@/common/export/table';
-    import {TypeAndTime} from '@/views/report/interface';
-    import {handleInitTypeAndTime} from '@/views/report/setup';
-    import {
-        AreaExpourseReportReq,
-        Ermcp3ExpourseReport,
-        QryAreaExpourseHedgeplanDetailReq
-    } from '@/services/go/ermcp/report/interface';
-    import {
-        qryAreaExpourseContractDetail,
-        qryAreaExpourseFutuDetail,
-        qryAreaExpourseHedgeplanDetail,
-        qryAreaExpourseParamChLogDetail,
-        qryAreaExpourseReport
-    } from '@/services/go/ermcp/report';
-    import {ComposeTableDetailParam, handleComposeTable_detail} from '@/common/setup/table/compose';
-    import Description from '@/common/components/description/index.vue';
-    import {watchEffect} from 'vue';
-    import {queryResultLoadingAndInfo} from '@/common/methods/request/resultInfo';
-    import {TabList} from '@/common/components/description/interface';
-    import {getContractTypeName} from "@/common/constants/enumsName";
+import Filter from '../../components/filterTable/index.vue';
+import { defineComponent, queryTableList } from '@/common/export/table';
+import { TypeAndTime } from '@/views/report/interface';
+import { handleInitTypeAndTime } from '@/views/report/setup';
+import { AreaExpourseReportReq, Ermcp3ExpourseReport, QryAreaExpourseHedgeplanDetailReq } from '@/services/go/ermcp/report/interface';
+import { qryAreaExpourseContractDetail, qryAreaExpourseFutuDetail, qryAreaExpourseHedgeplanDetail, qryAreaExpourseParamChLogDetail, qryAreaExpourseReport } from '@/services/go/ermcp/report';
+import { ComposeTableDetailParam, handleComposeTable_detail } from '@/common/setup/table/compose';
+import Description from '@/common/components/description/index.vue';
+import { watchEffect } from 'vue';
+import { queryResultLoadingAndInfo } from '@/common/methods/request/resultInfo';
+import { TabList } from '@/common/components/description/interface';
+import { getContractTypeName } from '@/common/constants/enumsName';
+import { EnumRouterName } from '@/common/constants/enumRouterName';
 
-    export default defineComponent({
-        name: 'exposure-report',
-        components: {
-            Filter,
-            Description,
-        },
-        setup() {
-            let cycletime = '';
-            // 表格列表数据
-            const {loading, tableList, queryTable} = queryTableList<Ermcp3ExpourseReport>();
-            // 获取列表数据
-            const queryTableAction = () => {
-                const {getInitTime, getInitType} = handleInitTypeAndTime();
-                cycletime = getInitTime();
-                const param: AreaExpourseReportReq = {
-                    cycletype: getInitType(),
-                    cycletime,
-                    querytype: 1,
-                };
-                // 获取列表数据
-                queryTable(qryAreaExpourseReport, param);
-            };
-            const param: ComposeTableDetailParam = {
-                queryFn: queryTableAction, // 查询表格数据
-                tableName: 'table_pcweb_exposure_report', // 表头key
-                tableFilterKey: [], // 表格过滤字段
-                menuType: 'exposure_report_exposure', // 当前tab页对应的code
+export default defineComponent({
+    name: EnumRouterName.exposure_report_exposure,
+    components: {
+        Filter,
+        Description,
+    },
+    setup() {
+        let cycletime = '';
+        // 表格列表数据
+        const { loading, tableList, queryTable } = queryTableList<Ermcp3ExpourseReport>();
+        // 获取列表数据
+        const queryTableAction = () => {
+            const { getInitTime, getInitType } = handleInitTypeAndTime();
+            cycletime = getInitTime();
+            const param: AreaExpourseReportReq = {
+                cycletype: getInitType(),
+                cycletime,
+                querytype: 1,
             };
-            const {
-                visible,
-                closeDrawer, // 控制 drawer 组件是否显示
-                columns,
-                updateColumn, //  表头数据
-                columnsDetail,
-                registerColumnDetail,
-                detailTableList, // 明细表头数据
-                expandedRowKeys,
-                selectedRow,
-                Rowclick, // 表格事件
-                tabList,
-            } = handleComposeTable_detail<Ermcp3ExpourseReport>(param);
+            // 获取列表数据
+            queryTable(qryAreaExpourseReport, param);
+        };
+        const param: ComposeTableDetailParam = {
+            queryFn: queryTableAction, // 查询表格数据
+            tableName: 'table_pcweb_exposure_report', // 表头key
+            tableFilterKey: [], // 表格过滤字段
+            menuType: EnumRouterName.exposure_report_exposure, // 当前tab页对应的code
+        };
+        const {
+            visible,
+            closeDrawer, // 控制 drawer 组件是否显示
+            columns,
+            updateColumn, //  表头数据
+            columnsDetail,
+            registerColumnDetail,
+            detailTableList, // 明细表头数据
+            expandedRowKeys,
+            selectedRow,
+            Rowclick, // 表格事件
+            tabList,
+        } = handleComposeTable_detail<Ermcp3ExpourseReport>(param);
 
-            // 切换明细
-            function changeTab(index: number, current: TabList) {
-                const {code, lable} = current;
-                const data = selectedRow.value as Ermcp3ExpourseReport;
-                const {cycletype, middlegoodsid} = data;
-                const param: QryAreaExpourseHedgeplanDetailReq = {
-                    middlegoodsid,
-                    cycletype,
-                    cycletime,
-                };
-                let fn = null;
-                if (code === 'exposure_report_exposure_contract_changes') {
-                    // 现货合同变动量明细
-                    // 注册表头
-                    registerColumnDetail('table_pcweb_change_in_spot_contract', []);
-                    fn = qryAreaExpourseContractDetail;
-                } else if (code === 'exposure_report_exposure_hedging_plan') {
-                    // 套保计划变动量明细
-                    // 注册表头
-                    registerColumnDetail('table_pcweb_change_in_hedging_plan', []);
-                    fn = qryAreaExpourseHedgeplanDetail;
-                } else if (code === 'exposure_report_exposure_futures_changes') {
-                    // 期货变动量明细
-                    // 注册表头
-                    registerColumnDetail('table_pcweb_change_in_future', []);
-                    fn = qryAreaExpourseFutuDetail;
-                } else if (code === 'exposure_report_exposure_parameter_adjustment_changes') {
-                    // 参数调整变动量明细
-                    // 注册表头
-                    registerColumnDetail('table_pcweb_change_in_parameter_adjustment', []);
-                    fn = qryAreaExpourseParamChLogDetail;
-                } else {
-                    console.error(`${lable}没有配置对应的code: ${code},`);
-                    return;
-                }
-                // 查询明细数据
-                queryResultLoadingAndInfo(fn, loading, param).then((res) => {
-                    detailTableList.value = res;
-                });
+        // 切换明细
+        function changeTab(index: number, current: TabList) {
+            const { code, lable } = current;
+            const data = selectedRow.value as Ermcp3ExpourseReport;
+            const { cycletype, middlegoodsid } = data;
+            const param: QryAreaExpourseHedgeplanDetailReq = {
+                middlegoodsid,
+                cycletype,
+                cycletime,
+            };
+            let fn = null;
+            if (code === 'exposure_report_exposure_contract_changes') {
+                // 现货合同变动量明细
+                // 注册表头
+                registerColumnDetail('table_pcweb_change_in_spot_contract', []);
+                fn = qryAreaExpourseContractDetail;
+            } else if (code === 'exposure_report_exposure_hedging_plan') {
+                // 套保计划变动量明细
+                // 注册表头
+                registerColumnDetail('table_pcweb_change_in_hedging_plan', []);
+                fn = qryAreaExpourseHedgeplanDetail;
+            } else if (code === 'exposure_report_exposure_futures_changes') {
+                // 期货变动量明细
+                // 注册表头
+                registerColumnDetail('table_pcweb_change_in_future', []);
+                fn = qryAreaExpourseFutuDetail;
+            } else if (code === 'exposure_report_exposure_parameter_adjustment_changes') {
+                // 参数调整变动量明细
+                // 注册表头
+                registerColumnDetail('table_pcweb_change_in_parameter_adjustment', []);
+                fn = qryAreaExpourseParamChLogDetail;
+            } else {
+                console.error(`${lable}没有配置对应的code: ${code},`);
+                return;
             }
-
-            watchEffect(() => {
-                if (visible.value) {
-                    if (tabList.value.length) {
-                        changeTab(0, tabList.value[0]);
-                    }
-                }
+            // 查询明细数据
+            queryResultLoadingAndInfo(fn, loading, param).then((res) => {
+                detailTableList.value = res;
             });
+        }
 
-            function search(value: TypeAndTime) {
-                cycletime = value.cycletime;
-                const obj = Object.assign(value, {querytype: 1});
-                queryTable(qryAreaExpourseReport, obj);
+        watchEffect(() => {
+            if (visible.value) {
+                if (tabList.value.length) {
+                    changeTab(0, tabList.value[0]);
+                }
             }
+        });
 
-            return {
-                loading,
-                tableList,
-                visible,
-                closeDrawer,
-                columns,
-                updateColumn,
-                search,
-                columnsDetail,
-                detailTableList,
-                expandedRowKeys,
-                selectedRow,
-                Rowclick,
-                tabList,
-                changeTab,
-                getContractTypeName
-            };
-        },
-    });
+        function search(value: TypeAndTime) {
+            cycletime = value.cycletime;
+            const obj = Object.assign(value, { querytype: 1 });
+            queryTable(qryAreaExpourseReport, obj);
+        }
+
+        return {
+            loading,
+            tableList,
+            visible,
+            closeDrawer,
+            columns,
+            updateColumn,
+            search,
+            columnsDetail,
+            detailTableList,
+            expandedRowKeys,
+            selectedRow,
+            Rowclick,
+            tabList,
+            changeTab,
+            getContractTypeName,
+        };
+    },
+});
 </script>
 
 <style lang="less">

+ 2 - 1
src/views/report/finance-report/list/finance_report_finance/index.vue

@@ -34,6 +34,7 @@ import Description from '@/common/components/description/index.vue';
 import { TabList } from '@/common/components/description/interface';
 import { queryResultLoadingAndInfo } from '@/common/methods/request/resultInfo';
 import { watchEffect } from 'vue';
+import { EnumRouterName } from '@/common/constants/enumRouterName';
 
 export default defineComponent({
     name: 'finance-report',
@@ -61,7 +62,7 @@ export default defineComponent({
             queryFn: queryTableAction, // 查询表格数据
             tableName: 'table_pcweb_finance_report', // 表头key
             tableFilterKey: [], // 表格过滤字段
-            menuType: 'finance_report_finance', // 当前tab页对应的code
+            menuType: EnumRouterName.finance_report_finance, // 当前tab页对应的code
         };
         const {
             visible,

+ 2 - 1
src/views/report/future_report/list/future_report/index.vue

@@ -34,6 +34,7 @@ import { qryTaFutureDataReport } from '@/services/go/ermcp/report';
 import { Ermcp3TaFutuReDataReport, QryTaFutureDataReportReq } from '@/services/go/ermcp/report/interface';
 import { TypeAndTime } from '@/views/report/interface';
 import { TabList } from '@/common/components/description/interface';
+import { EnumRouterName } from '@/common/constants/enumRouterName';
 
 export default defineComponent({
     name: 'inventory_report_inventory_category',
@@ -61,7 +62,7 @@ export default defineComponent({
             queryFn: queryTableAction, // 查询表格数据
             tableName: 'table_pcweb_futures_report', // 表头key
             tableFilterKey: [], // 表格过滤字段
-            menuType: 'future_report_future', // 当前tab页对应的code
+            menuType: EnumRouterName.future_report_future, // 当前tab页对应的code
         };
         const {
             visible,

+ 2 - 1
src/views/report/inventory-report/list/category/index.vue

@@ -34,6 +34,7 @@ import { qryAreaStockReport } from '@/services/go/ermcp/report';
 import { AreaStockReportReq, Ermcp3AreaStockReport } from '@/services/go/ermcp/report/interface';
 import { TypeAndTime } from '@/views/report/interface';
 import { TabList } from '@/common/components/description/interface';
+import { EnumRouterName } from '@/common/constants/enumRouterName';
 
 export default defineComponent({
     name: 'inventory_report_inventory_category',
@@ -62,7 +63,7 @@ export default defineComponent({
             queryFn: queryTableAction, // 查询表格数据
             tableName: 'table_pcweb_warehouse_category_report', // 表头key
             tableFilterKey: [], // 表格过滤字段
-            menuType: 'inventory_report_inventory_category', // 当前tab页对应的code
+            menuType: EnumRouterName.inventory_report_inventory_category, // 当前tab页对应的code
         };
 
         const {

+ 2 - 1
src/views/report/inventory-report/list/warehouse/index.vue

@@ -34,6 +34,7 @@ import { qryAreaStockReport } from '@/services/go/ermcp/report';
 import { AreaStockReportReq, Ermcp3AreaStockReport } from '@/services/go/ermcp/report/interface';
 import { TypeAndTime } from '@/views/report/interface';
 import { TabList } from '@/common/components/description/interface';
+import { EnumRouterName } from '@/common/constants/enumRouterName';
 
 export default defineComponent({
     name: 'inventory_report_warehouse',
@@ -62,7 +63,7 @@ export default defineComponent({
             queryFn: queryTableAction, // 查询表格数据
             tableName: 'table_pcweb_warehouse_report', // 表头key
             tableFilterKey: [], // 表格过滤字段
-            menuType: 'inventory_report_warehouse', // 当前tab页对应的code
+            menuType: EnumRouterName.inventory_report_warehouse, // 当前tab页对应的code
         };
         const {
             visible,

+ 2 - 1
src/views/report/spot-report/list/spot_report/index.vue

@@ -34,6 +34,7 @@ import Description from '@/common/components/description/index.vue';
 import { watchEffect } from 'vue';
 import { queryResultLoadingAndInfo } from '@/common/methods/request/resultInfo';
 import { TabList } from '@/common/components/description/interface';
+import { EnumRouterName } from '@/common/constants/enumRouterName';
 
 export default defineComponent({
     name: 'spot-report',
@@ -61,7 +62,7 @@ export default defineComponent({
             queryFn: queryTableAction, // 查询表格数据
             tableName: 'table_pcweb_spot_report', // 表头key
             tableFilterKey: [], // 表格过滤字段
-            menuType: 'spot_report_spot', // 当前tab页对应的code
+            menuType: EnumRouterName.spot_report_spot, // 当前tab页对应的code
         };
         const {
             visible,

+ 2 - 1
src/views/report/sum_pl_report/list/sum_pl_report/index.vue

@@ -34,6 +34,7 @@ import { handleInitTypeAndTime } from '@/views/report/setup';
 import { Ermcp3ArealSumPL, QryAreaSumPLReq } from '@/services/go/ermcp/report/interface';
 import { qryAreaSumPL } from '@/services/go/ermcp/report';
 import { TabList } from '@/common/components/description/interface';
+import { EnumRouterName } from '@/common/constants/enumRouterName';
 export default defineComponent({
     name: 'sum_pl_report',
     components: {
@@ -60,7 +61,7 @@ export default defineComponent({
             queryFn: queryTableAction, // 查询表格数据
             tableName: 'table_pcweb_aggregate_profit_and_loss', // 表头key
             tableFilterKey: [], // 表格过滤字段
-            menuType: 'sum_pl_report_sum_pl', // 当前tab页对应的code
+            menuType: EnumRouterName.sum_pl_report_sum_pl, // 当前tab页对应的code
         };
         const {
             visible,

+ 2 - 2
src/views/search/inventory/components/add/setup.ts

@@ -78,7 +78,7 @@ export function handleDeliveryGoods(formState: UnwrapRef<FormState>) {
     function getDeliveryGoods() {
         QueryDeliveryGoods({}).then(res => {
             console.log('查询现货商品', res);
-            deliveryGoodsList.value = res;
+            deliveryGoodsList.value = res.filter(x=>x.isvalid === 1);
         }).catch(err => {
             message.error(err)
         })
@@ -98,7 +98,7 @@ export function handleDeliveryGoods(formState: UnwrapRef<FormState>) {
 
     // 查询现货商品详情
     function getDeliveryGoodsDetail(deliverygoodsid: number) {
-        const temp = APP.get('DeliveryGoodsList').find((e: ErmcpDeliveryGoodsDetailEx) => e.data.deliverygoodsid === deliverygoodsid)
+        const temp = APP.get('DeliveryGoodsList').find((e: ErmcpDeliveryGoodsDetailEx) => e.data.deliverygoodsid === deliverygoodsid && e.data.isvalid == 1)
         if (temp) {
             gblist.value = temp.gblist
             gmlist.value = temp.gmlist