huangbin 4 gadi atpakaļ
vecāks
revīzija
7da58c8e64

+ 5 - 5
src/services/proto/warehousetrade/interface.ts

@@ -1,4 +1,4 @@
-/** 
+/**
  * 对应 public/proto/mtp.proto 类型
 */
 
@@ -331,15 +331,15 @@ export interface TradeHoldTransferApplyAuditReqType {
 
 export interface HolderCloseReq {
     TradeID: number; // uint64 持仓单号
-    ClientSerialNo: string; // string 客户端流水号
-    ClientOrderTime: string; // string 客户端委托时间
-    ClientType: number; // uint32 终端类型
+    ClientSerialNo?: string; // string 客户端流水号
+    ClientOrderTime?: string; // string 客户端委托时间
+    ClientType?: number; // uint32 终端类型
     LoginID: number; // uint64 登陆账号
     AccountID: number; // uint64 交易账号
     GoodsID: number; // uint32 商品ID
     BuyOrSell: number; // uint32 买卖方向
     MarketID: number; // uint32 市场ID
-    OrderSrc: number; // uint32 单据来源
+    OrderSrc?: number; // uint32 单据来源
     OperatorID: number; // uint64 操作员账号ID
 }
 

+ 92 - 68
src/views/order/commodity_contract/components/commodity_contract_summary/components/commodity_contract_summary_order_closed/index.vue

@@ -1,63 +1,86 @@
 <template>
-    <!-- 按单平仓-->
-    <Drawer :title="'按单平仓'" :placement="'right'" class="bottom486" :visible="visible" @cancel="cancel">
-        <div class="listed c_c_s_s">
-            <a-form class="inlineForm dialogForm" ref="formRef" :model="formState" :rules="rules">
-                <div class="formBar">
-                    <div class="formtop">
-                        <div class="firstTitle">
-                            <span>合约:{{ selectedRow.goodscode }}/{{ selectedRow.goodsname }}</span>
-                        </div>
-                        <div class="secondLine">
-                            <div class="left">持仓单号/方向</div>
-                            <div class="middle">数量/价格/金额</div>
-                            <div class="right">到期日/盈亏</div>
-                        </div>
-                        <a-checkbox-group class="commonCheckboxGroup" v-model:value="checked" @change="checkGroupChange">
-                            <div class="lineBar" v-for="item in tableList" :key="item.tradeid">
-                                <div class="line1">
-                                    <div class>
-                                        <a-checkbox @change="checkboxChange(item)" :value="item.tradeid"></a-checkbox>
-                                    </div>
-                                    <div class="name">{{ item.tradeid }}</div>
-                                    <div class="date">{{ formatTime(item.tradetime, 'd') }}</div>
-                                </div>
-                                <div class="line2">
-                                    <div class="left">{{ item.buyorsell === BuyOrSell.buy ? '买入' : '卖出' }}</div>
-                                    <div class="middle">
-                                        <div>{{ item.holderqty }}</div>
-                                        <div>{{ item.holderprice }}</div>
-                                        <div>{{ item.holderamount }}</div>
-                                    </div>
-                                    <div class="right red">+100</div>
-                                </div>
-                            </div>
-                        </a-checkbox-group>
-                    </div>
+  <!-- 平仓-->
+  <Drawer :title="'平仓'"
+          :placement="'right'"
+          class="bottom486"
+          :visible="visible"
+          @cancel="cancel">
+    <div class="listed c_c_s_s">
+      <a-form class="inlineForm dialogForm"
+              ref="formRef"
+              :model="formState"
+              :rules="rules">
+        <div class="formBar">
+          <div class="formtop">
+            <div class="firstTitle">
+              <span>合约:{{ selectedRow.goodscode }}/{{ selectedRow.goodsname }}</span>
+            </div>
+            <div class="secondLine">
+              <div class="left">持仓单号/方向</div>
+              <div class="middle">数量/价格/金额</div>
+              <div class="right">到期日/盈亏</div>
+            </div>
+            <a-checkbox-group class="commonCheckboxGroup"
+                              v-model:value="checked"
+                              @change="checkGroupChange">
+              <div class="lineBar"
+                   v-for="item in tableList"
+                   :key="item.tradeid">
+                <div class="line1">
+                  <div class>
+                    <a-checkbox @change="checkboxChange(item)"
+                                :value="item.tradeid"></a-checkbox>
+                  </div>
+                  <div class="name">{{ item.tradeid }}</div>
+                  <div class="date">{{ formatTime(item.tradetime, 'd') }}</div>
                 </div>
-                <div class="fixedBtns">
-                    <a-row :gutter="24">
-                        <a-col :span="24" class="mt12">
-                            <a-form-item label="估算价" name="price" class="inputIconBox mb10 not-copy">
-                                <a-input-number class="commonInput not-copy" v-model:value="formState.price" style="width: 200px" :min="0" />
-                                <MinusOutlined @click="decreasePrice" />
-                                <PlusOutlined @click="increasePirce" />
-                            </a-form-item>
-                        </a-col>
-                        <a-col :span="24">
-                            <a-form-item label="估算金额" class="mb10 not-copy">
-                                <span class="white">50400.20</span>
-                            </a-form-item>
-                        </a-col>
-                    </a-row>
-                    <a-form-item class="btnCenter mt10">
-                        <a-button class="listedBtn" :loading="loading" :disabled="loading" @click="submit">提交</a-button>
-                        <a-button class="ml10 cancelBtn" @click="cancel">取消</a-button>
-                    </a-form-item>
+                <div class="line2">
+                  <div class="left">{{ item.buyorsell === BuyOrSell.buy ? '买入' : '卖出' }}</div>
+                  <div class="middle">
+                    <div>{{ item.holderqty }}</div>
+                    <div>{{ item.holderprice }}</div>
+                    <div>{{ item.holderamount }}</div>
+                  </div>
+                  <div class="right red">+100</div>
                 </div>
-            </a-form>
+              </div>
+            </a-checkbox-group>
+          </div>
         </div>
-    </Drawer>
+        <div class="fixedBtns">
+          <a-row :gutter="24">
+            <a-col :span="24"
+                   class="mt12">
+              <a-form-item label="估算价"
+                           name="price"
+                           class="inputIconBox mb10 not-copy">
+                <a-input-number class="commonInput not-copy"
+                                v-model:value="formState.price"
+                                style="width: 200px"
+                                :min="0" />
+                <MinusOutlined @click="decreasePrice" />
+                <PlusOutlined @click="increasePirce" />
+              </a-form-item>
+            </a-col>
+            <a-col :span="24">
+              <a-form-item label="估算金额"
+                           class="mb10 not-copy">
+                <span class="white">50400.20</span>
+              </a-form-item>
+            </a-col>
+          </a-row>
+          <a-form-item class="btnCenter mt10">
+            <a-button class="listedBtn"
+                      :loading="loading"
+                      :disabled="loading"
+                      @click="submit">提交</a-button>
+            <a-button class="ml10 cancelBtn"
+                      @click="cancel">取消</a-button>
+          </a-form-item>
+        </div>
+      </a-form>
+    </div>
+  </Drawer>
 </template>
 
 <script lang="ts">
@@ -69,7 +92,7 @@ import { requestResultLoadingAndInfo } from '@/common/methods/request/resultInfo
 import { validateAction } from '@/common/setup/form';
 import { _closeModal } from '@/common/setup/modal/modal';
 import { queryTableList } from '@/common/setup/table';
-import { getUserId } from '@/services/bus/account';
+import { getSelectedAccountId, getUserId } from '@/services/bus/account';
 import { geLoginID_number } from '@/services/bus/login';
 import { QueryTradePositionRsp } from '@/services/go/ermcp/order/interface';
 import { queryTradeHolderDetail } from '@/services/go/order';
@@ -136,18 +159,19 @@ export default defineComponent({
             validateAction<FormState>(formRef, formState).then((res) => {
                 const param: HolderCloseReq = {
                     TradeID: Long.fromString(selected.value!.tradeid),
-                    ClientSerialNo: 'string', // string 客户端流水号
-                    ClientOrderTime: 'string', // string 客户端委托时间
-                    ClientType: 0, // uint32 终端类型
-                    LoginID: 0, // uint64 登陆账号
-                    AccountID: 0, // uint64 交易账号
-                    GoodsID: 0, // uint32 商品ID
-                    BuyOrSell: 0, // uint32 买卖方向
-                    MarketID: 0, // uint32 市场ID
-                    OrderSrc: 0, // uint32 单据来源
-                    OperatorID: 0, // uint64 操作员账号ID
+
+                    // ClientSerialNo: 'string', // string 客户端流水号
+                    // ClientOrderTime: 'string', // string 客户端委托时间
+                    // ClientType: 0, // uint32 终端类型
+                    LoginID: geLoginID_number()!, // uint64 登陆账号
+                    AccountID: getSelectedAccountId(), // uint64 交易账号
+                    GoodsID: selected.value!.goodsid,
+                    MarketID: selected.value!.marketid, // uint32 市场ID
+                    BuyOrSell: selected.value!.buyorsell,
+                    // OrderSrc: 0, // uint32 单据来源
+                    OperatorID: geLoginID_number()!, // uint64 操作员账号ID
                 };
-                requestResultLoadingAndInfo(holderClose, param, loading, ['协议平仓成功', '协议平仓失败:']).then(() => {
+                requestResultLoadingAndInfo(holderClose, param, loading, ['平仓成功', '平仓失败:']).then(() => {
                     cancel(true);
                 });
             });

+ 4 - 5
src/views/order/commodity_contract/components/commodity_contract_summary/index.vue

@@ -205,10 +205,8 @@ export default defineComponent({
         // 获取列表数据
         const queryTableAction = () => {
             queryTable(queryTradePosition).then((res) => {
-                const result: string[] = []
-                res.forEach(el => {
-
-                })
+                const result: string[] = [];
+                res.forEach((el) => {});
                 const goodsList = res.map((el) => {
                     return el.goodscode;
                 });
@@ -232,7 +230,8 @@ export default defineComponent({
             // 挂牌点选
             const listing = ['commodity_contract_summary_transfer', 'commodity_contract_summary_settlement'];
             // 贸易圈
-            const diaoqi = ['commodity_contract_summary_deal_closed', 'commodity_contract_summary_order_closed'];
+            const diaoqi = ['commodity_contract_summary_deal_closed'];
+            // 'commodity_contract_summary_order_closed'
             const arr = findGoodsTradeModeById(record.goodsid) === TradeMode.DiaoQi ? diaoqi : listing;
             return btnList.filter((e) => arr.includes(e.code));
         }