rev: 在线用户、强制用户下线、对接日志

This commit is contained in:
2023-08-03 14:50:13 +08:00
parent 373670a51d
commit 13c1cdb824
35 changed files with 315 additions and 79 deletions

View File

@@ -45,7 +45,7 @@
<p>确定强制退出该用户吗</p>
<div style="text-align: right; margin: 0">
<el-button size="mini" type="text" @click="$refs[scope.$index].doClose()">取消</el-button>
<el-button :loading="delLoading" type="primary" size="mini" @click="delMethod(scope.row.key, scope.$index)">确定</el-button>
<el-button :loading="delLoading" type="primary" size="mini" @click="delMethod(scope.row, scope.$index)">确定</el-button>
</div>
<el-button slot="reference" size="mini" type="text">强退</el-button>
</el-popover>
@@ -101,7 +101,7 @@ export default {
const ids = []
if (key instanceof Array) {
key.forEach(val => {
ids.push(val.key)
ids.push(val)
})
} else ids.push(key)
this.delLoading = true

View File

@@ -90,6 +90,7 @@
<el-table
ref="table"
v-loading="crud.loading"
:default-sort = "{prop: 'dept_sort', order: 'ascending'}"
lazy
:load="getDeptDatas"
:tree-props="{children: 'children', hasChildren: 'has_children'}"

View File

@@ -0,0 +1,73 @@
<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="into_kiln_time" label="入窑时间" :min-width="flexWidth('into_kiln_time',crud.data,'入窑时间')" />
<el-table-column prop="out_kiln_time" label="出窑时间" :min-width="flexWidth('out_kiln_time',crud.data,'入窑时间')" />
<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-column v-permission="[]" label="操作" width="120px" align="center" fixed="right">
<template slot-scope="scope">
<udOperation
:data="scope.row"
:permission="permission"
/>
</template>
</el-table-column>
</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: 'OutKilnReport',
components: { pagination, crudOperation, rrOperation, udOperation },
mixins: [presenter(), header(), crud()],
cruds() {
return CRUD({
title: '入窑记录报表',
url: 'api/report/outKilnReport',
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

@@ -10,11 +10,11 @@
:before-close="crud.cancelCU"
:visible.sync="crud.status.cu > 0"
:title="crud.status.title"
width="500px"
width="550px"
>
<el-form ref="form" :model="form" :rules="rules" size="mini" label-width="80px">
<el-form-item label="对接编码">
<el-input v-model="form.interact_code" style="width: 370px;" disabled/>
<el-form ref="form" :model="form" :rules="rules" size="mini" label-width="100px">
<el-form-item label="对接名称">
<el-input v-model="form.interact_name" style="width: 370px;" disabled/>
</el-form-item>
<el-form-item label="响应编码">
<el-input v-model="form.code" style="width: 370px;" disabled/>
@@ -23,10 +23,10 @@
<el-input v-model="form.message" style="width: 370px;" disabled/>
</el-form-item>
<el-form-item label="请求报文">
<el-input v-model="formattedRequestParam" :rows="7" type="textarea" style="width: 370px;"/>
<el-input v-model="formattedRequestParam" :autosize="{ minRows: 3 }" type="textarea" style="width: 370px;"/>
</el-form-item>
<el-form-item label="响应结果">
<el-input v-model="formattedResponseParam" :rows="7" type="textarea" style="width: 370px;" disabled/>
<el-input v-model="formattedResponseParam" :autosize="{ minRows: 3 }" type="textarea" style="width: 370px;" disabled/>
</el-form-item>
<el-form-item label="记录时间">
<el-input v-model="form.record_time" style="width: 370px;" disabled/>
@@ -66,9 +66,9 @@
>
<el-table-column type="selection" width="55" />
<el-table-column
prop="interact_code"
label="对接编码"
:min-width="flexWidth('interact_code',crud.data,'对接编码')"
prop="interact_name"
label="对接名称"
:min-width="flexWidth('interact_name',crud.data,'对接名称')"
/>
<el-table-column prop="code" label="响应编码" :min-width="flexWidth('code',crud.data,'响应编码')" />
<el-table-column prop="message" label="响应信息" :min-width="flexWidth('message',crud.data,'响应信息')" />
@@ -124,7 +124,7 @@ import pagination from '@crud/Pagination'
const defaultForm = {
interact_id: null,
interact_code: null,
interact_name: null,
code: null,
message: null,
request_param: null,
@@ -144,7 +144,13 @@ export default {
url: 'api/sysInteractRecord',
idField: 'interact_id',
sort: 'interact_id,desc',
crudMethod: { ...crudSysInteractRecord }
crudMethod: { ...crudSysInteractRecord },
optShow: {
add: false,
edit: false,
del: true,
download: false
}
})
},
data() {
@@ -154,21 +160,32 @@ export default {
}
},
computed: {
formattedRequestParam() {
try {
const jsonObject = JSON.parse(this.form.request_param) // 解析 JSON 字符串为 JavaScript 对象
return JSON.stringify(jsonObject, null, 2) // 使用 null 和 2 来进行格式化
} catch (error) {
// 错误处理,如果 JSON 解析失败则返回原始字符串
return this.form.request_param
formattedRequestParam: {
get() {
try {
const jsonObject = JSON.parse(this.form.request_param) // 解析 JSON 字符串为 JavaScript 对象
return JSON.stringify(jsonObject, null, 2) // 使用 null 和 2 来进行格式化
} catch (error) {
// 错误处理,如果 JSON 解析失败则返回原始字符串
return this.form.request_param
}
},
set(value) {
this.form.request_param = value // 可以编辑响应结果并保存到数据属性中
}
}, formattedResponseParam() {
try {
const jsonObject = JSON.parse(this.form.response_param) // 解析 JSON 字符串为 JavaScript 对象
return JSON.stringify(jsonObject, null, 2) // 使用 null 和 2 来进行格式化
} catch (error) {
// 错误处理,如果 JSON 解析失败则返回原始字符串
return this.form.response_param
},
formattedResponseParam: {
get() {
try {
const jsonObject = JSON.parse(this.form.response_param) // 解析 JSON 字符串为 JavaScript 对象
return JSON.stringify(jsonObject, null, 2) // 使用 null 和 2 来进行格式化
} catch (error) {
// 错误处理,如果 JSON 解析失败则返回原始字符串
return this.form.response_param
}
},
set(value) {
this.form.response_param = value // 可以编辑响应结果并保存到数据属性中
}
}
},

View File

@@ -33,7 +33,7 @@
<el-table-column type="selection" width="55" />
<el-table-column prop="raw_material_code" label="泥料编码" :min-width="flexWidth('raw_material_code',crud.data,'泥料编码')"/>
<el-table-column prop="device_code" label="设备编码" :min-width="flexWidth('device_code',crud.data,'设备编码')"/>
<el-table-column prop="weight" label="泥料编码" :min-width="flexWidth('weight',crud.data,'泥料编码')"/>
<el-table-column prop="weight" label="剩余重量" :min-width="flexWidth('weight',crud.data,'泥料编码')"/>
<el-table-column prop="workorder_code" label="工单号" :min-width="flexWidth('workorder_code',crud.data,'工单号')"/>
<el-table-column prop="record_time" label="记录时间" :min-width="flexWidth('record_time',crud.data,'记录时间')"/>
<el-table-column v-permission="[]" label="操作" width="120px" align="center" fixed="right">