code
This commit is contained in:
@ -56,7 +56,18 @@
|
||||
align="center"
|
||||
prop="apiName"
|
||||
:show-overflow-tooltip="true"
|
||||
/><el-table-column
|
||||
/>
|
||||
<el-table-column
|
||||
label="交易所"
|
||||
align="center"
|
||||
prop="apiName"
|
||||
:show-overflow-tooltip="true"
|
||||
>
|
||||
<template #default="{row}">
|
||||
{{ exchangeTypeFormat(row) }}
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
label="apiKey"
|
||||
align="center"
|
||||
prop="apiKey"
|
||||
@ -191,6 +202,23 @@
|
||||
<el-input v-model="form.jysId" placeholder="关联交易所账号id"
|
||||
/>
|
||||
</el-form-item> -->
|
||||
<el-form-item label="交易所" prop="exchangeType">
|
||||
<el-select
|
||||
v-model="form.exchangeType"
|
||||
style="width: 100%;"
|
||||
placeholder="请选择交易所"
|
||||
clearable
|
||||
filterable
|
||||
size="small"
|
||||
>
|
||||
<el-option
|
||||
v-for="dict in exchangeTypes"
|
||||
:key="dict.value"
|
||||
:label="dict.label"
|
||||
:value="dict.value"
|
||||
/>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item label="api用户名" prop="apiName">
|
||||
<el-input
|
||||
v-model="form.apiName"
|
||||
@ -312,15 +340,25 @@ export default {
|
||||
form: {
|
||||
},
|
||||
// 表单校验
|
||||
rules: {}
|
||||
rules: {
|
||||
exchangeType: [{ required: true, message: '交易所不能为空', trigger: 'blur' }]
|
||||
},
|
||||
exchangeTypes: []
|
||||
}
|
||||
},
|
||||
created() {
|
||||
this.getList()
|
||||
this.getLineUserItems()
|
||||
this.getLineApiGroupItems()
|
||||
// 获取交易所字典数据
|
||||
this.getDicts('exchange_type').then(response => {
|
||||
this.exchangeTypes = response.data
|
||||
})
|
||||
},
|
||||
methods: {
|
||||
exchangeTypeFormat(row) {
|
||||
return this.selectDictLabel(this.exchangeTypes, row.exchangeType)
|
||||
},
|
||||
/** 查询参数列表 */
|
||||
getList() {
|
||||
this.loading = true
|
||||
@ -339,7 +377,7 @@ export default {
|
||||
// 表单重置
|
||||
reset() {
|
||||
this.form = {
|
||||
|
||||
exchangeType: this.exchangeTypes.length ? this.exchangeTypes[0].value : '',
|
||||
id: undefined,
|
||||
userId: undefined,
|
||||
jysId: undefined,
|
||||
|
||||
@ -459,6 +459,23 @@
|
||||
<!-- 添加或修改对话框 -->
|
||||
<el-dialog :title="title" :visible.sync="open" width="700px" :close-on-click-modal="false">
|
||||
<el-form ref="form" :model="form" :rules="rules" label-width="120px" style="height: 600px;overflow: hidden auto;">
|
||||
<el-form-item label="交易所" prop="exchange_type">
|
||||
<el-select
|
||||
v-model="form.exchange_type"
|
||||
style="width: 100%;"
|
||||
placeholder="请选择交易所"
|
||||
clearable
|
||||
filterable
|
||||
size="small"
|
||||
>
|
||||
<el-option
|
||||
v-for="dict in exchangeTypes"
|
||||
:key="dict.value"
|
||||
:label="dict.label"
|
||||
:value="dict.value"
|
||||
/>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item label="订单类型" prop="order_type">
|
||||
<el-radio-group v-model="form.order_type">
|
||||
<el-radio label="1">现货</el-radio>
|
||||
@ -467,9 +484,10 @@
|
||||
</el-form-item>
|
||||
<el-form-item label="对冲类型" prop="cover_type">
|
||||
<el-radio-group v-model="form.cover_type">
|
||||
<el-radio :label="0">无对冲</el-radio>
|
||||
<el-radio :label="1" :disabled="form.order_type==2">现货对合约</el-radio>
|
||||
<el-radio :label="2" :disabled="form.order_type==1">合约对合约</el-radio>
|
||||
<el-radio :label="3" :disabled="form.order_type==1">合约对现货</el-radio>
|
||||
<!-- <el-radio :label="3" :disabled="form.order_type==1">合约对现货</el-radio> -->
|
||||
</el-radio-group>
|
||||
</el-form-item>
|
||||
<el-form-item label="api用户" prop="api_id">
|
||||
@ -606,7 +624,7 @@
|
||||
placeholder="亏损百分比"
|
||||
/>
|
||||
</el-form-item>
|
||||
<el-form-item label="对冲百分比" prop="cover_rate">
|
||||
<!-- <el-form-item label="对冲百分比" prop="cover_rate">
|
||||
<el-input
|
||||
v-model="form.cover_rate"
|
||||
placeholder="对冲百分比"
|
||||
@ -630,7 +648,7 @@
|
||||
<el-col :span="11"><el-input v-model.number="form.hedge_trigger_percent" type="number" placeholder="最小值"><template #append>最小值</template></el-input></el-col>
|
||||
<el-col :span="11"><el-input v-model.number="form.hedge_trigger_percent_max" type="number" placeholder="最大值"><template #append>最大值</template></el-input></el-col>
|
||||
</el-row>
|
||||
</el-form-item>
|
||||
</el-form-item> -->
|
||||
<el-form-item label="主单类型" prop="main_order_type">
|
||||
<el-radio-group v-model="form.main_order_type">
|
||||
<el-radio label="LIMIT">限价</el-radio>
|
||||
@ -643,7 +661,7 @@
|
||||
<el-radio label="MARKET">市价</el-radio>
|
||||
</el-radio-group>
|
||||
</el-form-item>
|
||||
<el-form-item label="加仓主单类型" prop="add_position_main_type">
|
||||
<!-- <el-form-item label="加仓主单类型" prop="add_position_main_type">
|
||||
<el-radio-group v-model="form.add_position_main_type">
|
||||
<el-radio label="LIMIT">限价</el-radio>
|
||||
<el-radio label="MARKET">市价</el-radio>
|
||||
@ -654,7 +672,7 @@
|
||||
<el-radio label="LIMIT">限价</el-radio>
|
||||
<el-radio label="MARKET">市价</el-radio>
|
||||
</el-radio-group>
|
||||
</el-form-item>
|
||||
</el-form-item> -->
|
||||
<el-form-item label="对标价类型" prop="price_type">
|
||||
<el-radio-group v-model="form.price_type">
|
||||
<el-radio label="new">最新价</el-radio>
|
||||
@ -1144,6 +1162,7 @@ export default {
|
||||
},
|
||||
// 表单校验
|
||||
rules: {
|
||||
exchange_type: [{ required: true, message: '交易所不能为空', trigger: 'blur' }],
|
||||
api_id: [{ required: true, message: 'api用户不能为空', trigger: 'blur' }],
|
||||
symbol: [{ required: true, message: '交易对不能为空', trigger: 'blur' }],
|
||||
symbol_group_id: [{ required: true, message: '交易对组不能为空', trigger: 'blur' }],
|
||||
@ -1195,7 +1214,8 @@ export default {
|
||||
symbol: undefined,
|
||||
order_sn: undefined
|
||||
},
|
||||
btnLoading: false
|
||||
btnLoading: false,
|
||||
exchangeTypes: []
|
||||
}
|
||||
},
|
||||
computed: {
|
||||
@ -1256,6 +1276,10 @@ export default {
|
||||
this.getLineApiUserItems()
|
||||
this.getSymbolGroup()
|
||||
this.getListLineApiUser()
|
||||
// 获取交易所字典数据
|
||||
this.getDicts('exchange_type').then(response => {
|
||||
this.exchangeTypes = response.data
|
||||
})
|
||||
},
|
||||
methods: {
|
||||
onSelectAll() {
|
||||
@ -1274,7 +1298,7 @@ export default {
|
||||
},
|
||||
// 获取杠杆api用户
|
||||
getListLineApiUser() {
|
||||
listLineApiUser({ pageIndex: 1, pageSize: 999 }).then(response => {
|
||||
listLineApiUser({ pageIndex: 1, pageSize: 999, exchangeType: this.form.exchangeType }).then(response => {
|
||||
this.lineUsers = response.data.list
|
||||
this.lineTotal = response.data.count
|
||||
})
|
||||
@ -1285,7 +1309,7 @@ export default {
|
||||
const { pageIndex } = this.symbol
|
||||
const symbol = typeof e === 'object' ? '' : e
|
||||
const apiCall = this.title === '添加委托管理' && ([1, 3].includes(this.form.cover_type)) ? getSameSymbol : listLineSymbol
|
||||
apiCall({ pageIndex, pageSize: 6, type: type || this.form.order_type, symbol }).then(res => {
|
||||
apiCall({ pageIndex, pageSize: 6, type: type || this.form.order_type, symbol, exchangeType: this.form.exchangeType }).then(res => {
|
||||
this.symbol.total = res.data.count
|
||||
this.symbol.symbolList = res.data.list
|
||||
}).finally(() => {
|
||||
@ -1294,7 +1318,7 @@ export default {
|
||||
},
|
||||
// 获取交易对组
|
||||
getSymbolGroup(type = 2) {
|
||||
listLineSymbolGroup({ pageIndex: 1, pageSize: 999, beginTime: undefined, endTime: undefined, type }).then(res => {
|
||||
listLineSymbolGroup({ pageIndex: 1, pageSize: 999, beginTime: undefined, endTime: undefined, type, exchangeType: this.form.exchangeType }).then(res => {
|
||||
this.symbolGroups = res.data.list
|
||||
})
|
||||
},
|
||||
@ -1551,6 +1575,7 @@ export default {
|
||||
close_type: undefined,
|
||||
direction: undefined,
|
||||
|
||||
exchange_type: this.exchangeTypes.length ? this.exchangeTypes[0].value : '',
|
||||
scale_type: 2,
|
||||
main_order_type: 'LIMIT',
|
||||
hedge_order_type: 'LIMIT',
|
||||
|
||||
@ -109,38 +109,35 @@
|
||||
icon="el-icon-view"
|
||||
@click="handlePreview(scope.row)"
|
||||
>预览</el-button>
|
||||
<el-button
|
||||
slot="reference"
|
||||
type="text"
|
||||
size="small"
|
||||
icon="el-icon-view"
|
||||
@click="handleToProject(scope.row)"
|
||||
>代码生成</el-button>
|
||||
<el-button
|
||||
slot="reference"
|
||||
type="text"
|
||||
size="small"
|
||||
icon="el-icon-view"
|
||||
@click="handleToProject(scope.row)"
|
||||
>代码生成</el-button>
|
||||
|
||||
<el-button
|
||||
slot="reference"
|
||||
type="text"
|
||||
size="small"
|
||||
icon="el-icon-view"
|
||||
@click="handleToDB(scope.row)"
|
||||
>生成配置</el-button>
|
||||
|
||||
|
||||
<el-button
|
||||
slot="reference"
|
||||
type="text"
|
||||
size="small"
|
||||
icon="el-icon-view"
|
||||
@click="handleToApiFile(scope.row)"
|
||||
>生成迁移脚本</el-button>
|
||||
|
||||
<el-button
|
||||
slot="reference"
|
||||
type="text"
|
||||
size="small"
|
||||
icon="el-icon-delete"
|
||||
@click="handleSingleDelete(scope.row)"
|
||||
>删除</el-button>
|
||||
<el-button
|
||||
slot="reference"
|
||||
type="text"
|
||||
size="small"
|
||||
icon="el-icon-view"
|
||||
@click="handleToDB(scope.row)"
|
||||
>生成配置</el-button>
|
||||
<el-button
|
||||
slot="reference"
|
||||
type="text"
|
||||
size="small"
|
||||
icon="el-icon-view"
|
||||
@click="handleToApiFile(scope.row)"
|
||||
>生成迁移脚本</el-button>
|
||||
<el-button
|
||||
slot="reference"
|
||||
type="text"
|
||||
size="small"
|
||||
icon="el-icon-delete"
|
||||
@click="handleSingleDelete(scope.row)"
|
||||
>删除</el-button>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
@ -159,7 +156,7 @@
|
||||
<div class="el-dialog-container">
|
||||
<div class="tag-group">
|
||||
<!-- eslint-disable-next-line vue/valid-v-for -->
|
||||
<el-tag v-for="(value, key) in preview.data" @click="codeChange(key)">
|
||||
<el-tag v-for="(value, key) in preview.data" :key="key" @click="codeChange(key)">
|
||||
<template>
|
||||
{{ key.substring(key.lastIndexOf('/')+1,key.indexOf('.go.template')) }}
|
||||
</template>
|
||||
|
||||
Reference in New Issue
Block a user