更新优化

This commit is contained in:
24kycj
2024-11-17 21:20:47 +08:00
parent 26e9c0a75b
commit 2ba2e70a2b
5 changed files with 237 additions and 152 deletions
+93 -62
View File
@@ -19,11 +19,11 @@
<el-switch class="top_left_status" v-model="workStatus" active-color="#07C160" inactive-color="#aaa"> </el-switch>
<div class="flex_box top_left_option">
<div class="top_left_text">完成拷贝数:</div>
<div class="top_left_num">9</div>
<div class="top_left_num">{{ task_list.length }}</div>
</div>
<div class="flex_box top_left_option">
<div class="top_left_text">废弃拷贝数:</div>
<div class="top_left_num top_left_num1">2</div>
<div class="top_left_num top_left_num1">0</div>
</div>
<div class="flex_box top_left_option">
<div class="top_left_text">错误:</div>
@@ -44,48 +44,56 @@
<div class="device_info_box">
<div class="device_info_main" :class="{ device_info_main1: infoStatus === 1 }">
<div class="device_info_item">
<div class="device_info_title">{{ printer_info.printer_name }}</div>
<div class="device_info_title">{{ printer_info.printer_name || '打印机名称' }}</div>
<div class="flex_box device_info_options">
<div class="device_info_option">
<div class="device_info_option_box">
<img src="@/assets/images/device4.png" />
<div class="device_info_option_cap">
<div class="device_info_option_cap_box" :class="{'device_info_option_cap_box1': printer_info.strongList[1].cd_num < 30, 'device_info_option_cap_box2': printer_info.strongList[1].cd_num < 10}" :style="{height: $accDiv(printer_info.strongList[1].cd_num, 50) * 100 + '%'}"></div>
<div
class="device_info_option_cap_box"
:class="{ 'device_info_option_cap_box1': printer_info.strongList[1].cd_num < 30, 'device_info_option_cap_box2': printer_info.strongList[1].cd_num < 10 }"
:style="{ height: $accDiv(printer_info.strongList[1].cd_num, 50) * 100 + '%' }"
></div>
</div>
</div>
<div class="flex_box flex_row_center device_info_option_b">
<div class="device_info_option_b_text">{{CDTypes[printer_info.strongList[1].cd_type]}} {{printer_info.strongList[1].cd_num}}</div>
<i v-if="runVal===6" class="el-icon-caret-bottom"></i>
<div class="device_info_option_b_text">{{ CDTypes[printer_info.strongList[1].cd_type] }} {{ printer_info.strongList[1].cd_num }}</div>
<i v-if="runVal === 6" class="el-icon-caret-bottom"></i>
</div>
</div>
<div class="device_info_option">
<div class="device_info_option_box">
<img src="@/assets/images/device4.png" />
<div class="device_info_option_cap">
<div class="device_info_option_cap_box" :class="{'device_info_option_cap_box1': printer_info.strongList[2].cd_num < 30, 'device_info_option_cap_box2': printer_info.strongList[2].cd_num < 10}" :style="{height: $accDiv(printer_info.strongList[2].cd_num, 50) * 100 + '%'}"></div>
<div
class="device_info_option_cap_box"
:class="{ 'device_info_option_cap_box1': printer_info.strongList[2].cd_num < 30, 'device_info_option_cap_box2': printer_info.strongList[2].cd_num < 10 }"
:style="{ height: $accDiv(printer_info.strongList[2].cd_num, 50) * 100 + '%' }"
></div>
</div>
</div>
<div class="flex_box flex_row_center device_info_option_b">
<div class="device_info_option_b_text">{{CDTypes[printer_info.strongList[2].cd_type]}} {{printer_info.strongList[2].cd_num}}</div>
<i v-if="runVal===6" class="el-icon-caret-bottom"></i>
<div class="device_info_option_b_text">{{ CDTypes[printer_info.strongList[2].cd_type] }} {{ printer_info.strongList[2].cd_num }}</div>
<i v-if="runVal === 6" class="el-icon-caret-bottom"></i>
</div>
</div>
<div class="device_info_option">
<div class="flex_box flex_row_between device_info_option_list">
<div class="device_info_option_item device_info_option_blue">
<div :style="{height: parseInt(printer_info.blue_last)+'%'}" class="device_info_option_content"></div>
<div :style="{ height: parseInt(printer_info.blue_last) + '%' }" class="device_info_option_content"></div>
</div>
<div class="device_info_option_item device_info_option_red">
<div :style="{height: parseInt(printer_info.red_last)+'%'}" class="device_info_option_content"></div>
<div :style="{ height: parseInt(printer_info.red_last) + '%' }" class="device_info_option_content"></div>
</div>
<div class="device_info_option_item device_info_option_yellow">
<div :style="{height: parseInt(printer_info.yellow_last)+'%'}" class="device_info_option_content"></div>
<div :style="{ height: parseInt(printer_info.yellow_last) + '%' }" class="device_info_option_content"></div>
</div>
</div>
<div class="flex_box flex_row_between device_info_option_b">
<div class="device_info_option_b_text device_info_option_b_text1">{{parseInt(printer_info.blue_last)}}%</div>
<div class="device_info_option_b_text device_info_option_b_text1">{{parseInt(printer_info.red_last)}}%</div>
<div class="device_info_option_b_text device_info_option_b_text1">{{parseInt(printer_info.yellow_last)}}%</div>
<div class="device_info_option_b_text device_info_option_b_text1">{{ parseInt(printer_info.blue_last) }}%</div>
<div class="device_info_option_b_text device_info_option_b_text1">{{ parseInt(printer_info.red_last) }}%</div>
<div class="device_info_option_b_text device_info_option_b_text1">{{ parseInt(printer_info.yellow_last) }}%</div>
</div>
</div>
</div>
@@ -128,13 +136,13 @@
<div class="device_right_top_img">
<img v-if="cd_list[0].total_size" src="@/assets/images/device3.png" />
<img v-if="!cd_list[0].total_size" src="@/assets/images/device2.png" />
<div class="device_right_top_img_text" :class="{'device_right_top_img_text1': cd_list[0].total_size}">{{ diskTypes[cd_list[0].dev_type] }}</div>
<div class="device_right_top_img_text" :class="{ 'device_right_top_img_text1': cd_list[0].total_size }">{{ diskTypes[cd_list[0].dev_type] }}</div>
</div>
<div class="device_right_top_content">
<div class="device_right_top_title">{{ cd_list[0].dev_path || '' }}({{ $store.state.chat.CDName[cd_list[0].cd_pos] }})</div>
<template v-if="cd_list[0].total_size">
<div class="flex_box device_right_top_progress">
<div class="device_right_top_progress_box" :style="{ width: cd_list[0].cd_taskid.copy_scheduler + '%' }"></div>
<div class="device_right_top_progress_box" :style="{ 'width': cd_list[0].cd_taskid.copy_scheduler + '%' }"></div>
</div>
<div class="device_right_top_text">{{ $filterSize($accSub(cd_list[0].total_size, cd_list[0].use_size)) }}可用{{ $filterSize(cd_list[0].total_size) }}</div>
</template>
@@ -148,13 +156,13 @@
<div class="device_right_top_img">
<img v-if="cd_list[1].total_size" src="@/assets/images/device3.png" />
<img v-if="!cd_list[1].total_size" src="@/assets/images/device2.png" />
<div class="device_right_top_img_text" :class="{'device_right_top_img_text1': cd_list[1].total_size}">{{ diskTypes[cd_list[1].dev_type] }}</div>
<div class="device_right_top_img_text" :class="{ 'device_right_top_img_text1': cd_list[1].total_size }">{{ diskTypes[cd_list[1].dev_type] }}</div>
</div>
<div class="device_right_top_content">
<div class="device_right_top_title">{{ cd_list[1].dev_path || '' }}({{ $store.state.chat.CDName[cd_list[1].cd_pos] }})</div>
<template v-if="cd_list[1].total_size">
<div class="flex_box device_right_top_progress">
<div class="device_right_top_progress_box" :style="{ width: cd_list[1].cd_taskid.copy_scheduler + '%' }"></div>
<div class="device_right_top_progress_box" :style="{ 'width': cd_list[1].cd_taskid.copy_scheduler + '%' }"></div>
</div>
<div class="device_right_top_text">{{ $filterSize($accSub(cd_list[1].total_size, cd_list[1].use_size)) }}可用{{ $filterSize(cd_list[1].total_size) }}</div>
</template>
@@ -172,7 +180,7 @@
</div>
<div @click="showAll = !showAll" class="flex_box notice_all">
<img src="@/assets/images/Calendar_icon.png" />
<div>{{ showAll?'最新日志':'全部日志' }}</div>
<div>{{ showAll ? '最新日志' : '全部日志' }}</div>
</div>
</div>
<div class="notice_list">
@@ -186,7 +194,7 @@
</div>
</template>
<template v-if="showAll">
<div v-for="(item, index) in logList" :key="index" :class="`flex_box flex_row_between notice_item notice_${item.status}`">
<div v-for="(item, index) in allLogList" :key="index" :class="`flex_box flex_row_between notice_item notice_${item.status}`">
<div class="notice_content">
<span>{{ index + 1 }}</span
>[{{ item.status }}]{{ item.text }}
@@ -206,11 +214,26 @@
<el-table max-height="250" class="work_table" :data="task_list" empty-text="暂无作业列表">
<el-table-column type="expand">
<template slot-scope="scope">
<el-table max-height="250" :data="scope.row.ass_task">
<el-table-column width="50" label=""></el-table-column>
<el-table :show-header="false" max-height="250" :data="scope.row.ass_task">
<el-table-column width="48" label=""></el-table-column>
<el-table-column type="index" width="80" label="序号">
<template slot-scope="child">
<div>{{ scope.$index+1 }}_{{ child.$index+1 }}</div>
<div>{{ scope.$index + 1 }}_{{ child.$index + 1 }}</div>
</template>
</el-table-column>
<el-table-column prop="task_uuid" label="作业ID">
<template slot-scope="child">
<div>{{ scope.row.task_uuid }}_{{ child.$index + 1 }}</div>
</template>
</el-table-column>
<el-table-column prop="task_name" label="子任务名称">
<template slot-scope="child">
<div>{{ scope.row.task_name }}_{{ child.$index + 1 }}</div>
</template>
</el-table-column>
<el-table-column label="类型">
<template slot-scope="child">
<div>{{ CDTypes[child.row.cd_type] }}</div>
</template>
</el-table-column>
<el-table-column prop="task_size" label="大小">
@@ -220,6 +243,7 @@
</el-table-column>
<el-table-column prop="start_time" label="开始时间"></el-table-column>
<el-table-column prop="finish_time" label="结束时间"></el-table-column>
<el-table-column label="完成"></el-table-column>
<el-table-column prop="task_status" label="状态">
<template slot-scope="child">
<div class="flex_box work_status_box">
@@ -245,8 +269,8 @@
<div>{{ $filterSize(scope.row.task_size) }}</div>
</template>
</el-table-column>
<!-- <el-table-column prop="CreateTime" label="开始时间"></el-table-column> -->
<!-- <el-table-column prop="FinishTime" label="结束时间"></el-table-column> -->
<el-table-column prop="start_time" label="开始时间"></el-table-column>
<el-table-column prop="finish_time" label="结束时间"></el-table-column>
<el-table-column label="完成">
<template slot-scope="scope">
<div>{{ scope.row.finish_freq }}/{{ scope.row.total_freq }}</div>
@@ -325,14 +349,14 @@ export default {
// 作业列表
task_list: [],
statusList: {
'0': '新建中',
'1': '准备中',
'2': '等待中',
'3': '正在拷贝',
'4': '正在打印',
'5': '已失败',
'6': '运行中',
'100': '已完成'
0: '新建中',
1: '准备中',
2: '等待中',
3: '正在拷贝',
4: '正在打印',
5: '已失败',
6: '运行中',
100: '已完成'
},
// 设备信息
printer_info: {},
@@ -372,21 +396,21 @@ export default {
} else {
this.runText = this.$store.state.chat.PrinterStatus[val.printer_status]
}
this.printer_info = {...val}
this.printer_info = { ...val }
},
deep: true,
immediate: true
},
'$store.state.chat.diskTypes': {
handler(val) {
this.diskTypes = {...val}
this.diskTypes = { ...val }
},
deep: true,
immediate: true
},
'$store.state.chat.CDTypes': {
handler(val) {
this.CDTypes = {...val}
this.CDTypes = { ...val }
},
deep: true,
immediate: true
@@ -404,6 +428,13 @@ export default {
},
deep: true,
immediate: true
},
'$store.state.chat.allLogList': {
handler(val) {
this.allLogList = [...val]
},
deep: true,
immediate: true
}
},
computed: {
@@ -450,12 +481,12 @@ $red: #ff0000;
.top_btn1 {
cursor: pointer;
padding: 0 16px;
height: 30px;
height: 40px;
background: #00c325;
border-radius: 6px;
margin-right: 16px;
font-weight: 500;
font-size: 15px;
font-size: 18px;
color: #ffffff;
img {
width: 18px;
@@ -466,13 +497,13 @@ $red: #ff0000;
.top_btn2 {
cursor: pointer;
padding: 0 16px;
height: 30px;
height: 40px;
background: rgba(0, 195, 37, 0.12);
border: 2px solid rgba(0, 195, 37, 0.32);
border-radius: 6px;
margin-right: 16px;
font-weight: 500;
font-size: 15px;
font-size: 18px;
color: #00c325;
img {
width: 18px;
@@ -482,7 +513,7 @@ $red: #ff0000;
}
.top_left_line {
width: 2px;
height: 30px;
height: 40px;
background: #e0e0e0;
margin: 0 16px;
}
@@ -494,7 +525,7 @@ $red: #ff0000;
margin-left: 16px;
.top_left_text {
font-weight: 500;
font-size: 15px;
font-size: 18px;
color: #000000;
text-decoration: underline;
}
@@ -504,7 +535,7 @@ $red: #ff0000;
background: #00c325;
border-radius: 6px;
font-weight: 500;
font-size: 15px;
font-size: 18px;
color: #ffffff;
line-height: 28px;
margin-left: 12px;
@@ -623,8 +654,8 @@ $red: #ff0000;
width: 36px;
height: 67px;
border-radius: 2px;
background: linear-gradient( 270deg, #E1FBFE 0%, #FFFFFF 50%, #E5F9FF 100%);
border: 1px solid #B1CDD0;
background: linear-gradient(270deg, #e1fbfe 0%, #ffffff 50%, #e5f9ff 100%);
border: 1px solid #b1cdd0;
position: relative;
.device_info_option_content {
position: absolute;
@@ -635,24 +666,24 @@ $red: #ff0000;
}
}
.device_info_option_blue {
background: linear-gradient( 270deg, #E1FBFE 0%, #FFFFFF 50%, #E5F9FF 100%);
border: 1px solid #B1CDD0;
background: linear-gradient(270deg, #e1fbfe 0%, #ffffff 50%, #e5f9ff 100%);
border: 1px solid #b1cdd0;
.device_info_option_content {
background: linear-gradient( 90deg, #279FD0 0%, #80E1F7 48%, #2FB0E0 100%);
background: linear-gradient(90deg, #279fd0 0%, #80e1f7 48%, #2fb0e0 100%);
}
}
.device_info_option_red {
background: linear-gradient( 270deg, #FBE5F7 0%, #FFFFFF 50%, #F6E1F1 100%);
border: 1px solid #E6BCD6;
background: linear-gradient(270deg, #fbe5f7 0%, #ffffff 50%, #f6e1f1 100%);
border: 1px solid #e6bcd6;
.device_info_option_content {
background: linear-gradient( 90deg, #D02886 0%, #F56ABE 48%, #D02991 100%);
background: linear-gradient(90deg, #d02886 0%, #f56abe 48%, #d02991 100%);
}
}
.device_info_option_yellow {
background: linear-gradient( 270deg, #FEFDC5 0%, #FFFFFF 50%, #FEFDC5 100%);
border: 1px solid #EAECC6;
background: linear-gradient(270deg, #fefdc5 0%, #ffffff 50%, #fefdc5 100%);
border: 1px solid #eaecc6;
.device_info_option_content {
background: linear-gradient( 90deg, #F7EA32 0%, #FEFAAA 48%, #F8E94B 100%);
background: linear-gradient(90deg, #f7ea32 0%, #fefaaa 48%, #f8e94b 100%);
}
}
}
@@ -793,7 +824,7 @@ $red: #ff0000;
background: #000;
border-radius: 4px;
padding: 4px 10px;
font-size: 15px;
font-size: 18px;
font-weight: 500;
color: #fff;
text-align: center;
@@ -910,7 +941,7 @@ $red: #ff0000;
}
}
.notice_time {
width: 108px;
width: 160px;
text-align: center;
font-size: 14px;
color: #000000;
@@ -973,7 +1004,7 @@ $red: #ff0000;
}
.cell {
line-height: 28px;
font-size: 12px;
font-size: 16px;
color: #000000;
}
}
@@ -981,11 +1012,11 @@ $red: #ff0000;
width: 80%;
::v-deep {
.el-progress-bar__outer {
height: 16px!important;
line-height: 16px!important;
height: 16px !important;
line-height: 16px !important;
.el-progress-bar__innerText {
font-size: 12px!important;
color: #fff!important;
font-size: 12px !important;
color: #fff !important;
}
}
}