1、批量下单 波段策略未应用

This commit is contained in:
2025-06-17 18:22:58 +08:00
parent 4a0a1f929e
commit 79e93c1dfa
4 changed files with 35 additions and 56 deletions

View File

@ -2,5 +2,5 @@
ENV = 'development' ENV = 'development'
# base api # base api
VUE_APP_BASE_API = 'http://192.168.2.102:6789' VUE_APP_BASE_API = 'http://192.168.2.22:6789'

View File

@ -5,9 +5,9 @@
"author": "https://github.com/wenjianzhang", "author": "https://github.com/wenjianzhang",
"license": "MIT", "license": "MIT",
"scripts": { "scripts": {
"dev": "vue-cli-service serve", "dev": "set NODE_OPTIONS=--openssl-legacy-provider && vue-cli-service serve",
"build:prod": "vue-cli-service build", "build:prod": "set NODE_OPTIONS=--openssl-legacy-provider && vue-cli-service build",
"build:stage": "vue-cli-service build --mode staging", "build:stage": "set NODE_OPTIONS=--openssl-legacy-provider && vue-cli-service build --mode staging",
"preview": "node build/index.js --preview", "preview": "node build/index.js --preview",
"lint": "eslint --ext .js,.vue src", "lint": "eslint --ext .js,.vue src",
"test:unit": "jest --clearCache && vue-cli-service test:unit", "test:unit": "jest --clearCache && vue-cli-service test:unit",

View File

@ -1,4 +1,3 @@
<template> <template>
<BasicLayout> <BasicLayout>
<template #wrapper> <template #wrapper>
@ -47,7 +46,13 @@
</el-row> </el-row>
<el-table v-loading="loading" :data="lineApiUserList" @selection-change="handleSelectionChange"> <el-table v-loading="loading" :data="lineApiUserList" @selection-change="handleSelectionChange">
<el-table-column type="selection" width="55" align="center" /><el-table-column label="用户名" align="center" prop="userId" :formatter="userIdFormat" width="100"> <el-table-column type="selection" width="55" align="center" /><el-table-column
label="用户名"
align="center"
prop="userId"
:formatter="userIdFormat"
width="100"
>
<template slot-scope="scope"> <template slot-scope="scope">
{{ userIdFormat(scope.row) }} {{ userIdFormat(scope.row) }}
</template> </template>
@ -57,22 +62,12 @@
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">
label="交易所" <template #default="{ row }">
align="center"
prop="apiName"
:show-overflow-tooltip="true"
>
<template #default="{row}">
{{ exchangeTypeFormat(row) }} {{ exchangeTypeFormat(row) }}
</template> </template>
</el-table-column> </el-table-column>
<el-table-column <el-table-column label="apiKey" align="center" prop="apiKey" :show-overflow-tooltip="true" /><el-table-column
label="apiKey"
align="center"
prop="apiKey"
:show-overflow-tooltip="true"
/><el-table-column
label="apiSecret" label="apiSecret"
align="center" align="center"
prop="apiSecret" prop="apiSecret"
@ -125,13 +120,9 @@
{{ groupIdFormat(scope.row) }} {{ groupIdFormat(scope.row) }}
</template> </template>
</el-table-column> --> </el-table-column> -->
<el-table-column <el-table-column label="开启状态" align="center" prop="openStatus" :show-overflow-tooltip="true">
label="开启状态" <template #default="{ row }"><el-tag size="mini" :type="['danger', 'success'][row.openStatus]">{{
align="center" ['已关闭', '已开启'][row.openStatus] }}</el-tag></template>
prop="openStatus"
:show-overflow-tooltip="true"
>
<template #default="{row}"><el-tag size="mini" :type="['danger','success'][row.openStatus]">{{ ['已关闭','已开启'][row.openStatus] }}</el-tag></template>
</el-table-column> </el-table-column>
<el-table-column <el-table-column
label="合约最后通信时间" label="合约最后通信时间"
@ -139,14 +130,20 @@
width="180" width="180"
prop="futuresLastTime" prop="futuresLastTime"
:show-overflow-tooltip="true" :show-overflow-tooltip="true"
/> >
<template #default="{ row }">{{ parseTime(row.futuresLastTime) }}</template>
</el-table-column>
<el-table-column <el-table-column
label="现货最后通信时间" label="现货最后通信时间"
align="center" align="center"
prop="spotLastTime" prop="spotLastTime"
width="180" width="180"
:show-overflow-tooltip="true" :show-overflow-tooltip="true"
/> >
<template slot-scope="scope">
{{ parseTime(scope.row.spotLastTime) }}
</template>
</el-table-column>
<el-table-column label="操作" fixed="right" width="150" align="center" class-name="small-padding fixed-width"> <el-table-column label="操作" fixed="right" width="150" align="center" class-name="small-padding fixed-width">
<template slot-scope="scope"> <template slot-scope="scope">
<el-popconfirm <el-popconfirm
@ -184,7 +181,7 @@
</el-table> </el-table>
<pagination <pagination
v-show="total>0" v-show="total > 0"
:total="total" :total="total"
:page.sync="queryParams.pageIndex" :page.sync="queryParams.pageIndex"
:limit.sync="queryParams.pageSize" :limit.sync="queryParams.pageSize"
@ -212,43 +209,23 @@
filterable filterable
size="small" size="small"
> >
<el-option <el-option v-for="dict in exchangeTypes" :key="dict.value" :label="dict.label" :value="dict.value" />
v-for="dict in exchangeTypes"
:key="dict.value"
:label="dict.label"
:value="dict.value"
/>
</el-select> </el-select>
</el-form-item> </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" placeholder="api用户名" />
v-model="form.apiName"
placeholder="api用户名"
/>
</el-form-item> </el-form-item>
<el-form-item label="apiKey" prop="apiKey"> <el-form-item label="apiKey" prop="apiKey">
<el-input <el-input v-model="form.apiKey" placeholder="apiKey" />
v-model="form.apiKey"
placeholder="apiKey"
/>
</el-form-item> </el-form-item>
<el-form-item label="apiSecret" prop="apiSecret"> <el-form-item label="apiSecret" prop="apiSecret">
<el-input <el-input v-model="form.apiSecret" placeholder="apiSecret" />
v-model="form.apiSecret"
placeholder="apiSecret"
/>
</el-form-item> </el-form-item>
<el-form-item label="代理地址" prop="ipAddress"> <el-form-item label="代理地址" prop="ipAddress">
<el-input <el-input v-model="form.ipAddress" placeholder="代理地址" />
v-model="form.ipAddress"
placeholder="代理地址"
/>
</el-form-item> </el-form-item>
<el-form-item label="代码账号密码" prop="userPass"> <el-form-item label="代码账号密码" prop="userPass">
<el-input <el-input v-model="form.userPass" placeholder="代码账号密码" />
v-model="form.userPass"
placeholder="代码账号密码"
/>
</el-form-item> </el-form-item>
<!-- <el-form-item label="管理员id" prop="adminId"> <!-- <el-form-item label="管理员id" prop="adminId">
<el-input v-model="form.adminId" placeholder="管理员id" <el-input v-model="form.adminId" placeholder="管理员id"
@ -449,7 +426,7 @@ export default {
handleUpdate(row) { handleUpdate(row) {
this.reset() this.reset()
const id = const id =
row.id || this.ids row.id || this.ids
getLineApiUser(id).then(response => { getLineApiUser(id).then(response => {
this.form = response.data this.form = response.data
this.open = true this.open = true

View File

@ -2164,6 +2164,7 @@ export default {
if (this.title === '批量添加') { if (this.title === '批量添加') {
const params = JSON.parse(JSON.stringify({ const params = JSON.parse(JSON.stringify({
...this.form, ...this.form,
price: String(this.form.price),
symbol_group_id: String(this.form.symbol_group_id), symbol_group_id: String(this.form.symbol_group_id),
api_id: this.form.api_id.toString(), api_id: this.form.api_id.toString(),
profit_num_ratio: this.form.profit_num_ratio || 100, profit_num_ratio: this.form.profit_num_ratio || 100,
@ -2195,6 +2196,7 @@ export default {
} }
addOrder({ addOrder({
...this.form, ...this.form,
price: String(this.form.price),
reduce_price: this.form.reduce_price || 0, reduce_price: this.form.reduce_price || 0,
reduce_num: this.form.reduce_num || 0, reduce_num: this.form.reduce_num || 0,
reduce_take_profit: this.form.reduce_take_profit || 0, reduce_take_profit: this.form.reduce_take_profit || 0,