+
@@ -52,7 +64,7 @@
import elTable from '@/components/elTable/index.vue'
import elPager from '@/components/elPager/index.vue'
import { getLogJsonList } from '@/api/system/customlog'
- import { downLoadJSONByString,getColoumsByServeName } from '@/utils/common/index'
+ import { downLoadJSONByString,getColoumsByServeName,getApiByServeName } from '@/utils/common/index'
import EnumList from '@/utils/common/enumList'
import { useRoute } from 'vue-router'
@@ -76,64 +88,72 @@
{label:'下载JSON',name:'downloadJSON',link:true,type:'warning'},
],
// 查看详情相关数据
- drawerShow:false,
- infoTableData:null,
- infoTableColumns:[],
- columnWidth:null,
- infoType:null,
- infoAllData:null,
infoCurrentRow:null,
- infoPager:{
+ drawerShow:false,
+ infoTableDataTop:null,//详情上部数据
+ infoTableColumnsTop:null,
+ infoAllDataTop:null,
+ infoTopType:null,
+ infoPagerTop:{
page: 1,
- pageSize: 20,
+ pageSize: 10,
total: null,
},
+ // 下部明细相关信息
+ infoTableColumns:[],
+ // 查看详情内部colums的名称
+ infoTableColumnsName:null,
+ infoSearchFilter: {},
})
function leftOperationHadel(btn,scope) {
// 查看详情
if(btn.name == 'showInfo'){
state.infoCurrentRow = scope.row
- // 应答格式:直接实体 state.infoType = 1
- let _arr1 = [
- '整车月度生产计划1','整车月度生产计划2','M+6月物料需求计划','日物料需求计划',
- '计划协议','采购订单','过焊装未过总装','过涂装未过总装','排序供货','看板配送单',
- '退货单','奇瑞RDC共享库存','日MRP状态监控','日MRP预警推移'
- ]
- // 应答格式:获取list字段 state.infoType = 2
- let _arr2 = [
- '来料检验数据','排产数据','供应商基础信息','人员资质信息','BOM主数据',
- '过程控制项质量数据','生产过程数据','产品一次合格率','工位一次合格率',
- '缺陷业务数据','物料主数据','附件类数据','工艺装备','工艺','供应商共享库存',
- 'M+6月物料需求计划风险确认','日物料需求计划风险确认','采购订单风险确认'
+ state.infoTableColumns = getColoumsByServeName(scope.row.taskName,'taskName',true)
+ state.infoTableColumnsName = getApiByServeName(scope.row.taskName,'taskName')
+ if(!state.infoTableColumnsName){
+ ElMessage.error(`不支持的任务名: ${scope.row.taskName}`)
+ return
+ }
+ state.infoSearchFilter = [
+ {
+ logic: "And",
+ column: 'Uid',
+ action: '==',
+ value: scope.row.uId
+ },
]
+
state.loading = true
+ // 获取上部分信息
getLogJsonList(scope.row.uId)
.then(res=>{
- if(_arr1.indexOf(scope.row.taskName) >= 0){
- state.columnWidth = null
- state.infoType = 1
- state.infoTableData = [JSON.parse(res.message)]
- state.infoTableColumns = [
+ // list格式
+ if(JSON.parse(res.message) && JSON.parse(res.message).list){
+ state.infoTopType=2
+ state.infoTableColumnsTop = state.infoTableColumns.filter(item=>item.prop != 'writeState' && item.prop != 'readState')
+ state.infoAllDataTop = JSON.parse(res.message).list
+ state.infoPagerTop.total = state.infoAllDataTop.length
+ initInfoTopPagedata()
+ }
+ // data格式(仅有一条数据)
+ else{
+ state.infoTopType=1
+ state.infoTableColumnsTop=[
{prop:'date',title:'date'},
{prop:'pageSize',title:'pageSize'},
{prop:'pageNum',title:'pageNum'},
{prop:'isForce',title:'isForce'},
]
+ state.infoTableDataTop = [JSON.parse(res.message)]
}
- if(_arr2.indexOf(scope.row.taskName) >= 0){
- state.columnWidth = 120
- state.infoType = 2
- state.infoAllData = JSON.parse(res.message).list
- state.infoPager.total = state.infoAllData.length
- state.infoTableColumns = getColoumsByServeName(scope.row.taskName,'taskName',true)
- initInfoType2Pagedata()
- }
- nextTick(() => {
- state.drawerShow = true
- })
})
- .finally(() => (state.loading = false))
+
+ .finally(() => {
+ state.loading = false
+ state.drawerShow = true
+ })
}
// 下载json
if(btn.name == 'downloadJSON'){
@@ -146,36 +166,35 @@
}
}
- // InfoType=2的前端分页
- function initInfoType2Pagedata() {
- state.infoTableData = state.infoAllData.slice((state.infoPager.page-1) * state.infoPager.pageSize,state.infoPager.page * state.infoPager.pageSize)
+ // 上部分信息前端分页
+ function initInfoTopPagedata() {
+ state.infoTableDataTop = state.infoAllDataTop.slice((state.infoPagerTop.page-1) * state.infoPagerTop.pageSize,state.infoPagerTop.page * state.infoPagerTop.pageSize)
}
function pageSizeChange(data) {
- state.infoPager.pageSize = data
- state.infoPager.page = 1
+ state.infoPagerTop.pageSize = data
+ state.infoPagerTop.page = 1
nextTick(() => {
- initInfoType2Pagedata()
+ initInfoTopPagedata()
})
}
function pageCurrentChange(data) {
- state.infoPager.page = data
+ state.infoPagerTop.page = data
nextTick(() => {
- initInfoType2Pagedata()
+ initInfoTopPagedata()
})
}
function resetInfo(){
state.drawerShow=false
- state.infoTableData=null
+ state.infoTableDataTop=null
state.infoTableColumns=[]
- state.columnWidth=null
- state.infoType=null
+ state.infoTableColumnsTop=[]
state.infoAllData=null
- state.infoPager={
+ state.infoPagerTop={
page: 1,
- pageSize: 20,
+ pageSize: 10,
total: null,
}
}
@@ -188,7 +207,7 @@
\ No newline at end of file
+ import commonLogPage from './../components/commonLogPage.vue'
+
\ No newline at end of file