2.17
This commit is contained in:
parent
bc559e4ef5
commit
e4072970b9
@ -128,6 +128,39 @@
|
||||
|
||||
|
||||
<el-tabs v-if="activeMenu === '2-2'">
|
||||
<el-tab-pane label="车道默认属性">
|
||||
<!-- 测试 -->
|
||||
<el-col :span="8">
|
||||
<div class="Smart_Mode">
|
||||
<el-card>
|
||||
<h3 style="font-size: 18px; color: #333; text-align: center; margin-bottom: 1rem;">
|
||||
车道默认设置
|
||||
</h3>
|
||||
<el-form label-width="100px">
|
||||
<div v-for="lane in 4" :key="lane">
|
||||
<el-form-item :label="'车道' + lane">
|
||||
<el-select v-model="laneDefaults[`lane${lane}`]" collapse-tags
|
||||
placeholder="请选择行驶方向" style="width: 350px">
|
||||
<!-- 动态生成车道选项 -->
|
||||
<el-option v-for="(label, value) in modeMapping" :key="value"
|
||||
:label="label" :value="value">
|
||||
</el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
</div>
|
||||
<el-form-item>
|
||||
<div style="margin-left: 120px;">
|
||||
<el-button type="primary" @click="saveLaneDefaults">保存设置</el-button>
|
||||
</div>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
|
||||
</el-card>
|
||||
</div>
|
||||
|
||||
</el-col>
|
||||
</el-tab-pane>
|
||||
|
||||
<!-- 新增方案 -->
|
||||
<el-tab-pane label="方案列表">
|
||||
<div class="plan-list-header">
|
||||
@ -179,13 +212,22 @@
|
||||
<el-input v-model="newPlan.name" placeholder="请输入方案名称"></el-input>
|
||||
</el-form-item>
|
||||
|
||||
<el-form-item label="车道模式">
|
||||
<!-- <el-form-item label="车道模式">
|
||||
<el-select v-model="newPlan.selectedMode" placeholder="请选择车道模式">
|
||||
<el-option label="左转 直行" :value="1"></el-option>
|
||||
<el-option label="右转 直行" :value="2"></el-option>
|
||||
</el-select>
|
||||
</el-form-item> -->
|
||||
|
||||
|
||||
<el-form-item label="车道模式">
|
||||
<el-select v-model="newPlan.selectedMode" placeholder="请选择车道模式">
|
||||
<el-option v-for="(label, value) in modeMapping" :key="value" :label="label"
|
||||
:value="value"></el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
|
||||
|
||||
<el-form-item label="时间段设置">
|
||||
<el-time-picker v-model="newPlan.timeRange" is-range range-separator="至"
|
||||
start-placeholder="开始时间" end-placeholder="结束时间" style="width: 350px;" />
|
||||
@ -220,59 +262,6 @@
|
||||
</template>
|
||||
</el-dialog>
|
||||
</el-tab-pane>
|
||||
<el-tab-pane label="默认设置">
|
||||
<!-- 测试 -->
|
||||
<el-col :span="8">
|
||||
<div class="Smart_Mode">
|
||||
<el-card>
|
||||
<h3 style="font-size: 18px; color: #333; text-align: center; margin-bottom: 1rem;">
|
||||
车道默认设置
|
||||
</h3>
|
||||
<el-form label-width="100px">
|
||||
<div v-for="(lane, index) in 4" :key="index">
|
||||
<el-form-item :label="'车道' + (lane)">
|
||||
<el-select v-model="laneDefaults[`lane${lane}`]" collapse-tags
|
||||
placeholder="请选择行驶方向" style="width: 350px">
|
||||
<el-option label="左转 直行" value="0"></el-option>
|
||||
<el-option label="右转 直行" value="1"></el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
</div>
|
||||
<el-form-item>
|
||||
<div style="margin-left: 120px;">
|
||||
<el-button type="primary" @click="saveLaneDefaults">保存设置</el-button>
|
||||
</div>
|
||||
</el-form-item>
|
||||
|
||||
|
||||
</el-form>
|
||||
</el-card>
|
||||
</div>
|
||||
</el-col>
|
||||
|
||||
|
||||
<!--
|
||||
<el-form label-width="120px">
|
||||
<el-form-item label="车道默认设置">
|
||||
<div class="lane-settings-container">
|
||||
<div v-for="(lane, index) in 4" :key="index" class="lane-setting-vertical">
|
||||
<div class="lane-header">车道{{ lane }}</div>
|
||||
<el-select v-model="laneDefaults[`lane${lane}`]" collapse-tags
|
||||
placeholder="请选择行驶方向" style="width: 150px">
|
||||
<el-option label="左转 直行" value="0"></el-option>
|
||||
<el-option label="右转 直行" value="1"></el-option>
|
||||
</el-select>
|
||||
</div>
|
||||
</div>
|
||||
</el-form-item>
|
||||
<el-form-item>
|
||||
<div style="margin-left: 320px;">
|
||||
<el-button type="primary" @click="saveLaneDefaults">保存设置</el-button>
|
||||
</div>
|
||||
</el-form-item>
|
||||
|
||||
</el-form> -->
|
||||
</el-tab-pane>
|
||||
|
||||
</el-tabs>
|
||||
</el-main>
|
||||
@ -353,6 +342,12 @@ export default {
|
||||
lane3: [],
|
||||
lane4: []
|
||||
},
|
||||
modeMapping: {
|
||||
0: '左转 直行',
|
||||
1: '右转 直行',
|
||||
2: '转弯', // 增加转弯模式
|
||||
// 可以继续添加更多模式
|
||||
},
|
||||
planDialogVisible: false,
|
||||
dialogTitle: '新增方案',
|
||||
isEdit: false,
|
||||
@ -500,7 +495,7 @@ export default {
|
||||
scheme: [{
|
||||
id: newId, // 使用生成的 ID
|
||||
name: this.newPlan.name,
|
||||
selectedMode: this.newPlan.selectedMode,
|
||||
selectedMode: Number(this.newPlan.selectedMode),
|
||||
timeRange: {
|
||||
start: formatTime(startTime),
|
||||
end: formatTime(endTime)
|
||||
@ -540,6 +535,10 @@ export default {
|
||||
message: response.data?.parameters?.message || '方案添加成功',
|
||||
type: 'success'
|
||||
});
|
||||
// 延迟 2 秒后调用 getAllInfo
|
||||
setTimeout(() => {
|
||||
this.getAllInfo(); // 延迟调用
|
||||
}, 2000); // 2000 毫秒 = 2 秒
|
||||
} else {
|
||||
ElMessage({
|
||||
message: response.data?.parameters?.message || '方案添加失败',
|
||||
@ -614,12 +613,13 @@ export default {
|
||||
// 解析 repeatDays 二进制字符串
|
||||
const repeatDaysBinary = scheme.repeatDays.split('').map(Number); // 转换为数字数组
|
||||
const repeatDays = repeatDaysBinary.map((day, index) => day === 1 ? index : null).filter(Boolean); // 过滤出选中的日期
|
||||
const selectedMode = this.modeMapping[scheme.selectedMode] || '未知模式'; // 默认为 '未知模式'
|
||||
|
||||
return {
|
||||
id: parseInt(scheme.id),
|
||||
name: scheme.name,
|
||||
timeRange: `${scheme.timeRange.start} - ${scheme.timeRange.end}`,
|
||||
selectedMode: parseInt(scheme.selectedMode),
|
||||
selectedMode: selectedMode, // 使用对应的车道模式文字
|
||||
lanes: lanes, // 使用解析后的车道
|
||||
repeatDays: repeatDays, // 使用解析后的重复日期
|
||||
enabled: Boolean(scheme.en)
|
||||
@ -629,14 +629,16 @@ export default {
|
||||
|
||||
// 更新默认车道设置
|
||||
if (response.data.parameters.laneSetting) {
|
||||
this.laneDefaults = {
|
||||
lane1: response.data.parameters.laneSetting.lane1 || 0,
|
||||
lane2: response.data.parameters.laneSetting.lane2 || 0,
|
||||
lane3: response.data.parameters.laneSetting.lane3 || 0,
|
||||
lane4: response.data.parameters.laneSetting.lane4 || 0
|
||||
};
|
||||
this.laneDefaults = {};
|
||||
for (let i = 1; i <= 4; i++) {
|
||||
// 获取数值,并使用映射表转换为对应的文字描述
|
||||
const laneValue = response.data.parameters.laneSetting[`lane${i}`] ?? 0;
|
||||
this.laneDefaults[`lane${i}`] = this.modeMapping[laneValue] || '未知模式'; // 如果没有对应值,默认显示 '未知模式'
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
// 更新设备信息
|
||||
if (response.data.parameters.deviceInfo) {
|
||||
this.version = response.data.parameters.deviceInfo.version;
|
||||
@ -772,11 +774,15 @@ export default {
|
||||
type: 'error'
|
||||
});
|
||||
}
|
||||
this.getAllInfo();
|
||||
// 延迟 2 秒后调用 getAllInfo
|
||||
setTimeout(() => {
|
||||
this.getAllInfo(); // 延迟调用
|
||||
}, 2000); // 2000 毫秒 = 2 秒
|
||||
},
|
||||
|
||||
// 编辑方案
|
||||
editPlan(plan) {
|
||||
console.log("测试", JSON.stringify(plan, null, 2));
|
||||
this.isEdit = true;
|
||||
this.dialogTitle = '编辑方案';
|
||||
this.currentEditId = plan.id;
|
||||
@ -795,14 +801,17 @@ export default {
|
||||
const endDate = new Date(today);
|
||||
endDate.setHours(parseInt(endHour), parseInt(endMinute), 0);
|
||||
|
||||
// 反向映射 selectedMode
|
||||
|
||||
this.newPlan = {
|
||||
name: plan.name,
|
||||
selectedMode: plan.selectedMode,
|
||||
// selectedMode: Number(selectedModeValue), // 确保是数字
|
||||
selectedMode: plan.selectedMode, // 确保是数字
|
||||
timeRange: [startDate, endDate], // 使用 Date 对象
|
||||
lanes: [...(plan.lanes || [])],
|
||||
repeatDays: [...(plan.repeatDays || [])].map(String)
|
||||
};
|
||||
|
||||
console.log("测试", JSON.stringify(this.newPlan, null, 2));
|
||||
this.planDialogVisible = true;
|
||||
},
|
||||
|
||||
@ -836,6 +845,8 @@ export default {
|
||||
repeatDaysBinary[day] = 1; // 设置为 1
|
||||
});
|
||||
const repeatDaysBinaryString = repeatDaysBinary.join(''); // 转换为字符串
|
||||
console.log("测试", JSON.stringify(this.newPlan.selectedMode, null, 2));
|
||||
const selectedModeValue = Object.keys(this.modeMapping).find(key => this.modeMapping[key] === this.newPlan.selectedMode) || 0; // 默认值为 0
|
||||
|
||||
const editedPlan = {
|
||||
JSON_id: getNextJsonId(),
|
||||
@ -844,7 +855,7 @@ export default {
|
||||
scheme: [{
|
||||
id: this.currentEditId,
|
||||
name: this.newPlan.name,
|
||||
selectedMode: this.newPlan.selectedMode,
|
||||
selectedMode: Number(selectedModeValue),
|
||||
timeRange: {
|
||||
start: formatTime(startTime),
|
||||
end: formatTime(endTime)
|
||||
@ -854,6 +865,7 @@ export default {
|
||||
}]
|
||||
}
|
||||
};
|
||||
console.log("测试", JSON.stringify(this.editedPlan, null, 2));
|
||||
|
||||
console.log('发送方案编辑请求:', JSON.stringify(editedPlan, null, 2));
|
||||
|
||||
@ -888,6 +900,10 @@ export default {
|
||||
message: response.data?.parameters?.message || '方案编辑成功',
|
||||
type: 'success'
|
||||
});
|
||||
// 延迟 2 秒后调用 getAllInfo
|
||||
setTimeout(() => {
|
||||
this.getAllInfo(); // 延迟调用
|
||||
}, 2000); // 2000 毫秒 = 2 秒
|
||||
} else {
|
||||
ElMessage({
|
||||
message: response.data?.parameters?.message || '方案编辑失败',
|
||||
|
Loading…
x
Reference in New Issue
Block a user