| | |
| | | grid-column: span 2; |
| | | } |
| | | |
| | | .profile-dialog-layout { |
| | | width: 100%; |
| | | } |
| | | |
| | | .profile-dialog-layout .el-form { |
| | | width: 100%; |
| | | } |
| | | |
| | | .section-card { |
| | | border: 1px solid rgba(219, 229, 238, 0.96); |
| | | border-radius: 18px; |
| | |
| | | <div class="hero-grid"> |
| | | <div class="panel-card profile-panel"> |
| | | <div class="panel-head"> |
| | | <div><h2>模板与模式</h2></div> |
| | | <div><h2>模板配置</h2></div> |
| | | <el-button type="primary" plain size="small" icon="el-icon-plus" @click="openProfileDialog()">新增模板</el-button> |
| | | </div> |
| | | <div class="panel-body"> |
| | | <div class="setting-grid"> |
| | | <div class="section-card"> |
| | | <h3>全局开关</h3> |
| | | <h3>全局配置</h3> |
| | | <el-form label-position="top"> |
| | | <div class="dialog-grid"> |
| | | <el-form-item label="评分模式" class="span-2"> |
| | | <el-radio-group v-model="scoreMode"> |
| | | <el-radio-button label="legacy">legacy</el-radio-button> |
| | | <el-radio-button label="twoStage">twoStage</el-radio-button> |
| | | </el-radio-group> |
| | | </el-form-item> |
| | | <el-form-item label="默认模板" class="span-2"> |
| | | <el-select v-model="defaultProfileCode" placeholder="请选择默认模板" filterable style="width: 100%;"> |
| | | <el-option v-for="item in profiles" :key="item.profileCode" :label="item.profileName + ' (' + item.profileCode + ')'" :value="item.profileCode"></el-option> |
| | |
| | | </div> |
| | | <div class="entity-desc"> |
| | | S1: 长度 {{ item.config.s1LenWeight }} / 拐点 {{ item.config.s1TurnWeight }} / 顶升 {{ item.config.s1LiftWeight }}<br> |
| | | S2: 忙站 {{ item.config.s2BusyWeight }} / 堵塞 {{ item.config.s2RunBlockWeight }} / 环线 {{ item.config.s2LoopLoadWeight }} |
| | | S2: 忙站 {{ item.config.s2BusyWeight }} / 堵塞 {{ item.config.s2RunBlockWeight }} / 环线 {{ item.config.s2LoopLoadWeight }}<br> |
| | | 平衡: 长度 {{ item.config.stationPathLenWeightPercent }}% / 承载 {{ item.config.stationPathCongWeightPercent }}% / 他出惩罚 {{ item.config.stationPathPassOtherOutStationWeightPercent }} / 强跳 {{ item.config.stationPathPassOtherOutStationForceSkip ? '是' : '否' }} |
| | | </div> |
| | | <div class="entity-actions"> |
| | | <el-button size="mini" @click.stop="openProfileDialog(item)">编辑</el-button> |
| | |
| | | </div> |
| | | |
| | | <el-dialog title="路径模板" :visible.sync="profileDialogVisible" width="820px" class="dialog-panel" append-to-body :destroy-on-close="true"> |
| | | <div class="dialog-grid"> |
| | | <div class="profile-dialog-layout"> |
| | | <el-form label-position="top" label-width="120px" style="width: 100%;"> |
| | | <div class="section-card"> |
| | | <h3>基础信息</h3> |
| | |
| | | </div> |
| | | |
| | | <div class="section-card"> |
| | | <h3>路径平衡参数</h3> |
| | | <div class="dialog-grid"> |
| | | <el-form-item label="路径长度权重占比(%)"><el-input-number v-model="profileForm.config.stationPathLenWeightPercent" :min="0" :step="5" style="width: 100%;"></el-input-number></el-form-item> |
| | | <el-form-item label="任务承载权重占比(%)"><el-input-number v-model="profileForm.config.stationPathCongWeightPercent" :min="0" :step="5" style="width: 100%;"></el-input-number></el-form-item> |
| | | <el-form-item label="其他出库站点惩罚权重"><el-input-number v-model="profileForm.config.stationPathPassOtherOutStationWeightPercent" :min="0" :step="10" style="width: 100%;"></el-input-number></el-form-item> |
| | | <el-form-item label="其他出库站点强制跳过"><el-switch v-model="profileForm.config.stationPathPassOtherOutStationForceSkip"></el-switch></el-form-item> |
| | | </div> |
| | | </div> |
| | | |
| | | <div class="section-card"> |
| | | <h3>第二阶段动态评分</h3> |
| | | <div class="dialog-grid"> |
| | | <el-form-item label="忙站权重"><el-input-number v-model="profileForm.config.s2BusyWeight" :min="0" :step="0.5" style="width: 100%;"></el-input-number></el-form-item> |