|
|
@@ -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);
|
|
|
});
|
|
|
});
|