管理页面设置光盘桶
This commit is contained in:
@@ -134,6 +134,32 @@
|
||||
</div>
|
||||
</div>
|
||||
</el-dialog>
|
||||
<!-- 设置光盘桶类型 -->
|
||||
<el-dialog center title="设置光盘桶类型" :visible.sync="setCDShow" width="600px">
|
||||
<div class="cd_box">
|
||||
<div class="cd_title">请选择左右光盘桶所对应的光盘类型。</div>
|
||||
<div class="cd_desc">修改后将影响作业可选择的光盘类型,请谨慎操作。</div>
|
||||
<div class="cd_list">
|
||||
<div class="flex_box flex_row_between cd_item" v-for="(item, index) in changeCD.req_info.strong_list" :key="index">
|
||||
<div class="cd_name">光盘桶 {{ item.strong_pos }}</div>
|
||||
<div class="flex_box cd_r">
|
||||
<el-select v-model="item.strong_type" @change="(val) => handleSetCDChange(index, val)">
|
||||
<el-option
|
||||
v-for="(label, key) in CDTypes"
|
||||
:key="key"
|
||||
:label="label"
|
||||
:value="parseInt(key)">
|
||||
</el-option>
|
||||
</el-select>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="flex_box flex_row_center cd_footer">
|
||||
<el-button @click="handleSetCDCancel" class="cd_footer_btn1">取消</el-button>
|
||||
<el-button @click="handleSetCDSubmit" class="cd_footer_btn2" type="primary">确定</el-button>
|
||||
</div>
|
||||
</div>
|
||||
</el-dialog>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
@@ -180,6 +206,10 @@ export default {
|
||||
// }
|
||||
],
|
||||
serviceList: [
|
||||
{
|
||||
id: 7,
|
||||
name: '设置光盘桶'
|
||||
},
|
||||
{
|
||||
id: 4,
|
||||
name: '刷新光盘桶'
|
||||
@@ -239,7 +269,18 @@ export default {
|
||||
value: 3,
|
||||
label: '下光驱'
|
||||
}
|
||||
]
|
||||
],
|
||||
// 设置光盘桶
|
||||
setCDShow: false,
|
||||
CDTypes: {},
|
||||
changeCD: {
|
||||
req_name: 'setCDStrong',
|
||||
req_type: 2,
|
||||
req_info: {
|
||||
strong_list: []
|
||||
}
|
||||
},
|
||||
default_cd: []
|
||||
}
|
||||
},
|
||||
computed: {
|
||||
@@ -352,6 +393,10 @@ export default {
|
||||
}
|
||||
]
|
||||
this.serviceList = [
|
||||
{
|
||||
id: 7,
|
||||
name: '设置光盘桶'
|
||||
},
|
||||
{
|
||||
id: 4,
|
||||
name: '刷新光盘桶'
|
||||
@@ -381,6 +426,13 @@ export default {
|
||||
},
|
||||
deep: true,
|
||||
immediate: true
|
||||
},
|
||||
'$store.state.chat.CDTypes': {
|
||||
handler(val) {
|
||||
this.CDTypes = { ...val }
|
||||
},
|
||||
deep: true,
|
||||
immediate: true
|
||||
}
|
||||
},
|
||||
mounted() {
|
||||
@@ -746,6 +798,32 @@ export default {
|
||||
})
|
||||
})
|
||||
break
|
||||
case 7:
|
||||
// 设置光盘桶(手动选择左右光盘桶类型)
|
||||
// 正在任务中禁止操作(与 dashboard handleRun 中的限制保持一致)
|
||||
const cdList = that.$store.state.chat.cd_list || []
|
||||
if ((cdList[0] && cdList[0].copy_scheduler) || (cdList[1] && cdList[1].copy_scheduler)) {
|
||||
that.$message({
|
||||
message: '正在任务中,无法进行操作',
|
||||
type: 'warning'
|
||||
})
|
||||
return
|
||||
}
|
||||
if (!that.printer_info || !that.printer_info.strong_list || !that.printer_info.strong_list.length) {
|
||||
that.$message({
|
||||
message: '当前设备暂无光盘桶信息,无法设置',
|
||||
type: 'error'
|
||||
})
|
||||
return
|
||||
}
|
||||
// 初始化默认光盘桶类型
|
||||
that.changeCD.req_info.strong_list = that.printer_info.strong_list.map((item, index) => ({
|
||||
strong_pos: index + 1,
|
||||
strong_type: item.cd_type
|
||||
}))
|
||||
that.default_cd = JSON.parse(JSON.stringify(that.changeCD.req_info.strong_list))
|
||||
that.setCDShow = true
|
||||
break
|
||||
}
|
||||
},
|
||||
cdChange(index, e) {
|
||||
@@ -972,6 +1050,52 @@ export default {
|
||||
]
|
||||
localStorage.setItem('guideStep', JSON.stringify(guideStep))
|
||||
localStorage.setItem('currentStep', 0)
|
||||
},
|
||||
// 设置光盘桶 - 选择类型
|
||||
handleSetCDChange(index, val) {
|
||||
if (!this.changeCD.req_info.strong_list[index]) return
|
||||
this.changeCD.req_info.strong_list[index].strong_type = val
|
||||
this.$set(this.changeCD.req_info.strong_list, index, {
|
||||
...this.changeCD.req_info.strong_list[index]
|
||||
})
|
||||
},
|
||||
// 设置光盘桶 - 取消
|
||||
handleSetCDCancel() {
|
||||
this.setCDShow = false
|
||||
this.changeCD.req_info.strong_list = JSON.parse(JSON.stringify(this.default_cd || []))
|
||||
},
|
||||
// 设置光盘桶 - 确认
|
||||
handleSetCDSubmit() {
|
||||
let that = this
|
||||
if (!that.changeCD.req_info.strong_list || !that.changeCD.req_info.strong_list.length) {
|
||||
that.$message({
|
||||
message: '请先设置光盘桶类型',
|
||||
type: 'warning'
|
||||
})
|
||||
return
|
||||
}
|
||||
that.$store
|
||||
.dispatch('chat/websocketsend', that.changeCD)
|
||||
.then(() => {
|
||||
// 同 dashboard 的行为:根据是否包含 BD 类型更新可选光盘类型
|
||||
try {
|
||||
const { getCurrentOSDiscTypes } = require('../../utils/fileSize')
|
||||
let typeLists = getCurrentOSDiscTypes()
|
||||
let isBD = that.changeCD.req_info.strong_list.findIndex(item => parseInt(item.strong_type) > 3)
|
||||
if (isBD === -1) {
|
||||
typeLists = typeLists.slice(0, 3)
|
||||
}
|
||||
that.$store.dispatch('chat/setDatas', { name: 'cd_types', data: typeLists })
|
||||
} catch (err) {
|
||||
// 安全兜底:不影响主流程
|
||||
console.error(err)
|
||||
}
|
||||
that.$message({
|
||||
message: '已发送指令',
|
||||
type: 'success'
|
||||
})
|
||||
that.setCDShow = false
|
||||
})
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user