Merge branch 'master' of http://120.25.162.35:82/hucan/exchange_vue
# Conflicts: # src/views/admin/line-pre-order/index.vue
This commit is contained in:
@ -56,7 +56,18 @@
|
|||||||
align="center"
|
align="center"
|
||||||
prop="apiName"
|
prop="apiName"
|
||||||
:show-overflow-tooltip="true"
|
: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"
|
label="apiKey"
|
||||||
align="center"
|
align="center"
|
||||||
prop="apiKey"
|
prop="apiKey"
|
||||||
@ -191,6 +202,23 @@
|
|||||||
<el-input v-model="form.jysId" placeholder="关联交易所账号id"
|
<el-input v-model="form.jysId" placeholder="关联交易所账号id"
|
||||||
/>
|
/>
|
||||||
</el-form-item> -->
|
</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-form-item label="api用户名" prop="apiName">
|
||||||
<el-input
|
<el-input
|
||||||
v-model="form.apiName"
|
v-model="form.apiName"
|
||||||
@ -312,15 +340,25 @@ export default {
|
|||||||
form: {
|
form: {
|
||||||
},
|
},
|
||||||
// 表单校验
|
// 表单校验
|
||||||
rules: {}
|
rules: {
|
||||||
|
exchangeType: [{ required: true, message: '交易所不能为空', trigger: 'blur' }]
|
||||||
|
},
|
||||||
|
exchangeTypes: []
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
created() {
|
created() {
|
||||||
this.getList()
|
this.getList()
|
||||||
this.getLineUserItems()
|
this.getLineUserItems()
|
||||||
this.getLineApiGroupItems()
|
this.getLineApiGroupItems()
|
||||||
|
// 获取交易所字典数据
|
||||||
|
this.getDicts('exchange_type').then(response => {
|
||||||
|
this.exchangeTypes = response.data
|
||||||
|
})
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
|
exchangeTypeFormat(row) {
|
||||||
|
return this.selectDictLabel(this.exchangeTypes, row.exchangeType)
|
||||||
|
},
|
||||||
/** 查询参数列表 */
|
/** 查询参数列表 */
|
||||||
getList() {
|
getList() {
|
||||||
this.loading = true
|
this.loading = true
|
||||||
@ -339,7 +377,7 @@ export default {
|
|||||||
// 表单重置
|
// 表单重置
|
||||||
reset() {
|
reset() {
|
||||||
this.form = {
|
this.form = {
|
||||||
|
exchangeType: this.exchangeTypes.length ? this.exchangeTypes[0].value : '',
|
||||||
id: undefined,
|
id: undefined,
|
||||||
userId: undefined,
|
userId: undefined,
|
||||||
jysId: undefined,
|
jysId: undefined,
|
||||||
|
|||||||
@ -334,6 +334,32 @@
|
|||||||
prop="desc"
|
prop="desc"
|
||||||
:show-overflow-tooltip="true"
|
:show-overflow-tooltip="true"
|
||||||
/>
|
/>
|
||||||
|
<el-table-column
|
||||||
|
label="对冲状态"
|
||||||
|
align="center"
|
||||||
|
prop="status"
|
||||||
|
width="100"
|
||||||
|
:show-overflow-tooltip="true"
|
||||||
|
>
|
||||||
|
<template #default="{row}">
|
||||||
|
<el-tag v-if="row.pid===0" size="mini" :type="row.hedgeStatus===1?'success':'danger'">
|
||||||
|
{{ ['未对冲','已对冲'][row.hedgeStatus] }}
|
||||||
|
</el-tag>
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
<el-table-column
|
||||||
|
label="加仓状态"
|
||||||
|
align="center"
|
||||||
|
prop="status"
|
||||||
|
width="100"
|
||||||
|
:show-overflow-tooltip="true"
|
||||||
|
>
|
||||||
|
<template #default="{row}">
|
||||||
|
<el-tag v-if="row.pid===0" size="mini" :type="row.addPositionStatus===1?'success':'danger'">
|
||||||
|
{{ ['未加仓','已加仓'][row.addPositionStatus] }}
|
||||||
|
</el-tag>
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
<el-table-column
|
<el-table-column
|
||||||
label="计价货币"
|
label="计价货币"
|
||||||
align="center"
|
align="center"
|
||||||
@ -433,7 +459,23 @@
|
|||||||
<!-- 添加或修改对话框 -->
|
<!-- 添加或修改对话框 -->
|
||||||
<el-dialog :title="title" :visible.sync="open" width="700px" :close-on-click-modal="false">
|
<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 ref="form" :model="form" :rules="rules" label-width="120px" style="height: 600px;overflow: hidden auto;">
|
||||||
<el-form />
|
<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-form-item label="订单类型" prop="order_type">
|
||||||
<el-radio-group v-model="form.order_type">
|
<el-radio-group v-model="form.order_type">
|
||||||
<el-radio label="1">现货</el-radio>
|
<el-radio label="1">现货</el-radio>
|
||||||
@ -442,9 +484,10 @@
|
|||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="对冲类型" prop="cover_type">
|
<el-form-item label="对冲类型" prop="cover_type">
|
||||||
<el-radio-group v-model="form.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="1" :disabled="form.order_type==2">现货对合约</el-radio>
|
||||||
<el-radio :label="2" :disabled="form.order_type==1">合约对合约</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-radio-group>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="api用户" prop="api_id">
|
<el-form-item label="api用户" prop="api_id">
|
||||||
@ -581,7 +624,7 @@
|
|||||||
placeholder="亏损百分比"
|
placeholder="亏损百分比"
|
||||||
/>
|
/>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="对冲百分比" prop="cover_rate">
|
<!-- <el-form-item label="对冲百分比" prop="cover_rate">
|
||||||
<el-input
|
<el-input
|
||||||
v-model="form.cover_rate"
|
v-model="form.cover_rate"
|
||||||
placeholder="对冲百分比"
|
placeholder="对冲百分比"
|
||||||
@ -605,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" 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-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-row>
|
||||||
</el-form-item>
|
</el-form-item> -->
|
||||||
<el-form-item label="主单类型" prop="main_order_type">
|
<el-form-item label="主单类型" prop="main_order_type">
|
||||||
<el-radio-group v-model="form.main_order_type">
|
<el-radio-group v-model="form.main_order_type">
|
||||||
<el-radio label="LIMIT">限价</el-radio>
|
<el-radio label="LIMIT">限价</el-radio>
|
||||||
@ -618,7 +661,7 @@
|
|||||||
<el-radio label="MARKET">市价</el-radio>
|
<el-radio label="MARKET">市价</el-radio>
|
||||||
</el-radio-group>
|
</el-radio-group>
|
||||||
</el-form-item>
|
</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-group v-model="form.add_position_main_type">
|
||||||
<el-radio label="LIMIT">限价</el-radio>
|
<el-radio label="LIMIT">限价</el-radio>
|
||||||
<el-radio label="MARKET">市价</el-radio>
|
<el-radio label="MARKET">市价</el-radio>
|
||||||
@ -629,7 +672,7 @@
|
|||||||
<el-radio label="LIMIT">限价</el-radio>
|
<el-radio label="LIMIT">限价</el-radio>
|
||||||
<el-radio label="MARKET">市价</el-radio>
|
<el-radio label="MARKET">市价</el-radio>
|
||||||
</el-radio-group>
|
</el-radio-group>
|
||||||
</el-form-item>
|
</el-form-item> -->
|
||||||
<el-form-item label="对标价类型" prop="price_type">
|
<el-form-item label="对标价类型" prop="price_type">
|
||||||
<el-radio-group v-model="form.price_type">
|
<el-radio-group v-model="form.price_type">
|
||||||
<el-radio label="new">最新价</el-radio>
|
<el-radio label="new">最新价</el-radio>
|
||||||
@ -1119,6 +1162,7 @@ export default {
|
|||||||
},
|
},
|
||||||
// 表单校验
|
// 表单校验
|
||||||
rules: {
|
rules: {
|
||||||
|
exchange_type: [{ required: true, message: '交易所不能为空', trigger: 'blur' }],
|
||||||
api_id: [{ required: true, message: 'api用户不能为空', trigger: 'blur' }],
|
api_id: [{ required: true, message: 'api用户不能为空', trigger: 'blur' }],
|
||||||
symbol: [{ required: true, message: '交易对不能为空', trigger: 'blur' }],
|
symbol: [{ required: true, message: '交易对不能为空', trigger: 'blur' }],
|
||||||
symbol_group_id: [{ required: true, message: '交易对组不能为空', trigger: 'blur' }],
|
symbol_group_id: [{ required: true, message: '交易对组不能为空', trigger: 'blur' }],
|
||||||
@ -1170,7 +1214,8 @@ export default {
|
|||||||
symbol: undefined,
|
symbol: undefined,
|
||||||
order_sn: undefined
|
order_sn: undefined
|
||||||
},
|
},
|
||||||
btnLoading: false
|
btnLoading: false,
|
||||||
|
exchangeTypes: []
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
computed: {
|
computed: {
|
||||||
@ -1231,6 +1276,10 @@ export default {
|
|||||||
this.getLineApiUserItems()
|
this.getLineApiUserItems()
|
||||||
this.getSymbolGroup()
|
this.getSymbolGroup()
|
||||||
this.getListLineApiUser()
|
this.getListLineApiUser()
|
||||||
|
// 获取交易所字典数据
|
||||||
|
this.getDicts('exchange_type').then(response => {
|
||||||
|
this.exchangeTypes = response.data
|
||||||
|
})
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
onSelectAll() {
|
onSelectAll() {
|
||||||
@ -1249,7 +1298,7 @@ export default {
|
|||||||
},
|
},
|
||||||
// 获取杠杆api用户
|
// 获取杠杆api用户
|
||||||
getListLineApiUser() {
|
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.lineUsers = response.data.list
|
||||||
this.lineTotal = response.data.count
|
this.lineTotal = response.data.count
|
||||||
})
|
})
|
||||||
@ -1260,7 +1309,7 @@ export default {
|
|||||||
const { pageIndex } = this.symbol
|
const { pageIndex } = this.symbol
|
||||||
const symbol = typeof e === 'object' ? '' : e
|
const symbol = typeof e === 'object' ? '' : e
|
||||||
const apiCall = this.title === '添加委托管理' && ([1, 3].includes(this.form.cover_type)) ? getSameSymbol : listLineSymbol
|
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.total = res.data.count
|
||||||
this.symbol.symbolList = res.data.list
|
this.symbol.symbolList = res.data.list
|
||||||
}).finally(() => {
|
}).finally(() => {
|
||||||
@ -1269,7 +1318,7 @@ export default {
|
|||||||
},
|
},
|
||||||
// 获取交易对组
|
// 获取交易对组
|
||||||
getSymbolGroup(type = 2) {
|
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
|
this.symbolGroups = res.data.list
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
@ -1526,6 +1575,7 @@ export default {
|
|||||||
close_type: undefined,
|
close_type: undefined,
|
||||||
direction: undefined,
|
direction: undefined,
|
||||||
|
|
||||||
|
exchange_type: this.exchangeTypes.length ? this.exchangeTypes[0].value : '',
|
||||||
scale_type: 2,
|
scale_type: 2,
|
||||||
main_order_type: 'LIMIT',
|
main_order_type: 'LIMIT',
|
||||||
hedge_order_type: 'LIMIT',
|
hedge_order_type: 'LIMIT',
|
||||||
|
|||||||
@ -109,38 +109,35 @@
|
|||||||
icon="el-icon-view"
|
icon="el-icon-view"
|
||||||
@click="handlePreview(scope.row)"
|
@click="handlePreview(scope.row)"
|
||||||
>预览</el-button>
|
>预览</el-button>
|
||||||
<el-button
|
<el-button
|
||||||
slot="reference"
|
slot="reference"
|
||||||
type="text"
|
type="text"
|
||||||
size="small"
|
size="small"
|
||||||
icon="el-icon-view"
|
icon="el-icon-view"
|
||||||
@click="handleToProject(scope.row)"
|
@click="handleToProject(scope.row)"
|
||||||
>代码生成</el-button>
|
>代码生成</el-button>
|
||||||
|
|
||||||
<el-button
|
<el-button
|
||||||
slot="reference"
|
slot="reference"
|
||||||
type="text"
|
type="text"
|
||||||
size="small"
|
size="small"
|
||||||
icon="el-icon-view"
|
icon="el-icon-view"
|
||||||
@click="handleToDB(scope.row)"
|
@click="handleToDB(scope.row)"
|
||||||
>生成配置</el-button>
|
>生成配置</el-button>
|
||||||
|
<el-button
|
||||||
|
slot="reference"
|
||||||
<el-button
|
type="text"
|
||||||
slot="reference"
|
size="small"
|
||||||
type="text"
|
icon="el-icon-view"
|
||||||
size="small"
|
@click="handleToApiFile(scope.row)"
|
||||||
icon="el-icon-view"
|
>生成迁移脚本</el-button>
|
||||||
@click="handleToApiFile(scope.row)"
|
<el-button
|
||||||
>生成迁移脚本</el-button>
|
slot="reference"
|
||||||
|
type="text"
|
||||||
<el-button
|
size="small"
|
||||||
slot="reference"
|
icon="el-icon-delete"
|
||||||
type="text"
|
@click="handleSingleDelete(scope.row)"
|
||||||
size="small"
|
>删除</el-button>
|
||||||
icon="el-icon-delete"
|
|
||||||
@click="handleSingleDelete(scope.row)"
|
|
||||||
>删除</el-button>
|
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
</el-table>
|
</el-table>
|
||||||
@ -159,7 +156,7 @@
|
|||||||
<div class="el-dialog-container">
|
<div class="el-dialog-container">
|
||||||
<div class="tag-group">
|
<div class="tag-group">
|
||||||
<!-- eslint-disable-next-line vue/valid-v-for -->
|
<!-- 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>
|
<template>
|
||||||
{{ key.substring(key.lastIndexOf('/')+1,key.indexOf('.go.template')) }}
|
{{ key.substring(key.lastIndexOf('/')+1,key.indexOf('.go.template')) }}
|
||||||
</template>
|
</template>
|
||||||
|
|||||||
Reference in New Issue
Block a user