360 lines
17 KiB
HTML
360 lines
17 KiB
HTML
<!--#
|
|
layout("/layouts/platform.html"){
|
|
#-->
|
|
|
|
<style>
|
|
.el-form .el-select {
|
|
width: 100% !important;
|
|
}
|
|
|
|
.wp-upload .wp-upload-button-select-file {
|
|
margin: 0 !important;
|
|
}
|
|
</style>
|
|
|
|
<div id="app" v-cloak>
|
|
<guava ref="guava">
|
|
|
|
<template>
|
|
<el-card shadow="never">
|
|
<div class="btn-group tool-button">
|
|
<el-input placeholder="请输入内容" v-model="pageForm.searchKeyword">
|
|
<el-select v-model="pageForm.searchName" slot="prepend" placeholder="查询"
|
|
style="width: 100px;">
|
|
<el-option label="工号" value="u.loginname"></el-option>
|
|
<el-option label="姓名" value="u.username"></el-option>
|
|
</el-select>
|
|
</el-input>
|
|
</div>
|
|
<div class="btn-group tool-button">
|
|
<el-select placeholder="请选择教代会" v-model="pageForm.teacherMeetId" filterable style="width:180px;">
|
|
<el-option v-for="item in teacherMeets" :label="item.jdhallname" :value="item.id"
|
|
:key="item.id"></el-option>
|
|
</el-select>
|
|
</div>
|
|
<div class="btn-group tool-button">
|
|
<el-select v-model="pageForm.unionId" @change="unionChange" filterable clearable
|
|
placeholder="请选择工会">
|
|
<el-option v-for="item in unionList" :label="item.unionname"
|
|
:value="item.id">
|
|
</el-option>
|
|
</el-select>
|
|
</div>
|
|
<div class="btn-group tool-button">
|
|
<el-select v-model="pageForm.unitId" filterable clearable placeholder="请选择单位">
|
|
<el-option
|
|
v-for="item in unitList"
|
|
:label="item.name"
|
|
:value="item.id">
|
|
</el-option>
|
|
</el-select>
|
|
</div>
|
|
|
|
<div class="btn-group tool-button">
|
|
<el-button type="primary" icon="el-icon-search" @click="doSearch"></el-button>
|
|
</div>
|
|
|
|
<div class="pull-right offscreen-right">
|
|
<el-button size="medium" type="primary" @click="doAuditMany" icon="el-icon-check">批量通过</el-button>
|
|
</div>
|
|
|
|
<div class="pull-right offscreen-right mr25">
|
|
<el-radio-group v-model="pageForm.isAudit" @change="doSearch" size="medium">
|
|
<el-radio-button label="all">全部</el-radio-button>
|
|
<el-radio-button label="true">已审查</el-radio-button>
|
|
<el-radio-button label="false">待审查</el-radio-button>
|
|
</el-radio-group>
|
|
</div>
|
|
|
|
</el-card>
|
|
|
|
<el-card shadow="never" class="mt20">
|
|
<el-table :data="tableData" @selection-change="(val)=>{selections = val}" @sort-change='pageOrder'
|
|
:row-key="(row)=>row.id">
|
|
<el-table-column type="selection" reserve-selection width="55"></el-table-column>
|
|
<el-table-column label="序号" type="index" header-align="center" align="center">
|
|
<template scope="scope">
|
|
<span>{{scope.$index+(pageForm.pageNumber - 1) * pageForm.pageSize + 1}} </span>
|
|
</template>
|
|
</el-table-column>
|
|
<el-table-column label="姓名" prop="userName" width="80" align="center"></el-table-column>
|
|
<el-table-column label="工号" prop="loginName" align="center"></el-table-column>
|
|
<el-table-column label="性别" prop="sex" width="50" align="center"></el-table-column>
|
|
<el-table-column label="民族" prop="nation" align="center"></el-table-column>
|
|
<el-table-column label="政治面貌" prop="politicalOutlook" show-overflow-tooltip
|
|
align="center"></el-table-column>
|
|
<el-table-column label="学历" prop="education" align="center"></el-table-column>
|
|
<el-table-column label="专业技术职称" prop="technicalTitle" align="center"></el-table-column>
|
|
<el-table-column label="年龄" prop="age" align="center" width="50"></el-table-column>
|
|
<el-table-column label="教学科研及双肩挑人员" prop="twoWork" align="center">
|
|
<template scope="{row}">
|
|
<el-checkbox v-model="row.twoWork"
|
|
:style="{'pointer-events':row.stateCode===0?'auto':'none'}"></el-checkbox>
|
|
</template>
|
|
</el-table-column>
|
|
<el-table-column label="教代会代表" prop="isJdh" align="center">
|
|
<template scope="{row}">
|
|
<el-checkbox v-model="row.isJdh"
|
|
:style="{'pointer-events':row.stateCode===0?'auto':'none'}"></el-checkbox>
|
|
</template>
|
|
</el-table-column>
|
|
<el-table-column label="工代会代表" prop="isGdh" align="center">
|
|
<template scope="{row}">
|
|
<el-checkbox v-model="row.isGdh"
|
|
:style="{'pointer-events':row.stateCode===0?'auto':'none'}"></el-checkbox>
|
|
</template>
|
|
</el-table-column>
|
|
|
|
<el-table-column label="备注" prop="bz" show-overflow-tooltip></el-table-column>
|
|
<el-table-column label="分工会" prop="unionname" show-overflow-tooltip></el-table-column>
|
|
|
|
<el-table-column sortable label="状态" prop="stateName"></el-table-column>
|
|
<el-table-column label="操作" width="250" align="center" v-if="pageForm.isAudit!=='true'">
|
|
<template slot-scope="{row}">
|
|
<el-button size="mini" v-if="row.stateCode===100" @click="openEdit(row)"
|
|
type="primary">编辑
|
|
</el-button>
|
|
|
|
<el-button size="mini" v-if="row.stateCode===100" @click="doAudit(row.id,true)"
|
|
type="success">通过
|
|
</el-button>
|
|
<el-button size="mini" v-if="row.stateCode===100" @click="doAudit(row.id,false)"
|
|
type="danger">拒绝
|
|
</el-button>
|
|
|
|
<!-- <el-dropdown @command="dropdownCommand">-->
|
|
<!-- <el-button plain size="mini">-->
|
|
<!-- <i class="ti-settings"></i>-->
|
|
<!-- <span class="ti-angle-down"></span>-->
|
|
<!-- </el-button>-->
|
|
<!-- <el-dropdown-menu slot="dropdown">-->
|
|
<!-- <el-dropdown-item :command="{type:'view',data:row}">-->
|
|
<!-- 查看-->
|
|
<!-- </el-dropdown-item>-->
|
|
<!-- <el-dropdown-item v-if="row.stateCode===100"-->
|
|
<!-- :command="{type:'doAudit',id:row.id,result:true}">-->
|
|
<!-- 通过-->
|
|
<!-- </el-dropdown-item>-->
|
|
<!-- <el-dropdown-item v-if="row.stateCode===100"-->
|
|
<!-- :command="{type:'doAudit',id:row.id,result:false}">-->
|
|
<!-- 拒绝-->
|
|
<!-- </el-dropdown-item>-->
|
|
<!-- </el-dropdown-menu>-->
|
|
<!-- </el-dropdown>-->
|
|
</template>
|
|
</el-table-column>
|
|
</el-table>
|
|
<!--#include("/layouts/pagination.html"){}#-->
|
|
</el-card>
|
|
</template>
|
|
|
|
<template #view>
|
|
<db-info :active="'1'" ref="delegateInfo"></db-info>
|
|
</template>
|
|
</guava>
|
|
|
|
<el-dialog title="编辑" :visible.sync="editDialogVisible" :close-on-click-modal="false">
|
|
<el-form :model="formData" ref="form" :rules="rules" label-width="160px">
|
|
<el-row>
|
|
<el-col :span="12">
|
|
<el-form-item prop="userName" label="姓名">
|
|
<el-input v-model="formData.userName" readonly></el-input>
|
|
</el-form-item>
|
|
</el-col>
|
|
<el-col :span="12">
|
|
<el-form-item prop="loginName" label="工号">
|
|
<el-input v-model="formData.loginName" readonly></el-input>
|
|
</el-form-item>
|
|
</el-col>
|
|
</el-row>
|
|
|
|
<el-row>
|
|
<el-col :span="12">
|
|
<el-form-item prop="sex" label="性别">
|
|
<el-input v-model="formData.sex" readonly></el-input>
|
|
</el-form-item>
|
|
</el-col>
|
|
<el-col :span="12">
|
|
<el-form-item prop="age" label="年龄">
|
|
<el-input v-model="formData.age"></el-input>
|
|
</el-form-item>
|
|
</el-col>
|
|
</el-row>
|
|
|
|
<el-row>
|
|
<el-col :span="12">
|
|
<el-form-item prop="nation" label="民族">
|
|
<el-select filterable v-model="formData.nation">
|
|
<el-option v-for="n in nation" :key="n" :value="n" :label="n"></el-option>
|
|
</el-select>
|
|
</el-form-item>
|
|
</el-col>
|
|
<el-col :span="12">
|
|
<el-form-item prop="education" label="学历">
|
|
<dict-select v-model="formData.education" code="Education"></dict-select>
|
|
</el-form-item>
|
|
</el-col>
|
|
</el-row>
|
|
|
|
<el-row>
|
|
<el-col :span="12">
|
|
<el-form-item prop="politicalOutlook" label="政治面貌">
|
|
<el-input maxlength="20" v-model="formData.politicalOutlook"></el-input>
|
|
</el-form-item>
|
|
</el-col>
|
|
<el-col :span="12">
|
|
<el-form-item prop="administrativeTitle" label="行政职务">
|
|
<el-input v-model="formData.administrativeTitle"></el-input>
|
|
</el-form-item>
|
|
</el-col>
|
|
</el-row>
|
|
|
|
<el-form-item prop="technicalTitle" label="专业技术职务">
|
|
<el-select v-model="formData.technicalTitle" placeholder="请选择专业技术职务">
|
|
<el-option-group
|
|
v-for="group in technicalTitleOptions"
|
|
:key="group.label"
|
|
:label="group.label">
|
|
<el-option
|
|
v-for="item in group.options"
|
|
:key="item.value"
|
|
:label="item.label"
|
|
:value="item.value">
|
|
</el-option>
|
|
</el-option-group>
|
|
</el-select>
|
|
</el-form-item>
|
|
|
|
<el-form-item prop="twoWork" label="教学科研及双肩挑人员">
|
|
<el-checkbox v-model="formData.twoWork"></el-checkbox>
|
|
</el-form-item>
|
|
<el-form-item prop="isJdh" label="教代会代表">
|
|
<el-checkbox v-model="formData.isJdh"></el-checkbox>
|
|
</el-form-item>
|
|
<el-form-item prop="isGdh" label="工代会代表">
|
|
<el-checkbox v-model="formData.isGdh"></el-checkbox>
|
|
</el-form-item>
|
|
<el-form-item prop="bz" label="备注">
|
|
<el-input v-model="formData.bz"></el-input>
|
|
</el-form-item>
|
|
</el-form>
|
|
<el-row type="flex" justify="end">
|
|
<el-button @click="editDialogVisible=false">取消</el-button>
|
|
<el-button type="primary" @click="doEdit">确定</el-button>
|
|
</el-row>
|
|
</el-dialog>
|
|
|
|
</div>
|
|
<script>
|
|
let vue = new Vue({
|
|
el: '#app',
|
|
mixins: [initTableMixins],
|
|
components: {
|
|
'db-info': httpVueLoader('/components/jdh/dbinfo.vue')
|
|
},
|
|
data() {
|
|
return {
|
|
teacherMeets: [],
|
|
tableData: [],
|
|
unionList: [],
|
|
unitList: [],
|
|
pageForm: {
|
|
isAudit: false
|
|
},
|
|
selections: [],
|
|
editDialogVisible: false,
|
|
rules: {
|
|
nation: [{required: true, message: '请选择民族', trigger: ['change', 'blur']}],
|
|
age: [{required: true, message: '请输入年龄', trigger: ['change', 'blur']}],
|
|
education: [{required: true, message: '请选择学历', trigger: ['change', 'blur']}],
|
|
politicalOutlook: [{required: true, message: '请输入政治面貌', trigger: ['change', 'blur']}],
|
|
administrativeTitle: [{required: true, message: '请输入行政职务', trigger: ['change', 'blur']}],
|
|
technicalTitle: [{required: true, message: '请选择专业技术职务', trigger: ['change', 'blur']}]
|
|
},
|
|
technicalTitleOptions: []
|
|
}
|
|
},
|
|
methods: {
|
|
openEdit(row) {
|
|
this.editDialogVisible = true
|
|
this.formData = row
|
|
console.log(row)
|
|
},
|
|
async doEdit() {
|
|
const valid = await this.$refs['form'].validate()
|
|
if (!valid) return
|
|
const resp = await $.post(loc() + '/doEditTeacher', this.formData)
|
|
if (resp.code === 0) {
|
|
this.notifySuccess(resp.msg)
|
|
this.editDialogVisible = false
|
|
this.pageData()
|
|
} else {
|
|
this.notifyWarning(resp.msg)
|
|
}
|
|
|
|
},
|
|
|
|
|
|
dropdownCommand(command) {
|
|
const {type, id, result} = command
|
|
switch (type) {
|
|
case 'view': {
|
|
this.$refs.guava.view()
|
|
this.$refs.delegateInfo.openView('00mtsco13mgitql1pdblo7v5li')
|
|
break
|
|
}
|
|
case 'doAudit': {
|
|
this.doAudit([id], result)
|
|
break
|
|
}
|
|
}
|
|
},
|
|
async doAudit(id, result) {
|
|
let ids = [].concat(id)
|
|
console.log(ids)
|
|
const resp = await $.post('/platform/teacherMeet/delegate/audit/doAudit', {ids, result})
|
|
if (resp.code === 0) {
|
|
this.$notify.success(resp.msg)
|
|
this.doSearch()
|
|
} else {
|
|
this.$notify.error(resp.msg)
|
|
}
|
|
},
|
|
doAuditMany() {
|
|
if (this.selections.length === 0) {
|
|
this.$notify.warning('请先勾选需要批量审核的数据')
|
|
return
|
|
}
|
|
const ids = this.selections.map(v => v.id)
|
|
this.doAudit(ids, true)
|
|
this.selections = []
|
|
},
|
|
|
|
async unionChange(val) {
|
|
this.$set(this.pageForm, 'unitId', null)
|
|
this.unitList = await getUnits(val)
|
|
},
|
|
async getTechnicalTitleOptions() {
|
|
const resp = await $.get('/platform/teacherMeet/push/getTechnicalTitleOptions')
|
|
if (resp.code === 0) {
|
|
this.technicalTitleOptions = resp.data
|
|
}
|
|
}
|
|
|
|
},
|
|
async created() {
|
|
await this.getTechnicalTitleOptions()
|
|
this.teacherMeets = await getAllMeeting()
|
|
if (this.teacherMeets.length > 0) {
|
|
this.pageForm.teacherMeetId = this.teacherMeets[0].id
|
|
}
|
|
this.unionList = await getUnions(null)
|
|
this.pageData()
|
|
}
|
|
})
|
|
</script>
|
|
<!--#
|
|
}
|
|
#-->
|
|
|