fix: 表单详情模式未处理可读可写

master
ssc 3 years ago
parent 410f51a2e5
commit 24f2c2921b
  1. 55
      src/views/plugin/workflow/process/components/detail.vue
  2. 40
      src/views/plugin/workflow/process/external/Leave/detail.vue

@ -180,24 +180,11 @@ export default {
}) })
}, },
handleResolveOption(option, taskForm, status) { handleResolveOption(option, taskForm, status) {
const { column, group } = option let { column, group } = option
let vars = [] let vars = []
if (status != 'todo') { // if (taskForm) {
option.detail = true
if (column && column.length > 0) { // column
column.forEach(col => this.handleResolveEvent(col))
}
if (group && group.length > 0) { // group
group.forEach(gro => {
if (gro.column && gro.column.length > 0) {
gro.column.forEach(col => this.handleResolveEvent(col))
}
})
}
} else {
const columnFilter = this.filterAvueColumn(column, taskForm) const columnFilter = this.filterAvueColumn(column, taskForm)
const columnArr = columnFilter.column column = columnFilter.column
vars = columnFilter.vars || [] vars = columnFilter.vars || []
const groupArr = [] const groupArr = []
@ -209,21 +196,39 @@ export default {
if (gro.column.length > 0) groupArr.push(gro) if (gro.column.length > 0) groupArr.push(gro)
}) })
} }
option.column = columnArr group = groupArr
option.group = groupArr
} }
if (status != 'todo') { //
option.detail = true
if (column && column.length > 0) { // column
column.forEach(col => this.handleResolveEvent(col, taskForm))
}
if (group && group.length > 0) { // group
group.forEach(gro => {
if (gro.column && gro.column.length > 0) {
gro.column.forEach(col => this.handleResolveEvent(col, taskForm))
}
})
}
}
option.column = column
option.group = group
return { option, vars } return { option, vars }
}, },
handleResolveEvent(col) { handleResolveEvent(col, taskForm) {
const _this = this const _this = this
delete col.value delete col.value
let event = ['change', 'blur', 'click', 'focus'] if (!taskForm) {
event.forEach(e => { let event = ['change', 'blur', 'click', 'focus']
if (col[e]) col[e] = eval((col[e] + '').replace(/this/g, '_this')) event.forEach(e => {
}) if (col[e]) col[e] = eval((col[e] + '').replace(/this/g, '_this'))
if (col.event) Object.keys(col.event).forEach(key => col.event[key] = eval((col.event[key] + '').replace(/this/g, '_this'))) })
if (col.event) Object.keys(col.event).forEach(key => col.event[key] = eval((col.event[key] + '').replace(/this/g, '_this')))
if (col.type == 'dynamic') col.children.column.forEach(cc => _this.handleResolveEvent(cc)) }
if (col.type == 'dynamic') col.children.column.forEach(cc => _this.handleResolveEvent(cc, taskForm))
}, },
// //
handleExamine(pass) { handleExamine(pass) {

@ -229,7 +229,25 @@ export default {
let { taskForm } = form let { taskForm } = form
const option = this.option const option = this.option
option.menuBtn = false option.menuBtn = false
const { column, group } = option let { column, group } = option
if (taskForm) {
const columnFilter = this.filterAvueColumn(column, taskForm, true)
column = columnFilter.column
let vars = columnFilter.vars || []
const groupArr = []
if (group && group.length > 0) { // group
group.forEach(gro => {
const groupFilter = this.filterAvueColumn(gro.column, taskForm, true)
gro.column = groupFilter.column
vars = vars.concat(groupFilter.vars)
if (gro.column.length > 0) groupArr.push(gro)
})
}
group = groupArr
this.vars = vars
}
if (status != 'todo') { // if (status != 'todo') { //
option.detail = true option.detail = true
if (column && column.length > 0) { // column if (column && column.length > 0) { // column
@ -253,24 +271,10 @@ export default {
} }
}) })
} }
} else {
const columnFilter = this.filterAvueColumn(column, taskForm, true)
const columnArr = columnFilter.column
let vars = columnFilter.vars || []
const groupArr = []
if (group && group.length > 0) { // group
group.forEach(gro => {
const groupFilter = this.filterAvueColumn(gro.column, taskForm, true)
gro.column = groupFilter.column
vars = vars.concat(groupFilter.vars)
if (gro.column.length > 0) groupArr.push(gro)
})
}
option.column = columnArr
option.group = groupArr
this.vars = vars
} }
option.column = column
option.group = group
for (let key in variables) { for (let key in variables) {
if (!variables[key]) delete variables[key] if (!variables[key]) delete variables[key]
} }

Loading…
Cancel
Save