修改前端页面
This commit is contained in:
parent
2e2a055dab
commit
314250eee1
|
|
@ -37,6 +37,11 @@
|
|||
.clr-up{color:#f56c6c;} .clr-down{color:#67c23a;}
|
||||
.attn{color:#e6a23c;padding:3px 0;}
|
||||
.tblk h3{margin:0 0 10px;font-size:14px;color:#409EFF;font-weight:600;}
|
||||
.op-row{display:flex;align-items:flex-start;gap:12px;padding:6px 0;border-bottom:1px solid #262626;}
|
||||
.op-row:last-child{border-bottom:none;}
|
||||
.op-btn{flex:none;width:150px;}
|
||||
.op-btn .el-button{width:100%;}
|
||||
.op-row .d{color:#999;font-size:12px;line-height:1.5;padding-top:3px;}
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
|
|
@ -223,15 +228,31 @@
|
|||
<!-- 5) 组合操作 + 设置 -->
|
||||
<div class="panel tblk">
|
||||
<h3>组合操作</h3>
|
||||
<div class="row">
|
||||
<el-button size="small" :type="ov.buy_halt?'success':'warning'" @click="ov.buy_halt?pResumeBuy():pHaltBuy()">{{ ov.buy_halt?'恢复买入':'暂停买入' }}</el-button>
|
||||
<el-button size="small" :type="ov.exec_halt?'success':''" @click="ov.exec_halt?pResumeAll():pHaltAll()">{{ ov.exec_halt?'结束休假':'休假模式' }}</el-button>
|
||||
<el-button size="small" @click="pReduce()">降仓…</el-button>
|
||||
<el-button size="small" @click="pIncrease()">升仓…</el-button>
|
||||
<el-button size="small" :disabled="!ov.sector_ready" @click="pSectorExit()">清仓某行业…</el-button>
|
||||
<el-button size="small" type="danger" @click="pLiquidate()">一键清仓(紧急)</el-button>
|
||||
<div class="muted" style="margin-bottom:8px">对整个组合的手动动作。带「…」的会先弹窗让你填数值;危险动作要二次确认。</div>
|
||||
<div class="op-row">
|
||||
<span class="op-btn"><el-button size="small" :type="ov.buy_halt?'success':'warning'" @click="ov.buy_halt?pResumeBuy():pHaltBuy()">{{ ov.buy_halt?'恢复买入':'暂停买入' }}</el-button></span>
|
||||
<span class="d">停止一切新增买入,并撤销在途买入指令;卖出与止损不受影响。当前:{{ ov.buy_halt?'已暂停买入':'买入正常' }}。</span>
|
||||
</div>
|
||||
<div class="op-row">
|
||||
<span class="op-btn"><el-button size="small" :type="ov.exec_halt?'success':''" @click="ov.exec_halt?pResumeAll():pHaltAll()">{{ ov.exec_halt?'结束休假':'休假模式' }}</el-button></span>
|
||||
<span class="d">所有自动动作暂停,只保留对账与日报(长假或手动接管时用)。当前:{{ ov.exec_halt?'休假中':'正常运行' }}。</span>
|
||||
</div>
|
||||
<div class="op-row">
|
||||
<span class="op-btn"><el-button size="small" @click="pReduce()">降仓…</el-button></span>
|
||||
<span class="d">按占总规模的百分比整体减少敞口。优先级:停新买 → 清弱票 → 收利润 → 等比微减。</span>
|
||||
</div>
|
||||
<div class="op-row">
|
||||
<span class="op-btn"><el-button size="small" @click="pIncrease()">升仓…</el-button></span>
|
||||
<span class="d">按占总规模的百分比整体提高敞口。来源:持仓补到目标 + 候选池新票建仓。</span>
|
||||
</div>
|
||||
<div class="op-row">
|
||||
<span class="op-btn"><el-button size="small" :disabled="!ov.sector_ready" @click="pSectorExit()">清仓某行业…</el-button></span>
|
||||
<span class="d">卖光指定行业的全部持仓。{{ ov.sector_ready?'':'(行业数据未就绪,暂不可用)' }}</span>
|
||||
</div>
|
||||
<div class="op-row">
|
||||
<span class="op-btn"><el-button size="small" type="danger" @click="pLiquidate()">一键清仓(紧急)</el-button></span>
|
||||
<span class="d">全部持仓按最快节奏卖出、不做择时优化。用于紧急离场,需二次确认。</span>
|
||||
</div>
|
||||
<div class="muted" style="margin-top:6px">暂停买入不影响卖出与止损;一键清仓会把全部持仓按最快节奏卖出、不做择时优化。</div>
|
||||
</div>
|
||||
<div class="panel tblk">
|
||||
<h3>设置</h3>
|
||||
|
|
@ -252,6 +273,7 @@
|
|||
<el-button size="small" type="primary" :disabled="!dirtyCount" @click="saveParams">保存修改 ({{ dirtyCount }})</el-button>
|
||||
<el-button size="small" @click="loadParams">放弃</el-button>
|
||||
<span class="muted">改「自主档位」或「总仓上限」会即时生效;调低总仓上限可能触发降仓提议。</span>
|
||||
<span class="muted">补仓(浮亏时逢跌补仓):「补仓上限」设为 0 即关闭补仓;「补仓评估档」是触发补仓的浮亏档位(如 -0.08,-0.15);到「深档确认」及更深的补仓永远要你点头。</span>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
|
@ -1105,8 +1127,13 @@ createApp({
|
|||
|
||||
const heldPositions = computed(() => (positions.value || []).filter(p => (p.total_qty || 0) > 0));
|
||||
const settingKeys = ['PMS_TOTAL_SCALE', 'PMS_PORTFOLIO_CAP', 'PMS_STOCK_CAP',
|
||||
'PMS_MAX_NAMES', 'PMS_CASH_RESERVE', 'PMS_AUTONOMY'];
|
||||
const traderParams = computed(() => (params.value || []).filter(p => settingKeys.includes(p.key)));
|
||||
'PMS_MAX_NAMES', 'PMS_CASH_RESERVE',
|
||||
'PMS_DCA_MAX_RATIO', 'PMS_DCA_TRIGGERS', 'PMS_DCA_DEEP_CONFIRM',
|
||||
'PMS_FILL_MAX_LOSS', 'PMS_AUTONOMY'];
|
||||
const traderParams = computed(() => {
|
||||
const ix = {}; settingKeys.forEach((k, i) => ix[k] = i);
|
||||
return (params.value || []).filter(p => settingKeys.includes(p.key)).sort((a, b) => ix[a.key] - ix[b.key]);
|
||||
});
|
||||
|
||||
const attention = computed(() => {
|
||||
const o = ov.value || {}, out = [];
|
||||
|
|
|
|||
Loading…
Reference in New Issue