|
@@ -26,8 +26,7 @@
|
|
|
</a-form-item>
|
|
</a-form-item>
|
|
|
</template>
|
|
</template>
|
|
|
<a-form-item label="账号" name="AccountID">
|
|
<a-form-item label="账号" name="AccountID">
|
|
|
- <a-select class="inlineFormSelect" placeholder="请选择账号" v-model:value="formData.AccountID"
|
|
|
|
|
- @change="tradeAccountChange">
|
|
|
|
|
|
|
+ <a-select class="inlineFormSelect" placeholder="请选择账号" v-model:value="formData.AccountID">
|
|
|
<a-select-option v-for="item in accountList" :value="item.accountid" :key="item.accountid">
|
|
<a-select-option v-for="item in accountList" :value="item.accountid" :key="item.accountid">
|
|
|
{{ item.accountid }}/{{ item.accountname }}</a-select-option>
|
|
{{ item.accountid }}/{{ item.accountname }}</a-select-option>
|
|
|
</a-select>
|
|
</a-select>
|
|
@@ -225,7 +224,7 @@ export default defineComponent({
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
- const { futuresAccountList, tradePositionList, tradeAccount, tradeAccountChange } = useTradeAccount();
|
|
|
|
|
|
|
+ const { futuresAccountList, tradeAccountList } = useTradeAccount();
|
|
|
// 表格选中的 rowKey 数据 :rowKey="(record,index)=>index"
|
|
// 表格选中的 rowKey 数据 :rowKey="(record,index)=>index"
|
|
|
const selectedRowKeys = ref<number[]>([]);
|
|
const selectedRowKeys = ref<number[]>([]);
|
|
|
// 当前选择的持仓单据
|
|
// 当前选择的持仓单据
|
|
@@ -240,7 +239,7 @@ export default defineComponent({
|
|
|
formData.OrderQty = enableqty;
|
|
formData.OrderQty = enableqty;
|
|
|
};
|
|
};
|
|
|
|
|
|
|
|
- // 账号列表
|
|
|
|
|
|
|
+ // 账户列表
|
|
|
const accountList = computed(() => {
|
|
const accountList = computed(() => {
|
|
|
if (isSpotContract) {
|
|
if (isSpotContract) {
|
|
|
const tmpList = futuresAccountList.value.filter((e) => relatedTaAccountList.value.some((a) => a.accountid === e.accountid));
|
|
const tmpList = futuresAccountList.value.filter((e) => relatedTaAccountList.value.some((a) => a.accountid === e.accountid));
|
|
@@ -254,23 +253,28 @@ export default defineComponent({
|
|
|
return futuresAccountList.value;
|
|
return futuresAccountList.value;
|
|
|
})
|
|
})
|
|
|
|
|
|
|
|
|
|
+ // 选中的账户
|
|
|
|
|
+ const selectedAccount = computed(() => tradeAccountList.find((e) => e.accountid === formData.AccountID));
|
|
|
|
|
+
|
|
|
// 持仓列表
|
|
// 持仓列表
|
|
|
const positionList = computed(() => {
|
|
const positionList = computed(() => {
|
|
|
- if (selectedGoods.value) {
|
|
|
|
|
|
|
+ const positionList = selectedAccount.value?.positionList;
|
|
|
|
|
+
|
|
|
|
|
+ if (positionList && selectedGoods.value) {
|
|
|
const { goodscode, goodsid } = selectedGoods.value;
|
|
const { goodscode, goodsid } = selectedGoods.value;
|
|
|
// 判断是否现货合同交易
|
|
// 判断是否现货合同交易
|
|
|
if (isSpotContract) {
|
|
if (isSpotContract) {
|
|
|
// 买卖方向,根据合同类型判断
|
|
// 买卖方向,根据合同类型判断
|
|
|
const buyorsell = props.selectedRow.contracttype === 1 ? BuyOrSell.buy : BuyOrSell.sell;
|
|
const buyorsell = props.selectedRow.contracttype === 1 ? BuyOrSell.buy : BuyOrSell.sell;
|
|
|
- const index = tradePositionList.findIndex((item) => item.goodscode === goodscode && item.goodsid === goodsid && item.buyorsell === buyorsell);
|
|
|
|
|
|
|
+ const index = positionList.findIndex((item) => item.goodscode === goodscode && item.goodsid === goodsid && item.buyorsell === buyorsell);
|
|
|
if (index > -1) {
|
|
if (index > -1) {
|
|
|
- const result = [tradePositionList[index]];
|
|
|
|
|
|
|
+ const result = [positionList[index]];
|
|
|
onSelectChange([0], result);
|
|
onSelectChange([0], result);
|
|
|
return result;
|
|
return result;
|
|
|
}
|
|
}
|
|
|
} else {
|
|
} else {
|
|
|
// 过滤出当前商品的持仓单据
|
|
// 过滤出当前商品的持仓单据
|
|
|
- const result = tradePositionList.filter((item) => item.goodsid === goodsid);
|
|
|
|
|
|
|
+ const result = positionList.filter((item) => item.goodsid === goodsid);
|
|
|
// 查找选中的持仓单据
|
|
// 查找选中的持仓单据
|
|
|
const index = result.findIndex((item) => item.goodscode === goodscode && item.buyorsell === props.selectedRow.buyorsell);
|
|
const index = result.findIndex((item) => item.goodscode === goodscode && item.buyorsell === props.selectedRow.buyorsell);
|
|
|
if (index > -1) {
|
|
if (index > -1) {
|
|
@@ -452,7 +456,7 @@ export default defineComponent({
|
|
|
formData.ChannelBuildType = BuildType.close;
|
|
formData.ChannelBuildType = BuildType.close;
|
|
|
|
|
|
|
|
// 判断是否母账号
|
|
// 判断是否母账号
|
|
|
- if (tradeAccount.value?.ismain) {
|
|
|
|
|
|
|
+ if (selectedAccount.value?.ismain) {
|
|
|
if (selectedGoods.value?.outerdealmode === 3 && curtdpositionenabled > 0) {
|
|
if (selectedGoods.value?.outerdealmode === 3 && curtdpositionenabled > 0) {
|
|
|
formData.CloseTodayQty = curtdpositionenabled;
|
|
formData.CloseTodayQty = curtdpositionenabled;
|
|
|
}
|
|
}
|
|
@@ -485,7 +489,6 @@ export default defineComponent({
|
|
|
buyPrice,
|
|
buyPrice,
|
|
|
sellPrice,
|
|
sellPrice,
|
|
|
selectedGoods,
|
|
selectedGoods,
|
|
|
- tradeAccountChange,
|
|
|
|
|
goodsChange,
|
|
goodsChange,
|
|
|
selectedRowKeys,
|
|
selectedRowKeys,
|
|
|
selectedPosition,
|
|
selectedPosition,
|