li.shaoyi 3 tahun lalu
induk
melakukan
bfdac6fcc7

+ 13 - 0
src/services/go/ermcp/hedgedItem/index.ts

@@ -30,6 +30,8 @@ import {
     PatradeLinkDetailRsp,
     UnLinkErmcpHedgePlanReq,
     UnLinkErmcpHedgePlanRsp,
+    QueryErmcp2HedgedItemLinkReq,
+    QueryErmcp2HedgedItemLinkRsp,
 } from './interface'
 
 /**
@@ -199,4 +201,15 @@ export function queryPatradeLinkDetail(req: PatradeLinkDetailReq): Promise<Patra
     return commonSearch_go('/Ermcp8/QueryPatradeLinkDetail', req).catch((err) => {
         throw new Error(`敞口明细 - 期货变动明细: ${err}`);
     })
+}
+
+/**
+ * 现货合同关联被套期项目查询
+ * @param req 
+ * @returns 
+ */
+export function queryErmcp2HedgedItemLink(req: QueryErmcp2HedgedItemLinkReq): Promise<QueryErmcp2HedgedItemLinkRsp[]> {
+    return commonSearch_go('/Ermcp8/QueryErmcp2HedgedItemLink', req).catch((err) => {
+        throw new Error(`现货合同关联被套期项目查询: ${err}`);
+    })
 }

+ 35 - 0
src/services/go/ermcp/hedgedItem/interface.ts

@@ -633,4 +633,39 @@ export interface PatradeLinkDetailRsp {
     tradeprice: number; // [价格]成交价格
     tradetime: string; // 日期时间
     tradetradedate: string; // 成交交易日(yyyyMMdd)
+}
+
+/**
+ * 现货合同关联被套期项目查询请求
+ */
+export interface QueryErmcp2HedgedItemLinkReq {
+    spotcontractid: number; // 现货合同ID
+}
+
+/**
+ * 现货合同关联被套期项目查询响应
+ */
+export interface QueryErmcp2HedgedItemLinkRsp {
+    areauserid: number; // 企业ID
+    createtime: string; // [关联时间]创建时间
+    customeruserid: number; // 对手方 【3:采购合同 4:销售合同】
+    deliverygoodsid: number; // 现货品种ID
+    enumdicname: string; // 单位
+    hedgeditemid: number; // 被套期项目ID
+    hedgeditemlinkid: number; // 现货关联表ID(626+Unix秒时间戳(10位)+xxxxxx)
+    hedgeditemnum: string; // 项目编号
+    hedgedtype: number; // 套期类型 - 1:采购计划项目 2:销售计划项目 3:现货贸易项目 4:库存存货项目 5:定价采购合同项目
+    relatedamount: number; // 市价总额 = 关联数量 * 期初市场价
+    relatedhedgeplanid: number; // 关联计划ID 【1:采购计划 2:销售计划】
+    relatedqty: number; // 关联数量
+    relatedspotcontractid: number; // 关联合同ID 【3:采购合同 4:销售合同】
+    relatedtype: number; // 关联类型 - 1:套期关联 2:执行关联
+    spotgoodsbrandid: number; // 现货品牌ID
+    spotpricedamount: number; // [关联定价总额]定价总额
+    spotpricedavgprice: number; // [关联现货均价]现货均价 = 定价总额 / 关联数量
+    spottype: number; // 现货类型 - 1:采购计划 2:销售计划 3:采购合同 4:销售合同 5:库存存货
+    tradeuserid: number; // 交易用户ID
+    unexeqty: number; // 未执行现货量【项目关联时值】
+    wrstandardid: number; // 现货商品ID
+    wrstandardname: string; // 现货商品
 }

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

@@ -51,7 +51,7 @@
               v-model:value="formState.PlanQty" placeholder="请输入计划量"></a-input-number>
           </a-form-item>
         </a-col>
-        <a-col :span="12">
+        <a-col :span="12" v-if="false">
           <a-form-item label="交易用户" name="Tradeuserid">
             <a-select class="inlineFormSelect" style="width: 200px" v-model:value="formState.Tradeuserid"
               placeholder="请选择交易用户">
@@ -142,7 +142,11 @@ export default defineComponent({
     }
     initData(() => {
       getDG();
-      queryTradeManager();
+      queryTradeManager().then((res) => {
+        if (res.length) {
+          formState.Tradeuserid = res[0].roleid;
+        }
+      })
     });
     return {
       visible,

+ 6 - 2
src/views/information/spot-contract/components/add/index.vue

@@ -274,7 +274,7 @@
               </a-select>
             </a-form-item>
           </a-col>
-          <a-col :span="12">
+          <a-col :span="12" v-if="false">
             <a-form-item label="交易用户" name="TradeUserID">
               <a-select class="inlineFormSelect" style="width: 200px"
                 :getPopupContainer="(triggerNode) => triggerNode.parentNode" v-model:value="formState.TradeUserID"
@@ -361,7 +361,11 @@ export default defineComponent({
     });
 
     queryCustomList();
-    queryTradeManager();
+    queryTradeManager().then((res) => {
+      if (res.length) {
+        formState.TradeUserID = res[0].roleid;
+      }
+    })
     queryBusinessManager().then(() => {
       businesserList.value = getBusinesserOrMerchandiser('22');
       merchandiserList.value = getBusinesserOrMerchandiser('23');

+ 14 - 10
src/views/information/spot-contract/components/detail/index.vue

@@ -70,10 +70,16 @@
         <template #applyname="{ record }">
           <span>{{ formatValue(record.applyname) }}</span>
         </template>
+
         <template #warehousename="{ record }">
           {{ record.warehousecode }}
         </template>
 
+        <!-- 套期类型 -->
+        <template #hedgedtype="{ text }">
+          <span>{{ getHedgedTypeName(text) }}</span>
+        </template>
+
         <!-- 款项记录 款项类型为退款  则金额使用deductamount-->
       </a-table>
     </div>
@@ -88,7 +94,7 @@ import { QueryBusinessFp, QueryBusinessKx } from '@/services/go/ermcp/finance-re
 import { QueryBusinessDj, QueryBusinessJs } from '@/services/go/ermcp/business-review';
 import { QueryAreaStockApply } from '@/services/go/ermcp/inventory-review';
 import { QueryChangeLog } from '@/services/go/ermcp/spot-contract';
-import { QueryPaTradeLinkDetail } from '@/services/go/ermcp/patrade-link';
+import { queryErmcp2HedgedItemLink } from '@/services/go/ermcp/hedgedItem';
 import InfoDetail from '../infoDetail/index.vue';
 import { getApplyStatusName, getReceiptName } from '@/common/constants/enumsName';
 import { getTableColumns } from '@/common/setup/table';
@@ -98,8 +104,7 @@ import { InOutTypeName } from '@/views/manage/inventory-review/setup';
 import { kxtypeName } from '@/views/manage/finance-review/setup';
 import { _closeModal } from '@/common/setup/modal/modal';
 import { formatValue } from '@/common/methods';
-import { columnsPaTradeLink } from './setup';
-import moment from 'moment';
+import { getHedgedTypeName } from '@/@next/constants/enum/hedgedType'
 
 export default defineComponent({
   name: 'spot-contract-detail',
@@ -133,11 +138,11 @@ export default defineComponent({
         { key: 5, name: '发票记录' },
         { key: 6, name: props.selectedRow.contracttype === 1 ? '入库记录' : '出库记录' },
         { key: 7, name: '变更记录' },
-        //{ key: 8, name: '关联记录' },
+        { key: 8, name: '关联记录' },
       ];
     activeKey.value = 1;
     function tabClick() {
-      const { spotcontractid, contracttype, contractno } = props.selectedRow;
+      const { spotcontractid, contracttype } = props.selectedRow;
       switch (activeKey.value) {
         case 2: // 点价记录
           registerColumn('table_pcweb_someprice_detail_dj');
@@ -184,11 +189,9 @@ export default defineComponent({
           });
           break;
         case 8: // 关联记录
-          columns.value.length = 0;
-          columns.value.push(...columnsPaTradeLink);
-          queryResultLoadingAndInfo(QueryPaTradeLinkDetail, loading, { contractno }).then((res) => {
-            // 关联日期降序
-            tableList.value = res.sort((a, b) => moment(b.tradetime).valueOf() - moment(a.tradetime).valueOf());
+          registerColumn('table_pcweb_someprice_detail_link');
+          queryResultLoadingAndInfo(queryErmcp2HedgedItemLink, loading, { spotcontractid }).then((res) => {
+            tableList.value = res;
           });
           break;
       }
@@ -211,6 +214,7 @@ export default defineComponent({
       kxtypeName,
       formatValue,
       getReceiptName,
+      getHedgedTypeName,
       stateName,
     };
   },

+ 2 - 1
src/views/order/futures_information/components/futures_information_entrust/columns.tsx

@@ -16,7 +16,7 @@ export function getColumns() {
         {
             title: '合约',
             key: 'goodscode',
-            width: 150,
+            width: 160,
             customRender: ({ record }: { record: QueryErmcpOrderDetailsRsp }) => {
                 return `${record.goodsname}/${record.goodscode}`
             }
@@ -31,6 +31,7 @@ export function getColumns() {
         {
             title: '委托类型',
             key: 'channeloperatetype',
+            width: 160,
             customRender: ({ record }: { record: QueryErmcpOrderDetailsRsp }) => {
                 return getChannelOperateTypeName(record.channeloperatetype)
             }