|
|
|
|
@ -14,12 +14,12 @@
|
|
|
|
|
</div>
|
|
|
|
|
<div>
|
|
|
|
|
<lx-header icon="" :text="''"
|
|
|
|
|
style="margin-bottom: 10px; border: 0px; margin-top: 15px">
|
|
|
|
|
<template v-slot:textcontent>
|
|
|
|
|
<span>{{type=='checkshow' || type=='check'?'报名信息':'个人信息'}}</span>
|
|
|
|
|
<span v-if="type=='checkshow' || type=='check'">
|
|
|
|
|
(注:<span style="color:red">红色标识</span>为学员本次报名提交的信息,<span style="color:#000">黑色标识</span>为学员过往信息)
|
|
|
|
|
</span>
|
|
|
|
|
style="margin-bottom: 10px; border: 0px; margin-top: 15px">
|
|
|
|
|
<template v-slot:textcontent>
|
|
|
|
|
<span>{{type=='checkshow' || type=='check'?'报名信息':'个人信息'}}</span>
|
|
|
|
|
<span v-if="type=='checkshow' || type=='check'">
|
|
|
|
|
(注:<span style="color:red">红色标识</span>为学员本次报名提交的信息,<span style="color:#000">黑色标识</span>为学员过往信息)
|
|
|
|
|
</span>
|
|
|
|
|
</template>
|
|
|
|
|
</lx-header>
|
|
|
|
|
<div>
|
|
|
|
|
@ -32,12 +32,12 @@
|
|
|
|
|
<div v-if="item.field==='company_date'">
|
|
|
|
|
{{student_info[item.field]?(student_info[item.field]=='0000-00-00'?'':student_info[item.field]):''}}
|
|
|
|
|
</div>
|
|
|
|
|
<div v-else>
|
|
|
|
|
<div v-else style="word-break: break-word; word-wrap: break-word; overflow-wrap: break-word;">
|
|
|
|
|
{{student_info[item.field]?student_info[item.field]:''}}
|
|
|
|
|
<!-- 是否有更改的字段 -->
|
|
|
|
|
<template v-if="change_data.length>0">
|
|
|
|
|
<template v-for="change in change_data">
|
|
|
|
|
<span style="color:red"
|
|
|
|
|
<span style="color:red; word-break: break-word; word-wrap: break-word; overflow-wrap: break-word;"
|
|
|
|
|
v-if="change[item.field] && change['need_update']">-->{{change[item.field]}}</span>
|
|
|
|
|
</template>
|
|
|
|
|
</template>
|
|
|
|
|
@ -71,7 +71,7 @@
|
|
|
|
|
<template slot="label">
|
|
|
|
|
{{item.name}}
|
|
|
|
|
</template>
|
|
|
|
|
{{item.value}}
|
|
|
|
|
<div style="word-break: break-word; word-wrap: break-word; overflow-wrap: break-word;">{{item.value}}</div>
|
|
|
|
|
</el-descriptions-item>
|
|
|
|
|
</template>
|
|
|
|
|
|
|
|
|
|
@ -81,64 +81,64 @@
|
|
|
|
|
</template>
|
|
|
|
|
</el-descriptions>
|
|
|
|
|
|
|
|
|
|
</div>
|
|
|
|
|
|
|
|
|
|
<!-- 操作日志 -->
|
|
|
|
|
<lx-header v-if="(type=='checkshow' || type=='check') &&(sign_result.audits && sign_result.audits.length>0)" icon="" text="操作日志"
|
|
|
|
|
style="margin-bottom: 10px; border: 0px; margin-top: 15px">
|
|
|
|
|
</lx-header>
|
|
|
|
|
<div v-if="(type=='checkshow' || type=='check') &&(sign_result.audits && sign_result.audits.length>0)">
|
|
|
|
|
<xy-table :list="sign_result.audits" :isPage="false" height="200" :table-item="audit_item">
|
|
|
|
|
<template v-slot:username>
|
|
|
|
|
<el-table-column align='center' label="操作人" width="120" header-align="center">
|
|
|
|
|
<template slot-scope="scope">
|
|
|
|
|
<div v-if="scope.row.event=='created'">
|
|
|
|
|
学员
|
|
|
|
|
</div>
|
|
|
|
|
<div v-else>
|
|
|
|
|
{{scope.row.user?scope.row.user.username:''}}
|
|
|
|
|
</div>
|
|
|
|
|
</template>
|
|
|
|
|
</el-table-column>
|
|
|
|
|
</template>
|
|
|
|
|
<template v-slot:event>
|
|
|
|
|
<el-table-column align='center' label="操作类型" width="120" header-align="center">
|
|
|
|
|
<template slot-scope="scope">
|
|
|
|
|
<div v-if="scope.row.event=='created'">
|
|
|
|
|
提交报名
|
|
|
|
|
</div>
|
|
|
|
|
<div v-else>
|
|
|
|
|
更新状态
|
|
|
|
|
</div>
|
|
|
|
|
</template>
|
|
|
|
|
</el-table-column>
|
|
|
|
|
</template>
|
|
|
|
|
<template v-slot:values>
|
|
|
|
|
<el-table-column align='left' label="操作详情" header-align="center">
|
|
|
|
|
<template slot-scope="scope">
|
|
|
|
|
<div v-if="scope.row.event=='created'">
|
|
|
|
|
提交报名信息
|
|
|
|
|
</div>
|
|
|
|
|
<div v-else>
|
|
|
|
|
<template v-for="item in apply_status_list">
|
|
|
|
|
<span style="font-weight: bold;" v-if="scope.row.old_values.status===item.id">{{item.value}}</span>
|
|
|
|
|
</template>
|
|
|
|
|
变更为:
|
|
|
|
|
<template v-for="item in apply_status_list">
|
|
|
|
|
<span style="color:red" v-if="scope.row.new_values.status===item.id">{{item.value}}</span>
|
|
|
|
|
</template>
|
|
|
|
|
</div>
|
|
|
|
|
</template>
|
|
|
|
|
</el-table-column>
|
|
|
|
|
</template>
|
|
|
|
|
<template v-slot:created_at>
|
|
|
|
|
<el-table-column align='center' label="操作时间" width="240" header-align="center">
|
|
|
|
|
<template slot-scope="scope">
|
|
|
|
|
{{base.formatDate(scope.row.created_at)}}
|
|
|
|
|
</template>
|
|
|
|
|
</el-table-column>
|
|
|
|
|
</template>
|
|
|
|
|
</xy-table>
|
|
|
|
|
</div>
|
|
|
|
|
|
|
|
|
|
<!-- 操作日志 -->
|
|
|
|
|
<lx-header v-if="(type=='checkshow' || type=='check') &&(sign_result.audits && sign_result.audits.length>0)" icon="" text="操作日志"
|
|
|
|
|
style="margin-bottom: 10px; border: 0px; margin-top: 15px">
|
|
|
|
|
</lx-header>
|
|
|
|
|
<div v-if="(type=='checkshow' || type=='check') &&(sign_result.audits && sign_result.audits.length>0)">
|
|
|
|
|
<xy-table :list="sign_result.audits" :isPage="false" height="200" :table-item="audit_item">
|
|
|
|
|
<template v-slot:username>
|
|
|
|
|
<el-table-column align='center' label="操作人" width="120" header-align="center">
|
|
|
|
|
<template slot-scope="scope">
|
|
|
|
|
<div v-if="scope.row.event=='created'">
|
|
|
|
|
学员
|
|
|
|
|
</div>
|
|
|
|
|
<div v-else>
|
|
|
|
|
{{scope.row.user?scope.row.user.username:''}}
|
|
|
|
|
</div>
|
|
|
|
|
</template>
|
|
|
|
|
</el-table-column>
|
|
|
|
|
</template>
|
|
|
|
|
<template v-slot:event>
|
|
|
|
|
<el-table-column align='center' label="操作类型" width="120" header-align="center">
|
|
|
|
|
<template slot-scope="scope">
|
|
|
|
|
<div v-if="scope.row.event=='created'">
|
|
|
|
|
提交报名
|
|
|
|
|
</div>
|
|
|
|
|
<div v-else>
|
|
|
|
|
更新状态
|
|
|
|
|
</div>
|
|
|
|
|
</template>
|
|
|
|
|
</el-table-column>
|
|
|
|
|
</template>
|
|
|
|
|
<template v-slot:values>
|
|
|
|
|
<el-table-column align='left' width="450" label="操作详情" header-align="center" min-width="200" show-overflow-tooltip>
|
|
|
|
|
<template slot-scope="scope">
|
|
|
|
|
<div v-if="scope.row.event=='created'" style="word-break: break-word;">
|
|
|
|
|
提交报名信息
|
|
|
|
|
</div>
|
|
|
|
|
<div v-else style="word-break: break-word;">
|
|
|
|
|
<template v-for="item in apply_status_list">
|
|
|
|
|
<span style="font-weight: bold;" v-if="scope.row.old_values.status===item.id">{{item.value}}</span>
|
|
|
|
|
</template>
|
|
|
|
|
变更为:
|
|
|
|
|
<template v-for="item in apply_status_list">
|
|
|
|
|
<span style="color:red" v-if="scope.row.new_values.status===item.id">{{item.value}}</span>
|
|
|
|
|
</template>
|
|
|
|
|
</div>
|
|
|
|
|
</template>
|
|
|
|
|
</el-table-column>
|
|
|
|
|
</template>
|
|
|
|
|
<template v-slot:created_at>
|
|
|
|
|
<el-table-column align='center' label="操作时间" width="240" header-align="center">
|
|
|
|
|
<template slot-scope="scope">
|
|
|
|
|
{{base.formatDate(scope.row.created_at)}}
|
|
|
|
|
</template>
|
|
|
|
|
</el-table-column>
|
|
|
|
|
</template>
|
|
|
|
|
</xy-table>
|
|
|
|
|
</div>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@ -161,7 +161,7 @@
|
|
|
|
|
</div>
|
|
|
|
|
<div v-if="sign_result.status===5">
|
|
|
|
|
<span>放弃原因:</span>
|
|
|
|
|
<span>{{sign_result.giveup_reason}}</span>
|
|
|
|
|
<span style="word-break: break-word; word-wrap: break-word; overflow-wrap: break-word;">{{sign_result.giveup_reason}}</span>
|
|
|
|
|
</div>
|
|
|
|
|
<div style="display: flex;" v-if="sign_result.status===1">
|
|
|
|
|
<span>录取通知书:</span>
|
|
|
|
|
@ -174,10 +174,10 @@
|
|
|
|
|
</div>
|
|
|
|
|
<div>
|
|
|
|
|
<span>备注:</span>
|
|
|
|
|
<span>{{sign_result.reason?sign_result.reason:''}}</span>
|
|
|
|
|
<span style="word-break: break-word; word-wrap: break-word; overflow-wrap: break-word;">{{sign_result.reason?sign_result.reason:''}}</span>
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
@ -286,7 +286,7 @@
|
|
|
|
|
</template>
|
|
|
|
|
</div>
|
|
|
|
|
<template v-slot:footer>
|
|
|
|
|
<el-button plain type="primary" plain style='margin-left:5px;margin-bottom:5px;'
|
|
|
|
|
<el-button plain type="primary" style='margin-left:5px;margin-bottom:5px;'
|
|
|
|
|
@click="showChange = false">取消</el-button>
|
|
|
|
|
<el-button type="primary" style='margin-left:5px;margin-bottom:5px;' @click="saveAndUpdate(false)">直接审核</el-button>
|
|
|
|
|
<el-button type="primary" style='margin-left:5px;margin-bottom:5px;' @click="saveAndUpdate(true)">审核并更新</el-button>
|
|
|
|
|
@ -339,23 +339,23 @@
|
|
|
|
|
file_ids: [],
|
|
|
|
|
reason: '',
|
|
|
|
|
position: ''
|
|
|
|
|
},
|
|
|
|
|
audit_item:[{
|
|
|
|
|
prop:'username',
|
|
|
|
|
label:'操作人'
|
|
|
|
|
},{
|
|
|
|
|
prop:'ip_address',
|
|
|
|
|
label:'Ip',
|
|
|
|
|
width:120
|
|
|
|
|
},{
|
|
|
|
|
prop:'event',
|
|
|
|
|
label:'操作类型'
|
|
|
|
|
},{
|
|
|
|
|
prop:'values',
|
|
|
|
|
label:'操作详情'
|
|
|
|
|
},{
|
|
|
|
|
prop:'created_at',
|
|
|
|
|
label:'操作时间'
|
|
|
|
|
},
|
|
|
|
|
audit_item:[{
|
|
|
|
|
prop:'username',
|
|
|
|
|
label:'操作人'
|
|
|
|
|
},{
|
|
|
|
|
prop:'ip_address',
|
|
|
|
|
label:'Ip',
|
|
|
|
|
width:120
|
|
|
|
|
},{
|
|
|
|
|
prop:'event',
|
|
|
|
|
label:'操作类型'
|
|
|
|
|
},{
|
|
|
|
|
prop:'values',
|
|
|
|
|
label:'操作详情'
|
|
|
|
|
},{
|
|
|
|
|
prop:'created_at',
|
|
|
|
|
label:'操作时间'
|
|
|
|
|
},],
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
@ -386,18 +386,18 @@
|
|
|
|
|
submit() {
|
|
|
|
|
if (this.id) {
|
|
|
|
|
this.form.id = this.id
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// 如果是 不通过, remark必填
|
|
|
|
|
if(this.form.status===2){
|
|
|
|
|
if(this.base.isNull(this.form.reason)){
|
|
|
|
|
this.$message({
|
|
|
|
|
type: 'warning',
|
|
|
|
|
message: '审核不通过时,请填写备注'
|
|
|
|
|
})
|
|
|
|
|
return
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// 如果是 不通过, remark必填
|
|
|
|
|
if(this.form.status===2){
|
|
|
|
|
if(this.base.isNull(this.form.reason)){
|
|
|
|
|
this.$message({
|
|
|
|
|
type: 'warning',
|
|
|
|
|
message: '审核不通过时,请填写备注'
|
|
|
|
|
})
|
|
|
|
|
return
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
let _arr = []
|
|
|
|
|
if (this.fileList.length > 0) {
|
|
|
|
|
@ -451,70 +451,70 @@
|
|
|
|
|
})
|
|
|
|
|
},
|
|
|
|
|
// 提交审核并更新用户信息
|
|
|
|
|
saveAndUpdate(isUpdate) {
|
|
|
|
|
console.log("isUpdate",isUpdate)
|
|
|
|
|
// return
|
|
|
|
|
if(isUpdate){
|
|
|
|
|
let update_count = 0 // 需要更新的字段
|
|
|
|
|
this.change_data.map(item => {
|
|
|
|
|
if (item.is_checked) {
|
|
|
|
|
update_count++
|
|
|
|
|
// 替换学员数据中的值
|
|
|
|
|
for (var student in this.student_info) {
|
|
|
|
|
if (item[student]) {
|
|
|
|
|
this.update_student_info[student] = item[student]
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
})
|
|
|
|
|
// 有需要更新的字段
|
|
|
|
|
if (update_count > 0) {
|
|
|
|
|
save({
|
|
|
|
|
...this.row,
|
|
|
|
|
status: this.form.status,
|
|
|
|
|
reason: this.form.reason,
|
|
|
|
|
score: this.form.score,
|
|
|
|
|
giveup_reason: this.form.giveup_reason,
|
|
|
|
|
file_ids: this.form.file_ids,
|
|
|
|
|
position: this.form.position
|
|
|
|
|
}).then(res => {
|
|
|
|
|
saveUser({
|
|
|
|
|
...this.update_student_info
|
|
|
|
|
}).then(res => {
|
|
|
|
|
this.$message({
|
|
|
|
|
type: 'success',
|
|
|
|
|
message: '审核并更新成功'
|
|
|
|
|
})
|
|
|
|
|
this.isShow = false
|
|
|
|
|
this.showChange = false
|
|
|
|
|
this.$emit('refresh')
|
|
|
|
|
})
|
|
|
|
|
|
|
|
|
|
})
|
|
|
|
|
|
|
|
|
|
console.log("update", this.update_student_info)
|
|
|
|
|
} else {
|
|
|
|
|
this.$Message.warning("请选择需要更新的字段")
|
|
|
|
|
return
|
|
|
|
|
}
|
|
|
|
|
}else{
|
|
|
|
|
save({
|
|
|
|
|
...this.row,
|
|
|
|
|
status: this.form.status,
|
|
|
|
|
reason: this.form.reason,
|
|
|
|
|
score: this.form.score,
|
|
|
|
|
giveup_reason: this.form.giveup_reason,
|
|
|
|
|
file_ids: this.form.file_ids,
|
|
|
|
|
position: this.form.position
|
|
|
|
|
}).then(res => {
|
|
|
|
|
this.$message({
|
|
|
|
|
type: 'success',
|
|
|
|
|
message: '审核成功'
|
|
|
|
|
})
|
|
|
|
|
this.isShow = false
|
|
|
|
|
this.showChange = false
|
|
|
|
|
this.$emit('refresh')
|
|
|
|
|
})
|
|
|
|
|
saveAndUpdate(isUpdate) {
|
|
|
|
|
console.log("isUpdate",isUpdate)
|
|
|
|
|
// return
|
|
|
|
|
if(isUpdate){
|
|
|
|
|
let update_count = 0 // 需要更新的字段
|
|
|
|
|
this.change_data.map(item => {
|
|
|
|
|
if (item.is_checked) {
|
|
|
|
|
update_count++
|
|
|
|
|
// 替换学员数据中的值
|
|
|
|
|
for (var student in this.student_info) {
|
|
|
|
|
if (item[student]) {
|
|
|
|
|
this.update_student_info[student] = item[student]
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
})
|
|
|
|
|
// 有需要更新的字段
|
|
|
|
|
if (update_count > 0) {
|
|
|
|
|
save({
|
|
|
|
|
...this.row,
|
|
|
|
|
status: this.form.status,
|
|
|
|
|
reason: this.form.reason,
|
|
|
|
|
score: this.form.score,
|
|
|
|
|
giveup_reason: this.form.giveup_reason,
|
|
|
|
|
file_ids: this.form.file_ids,
|
|
|
|
|
position: this.form.position
|
|
|
|
|
}).then(res => {
|
|
|
|
|
saveUser({
|
|
|
|
|
...this.update_student_info
|
|
|
|
|
}).then(res => {
|
|
|
|
|
this.$message({
|
|
|
|
|
type: 'success',
|
|
|
|
|
message: '审核并更新成功'
|
|
|
|
|
})
|
|
|
|
|
this.isShow = false
|
|
|
|
|
this.showChange = false
|
|
|
|
|
this.$emit('refresh')
|
|
|
|
|
})
|
|
|
|
|
|
|
|
|
|
})
|
|
|
|
|
|
|
|
|
|
console.log("update", this.update_student_info)
|
|
|
|
|
} else {
|
|
|
|
|
this.$Message.warning("请选择需要更新的字段")
|
|
|
|
|
return
|
|
|
|
|
}
|
|
|
|
|
}else{
|
|
|
|
|
save({
|
|
|
|
|
...this.row,
|
|
|
|
|
status: this.form.status,
|
|
|
|
|
reason: this.form.reason,
|
|
|
|
|
score: this.form.score,
|
|
|
|
|
giveup_reason: this.form.giveup_reason,
|
|
|
|
|
file_ids: this.form.file_ids,
|
|
|
|
|
position: this.form.position
|
|
|
|
|
}).then(res => {
|
|
|
|
|
this.$message({
|
|
|
|
|
type: 'success',
|
|
|
|
|
message: '审核成功'
|
|
|
|
|
})
|
|
|
|
|
this.isShow = false
|
|
|
|
|
this.showChange = false
|
|
|
|
|
this.$emit('refresh')
|
|
|
|
|
})
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
},
|
|
|
|
|
@ -623,10 +623,43 @@
|
|
|
|
|
flex-basis: 100%;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// 防止内容溢出导致宽度扩展
|
|
|
|
|
.xy-table-item-content {
|
|
|
|
|
min-width: 0;
|
|
|
|
|
max-width: 100%;
|
|
|
|
|
overflow: hidden;
|
|
|
|
|
word-break: break-word;
|
|
|
|
|
word-wrap: break-word;
|
|
|
|
|
overflow-wrap: break-word;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// el-descriptions 组件样式
|
|
|
|
|
::v-deep .el-descriptions {
|
|
|
|
|
max-width: 100%;
|
|
|
|
|
overflow: hidden;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
::v-deep .el-descriptions-item__label {
|
|
|
|
|
width: 15%;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
::v-deep .el-descriptions-item__content {
|
|
|
|
|
word-break: break-word;
|
|
|
|
|
word-wrap: break-word;
|
|
|
|
|
overflow-wrap: break-word;
|
|
|
|
|
max-width: 85%;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// 表格内容防止溢出
|
|
|
|
|
::v-deep .el-table {
|
|
|
|
|
max-width: 100%;
|
|
|
|
|
overflow: hidden;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
::v-deep .el-table__body-wrapper {
|
|
|
|
|
overflow-x: auto;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
::v-deep .v-header {
|
|
|
|
|
margin-top: 0 !important;
|
|
|
|
|
}
|
|
|
|
|
@ -707,4 +740,4 @@
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
</style>
|
|
|
|
|
</style>
|
|
|
|
|
|