fix: 修复马钢问题

This commit is contained in:
2024-01-02 18:21:39 +08:00
parent 91f02bf0a1
commit 7141d36c1a
26 changed files with 391 additions and 41 deletions

View File

@@ -0,0 +1,138 @@
<template>
<div class="app-container">
<el-row>
<el-col :span="24" class="card-box">
<el-card>
<div slot="header">
<span>基本信息</span>
</div>
<div v-for="(item, index) in threadDataList" :key="index" class="el-table el-table--enable-row-hover el-table--medium">
<table cellspacing="0" style="width: 100%">
<tbody>
<tr>
<td><div class="cell">线程池名称:</div></td>
<td><div class="cell">{{ item.poolName }}</div></td>
<td><div class="cell">别名:</div></td>
<td><div class="cell">{{ item.poolAliasName }}</div></td>
<td><div class="cell">核心线程数:</div></td>
<td><div class="cell">{{ item.corePoolSize }}</div></td>
<td><div class="cell">最大线程数:</div></td>
<td><div class="cell">{{ item.maximumPoolSize }}</div></td>
</tr>
<tr>
<td><div class="cell">队列类型:</div></td>
<td><div class="cell">{{ item.queueType }}</div></td>
<td><div class="cell">队列容量:</div></td>
<td><div class="cell">{{ item.queueCapacity }}</div></td>
<td><div class="cell">队列任务数量:</div></td>
<td><div class="cell">{{ item.queueSize }}</div></td>
<td><div class="cell">SynchronousQueue队列模式:</div></td>
<td><div class="cell">{{ item.fair }}</div></td>
</tr>
<tr>
<td><div class="cell">队列剩余容量:</div></td>
<td><div class="cell">{{ item.queueRemainingCapacity }}</div></td>
<td><div class="cell">正在执行任务的活跃线程大致总数:</div></td>
<td><div class="cell">{{ item.activeCount }}</div></td>
<td><div class="cell">大致任务总数:</div></td>
<td><div class="cell">{{ item.taskCount }} </div></td>
<td><div class="cell">已执行完成的大致任务总数:</div></td>
<td><div class="cell">{{ item.completedTaskCount }}</div></td>
</tr>
<tr>
<td><div class="cell">池中曾经同时存在的最大线程数量:</div></td>
<td><div class="cell">{{ item.largestPoolSize }}</div></td>
<td><div class="cell">当前池中存在的线程总数:</div></td>
<td><div class="cell">{{ item.poolSize }}</div></td>
<td><div class="cell">等待执行的任务数量:</div></td>
<td><div class="cell">{{ item.waitTaskCount }} </div></td>
<td><div class="cell">拒绝的任务数量:</div></td>
<td><div class="cell">{{ item.rejectCount }}</div></td>
</tr>
<tr>
<td><div class="cell">拒绝策略名称:</div></td>
<td><div class="cell">{{ item.rejectHandlerName }}</div></td>
<td><div class="cell">是否DtpExecutor线程池:</div></td>
<td><div class="cell">{{ item.dynamic }}</div></td>
<td><div class="cell">执行超时任务数量:</div></td>
<td><div class="cell">{{ item.runTimeoutCount }} </div></td>
<td><div class="cell">在队列等待超时任务数量:</div></td>
<td><div class="cell">{{ item.queueTimeoutCount }}</div></td>
</tr>
<tr>
<td><div class="cell">tps:</div></td>
<td><div class="cell">{{ item.tps }}</div></td>
<td><div class="cell">最大任务耗时:</div></td>
<td><div class="cell">{{ item.maxRt }}</div></td>
<td><div class="cell">最小任务耗时:</div></td>
<td><div class="cell">{{ item.minRt }} </div></td>
<td><div class="cell">任务平均耗时(单位:ms):</div></td>
<td><div class="cell">{{ item.avg }}</div></td>
</tr>
<tr>
<td><div class="cell">满足50%的任务执行所需的最低耗时:</div></td>
<td><div class="cell">{{ item.tp50 }}</div></td>
<td><div class="cell">满足75%的任务执行所需的最低耗时:</div></td>
<td><div class="cell">{{ item.tp75 }}</div></td>
<td><div class="cell">满足90%的任务执行所需的最低耗时:</div></td>
<td><div class="cell">{{ item.tp90 }} </div></td>
<td><div class="cell">满足95%的任务执行所需的最低耗时:</div></td>
<td><div class="cell">{{ item.tp95 }}</div></td>
</tr>
<tr>
<td><div class="cell">满足99%的任务执行所需的最低耗时:</div></td>
<td><div class="cell">{{ item.tp99 }}</div></td>
<td><div class="cell">满足99.9%的任务执行所需的最低耗时:</div></td>
<td><div class="cell">{{ item.tp999 }}</div></td>
</tr>
</tbody>
</table>
<br>
</div>
</el-card>
</el-col>
</el-row>
</div>
</template>
<script>
import { initData } from '@/api/data'
export default {
name: 'Threads',
data() {
return {
// 线程数组
threadDataList: [],
url: 'api/monitor/getThreadData',
monitor: null
}
},
created() {
this.init()
this.monitor = window.setInterval(() => {
setTimeout(() => {
this.init()
}, 2)
}, 3500)
},
destroyed() {
clearInterval(this.monitor)
},
methods: {
// 初始化数据
init() {
initData(this.url, {}).then(data => {
this.threadDataList = data
})
}
}
}
</script>
<style scoped lang="scss">
.card-box {
padding-right: 15px;
padding-left: 15px;
margin-bottom: 10px;
}
</style>

View File

@@ -91,7 +91,7 @@
/>
</el-form-item>
<br v-if="!crud.status.add">
<el-form-item v-if="crud.status.add" label="密码" prop="password">
<el-form-item label="密码" prop="password">
<el-input v-model="form.password" style="width: 200px;" show-password auto-complete="new-password" />
</el-form-item>
<el-form-item label="性别">

View File

@@ -0,0 +1,63 @@
<template>
<div class="app-container">
<!--工具栏-->
<div class="head-container">
<!--如果想在工具栏加入更多按钮可以使用插槽方式 slot = 'left' or 'right'-->
<crudOperation :permission="permission" />
<!--表格渲染-->
<el-table ref="table" v-loading="crud.loading" :data="crud.data" size="mini" style="width: 100%;" @selection-change="crud.selectionChangeHandler">
<el-table-column type="selection" width="55" />
<el-table-column prop="vehicle_code" label="托盘号" :min-width="flexWidth('vehicle_code',crud.data,'托盘号')" />
<el-table-column prop="pcsn" label="批次" :min-width="flexWidth('pcsn',crud.data,'数量')" />
<el-table-column prop="material_code" label="产品编码" :min-width="flexWidth('material_code',crud.data,'拆垛工位')" />
<el-table-column prop="material_name" label="产品名称" :min-width="flexWidth('material_name',crud.data,'分拣工单')" />
<el-table-column prop="material_qty" label="产品数量" :min-width="flexWidth('material_qty',crud.data,'分拣工单')" />
</el-table>
<!--分页组件-->
<pagination />
</div>
</div>
</template>
<script>
import CRUD, { crud, header, presenter } from '@crud/crud'
import rrOperation from '@crud/RR.operation'
import crudOperation from '@crud/CRUD.operation'
import udOperation from '@crud/UD.operation'
import pagination from '@crud/Pagination'
export default {
name: 'InsideDrumLine',
components: { pagination, crudOperation, rrOperation, udOperation },
mixins: [presenter(), header(), crud()],
cruds() {
return CRUD({
title: '滚筒线内记录报表',
url: 'api/report/insideDrumLineReport',
optShow: {
add: false,
edit: false,
del: false,
download: false
}
})
},
data() {
return {
permission: {
},
rules: {
}
}
},
methods: {
// 钩子在获取表格数据之前执行false 则代表不获取数据
[CRUD.HOOK.beforeRefresh]() {
return true
}
}
}
</script>
<style scoped>
</style>

View File

@@ -37,6 +37,11 @@
{{ scope.row.is_finish ? '是' : '否'}}
</template>
</el-table-column>
<el-table-column prop="is_delete" label="是否下料" :min-width="flexWidth('is_finish',crud.data,'是否下料')">
<template slot-scope="scope">
{{ scope.row.is_delete ? '是' : '否'}}
</template>
</el-table-column>
<el-table-column v-permission="[]" label="操作" width="120px" align="center" fixed="right">
<template slot-scope="scope">
<udOperation

View File

@@ -660,6 +660,7 @@ export default {
this.form.raw_material_code = row.material_code
}
this.form.pack_method = row.pack_method
this.form.standing_time = row.standing_time
const result = Object.keys(this.dict.label.vehicle_type).find(key => this.dict.label.vehicle_type[key] === row.pack_palletspec)
if (result) {
this.form.vehicle_type = result