first commit
This commit is contained in:
@@ -0,0 +1,359 @@
|
||||
<!--#
|
||||
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>
|
||||
<!--#
|
||||
}
|
||||
#-->
|
||||
|
||||
@@ -0,0 +1,620 @@
|
||||
<!--#
|
||||
layout("/layouts/platform.html"){
|
||||
#-->
|
||||
<style>
|
||||
.el-form .el-select {
|
||||
width: 100%;
|
||||
}
|
||||
</style>
|
||||
|
||||
<div id="app" v-cloak>
|
||||
<guava ref="guava">
|
||||
<template>
|
||||
<el-card shadow="never">
|
||||
<div class="btn-group tool-button">
|
||||
<el-input placeholder="请输入内容" clearable 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 v-model="pageForm.jdhid" clearable filterable placeholder="请选择教代会"
|
||||
@change="jdhChange">
|
||||
<el-option
|
||||
v-for="item in allTeacherMeets"
|
||||
:key="item.id"
|
||||
:label="item.jdhallname"
|
||||
:value="item.id">
|
||||
</el-option>
|
||||
</el-select>
|
||||
</div>
|
||||
<div class="btn-group tool-button">
|
||||
<el-select v-model="pageForm.dbtid" filterable clearable placeholder="请选择代表团"
|
||||
@change="delegationChange">
|
||||
<el-option
|
||||
v-for="item in delegationList"
|
||||
:key="item.id"
|
||||
:label="item.dbtname"
|
||||
:value="item.id">
|
||||
</el-option>
|
||||
</el-select>
|
||||
</div>
|
||||
<div class="btn-group tool-button">
|
||||
<el-select v-model="pageForm.unionid" filterable clearable placeholder="请选择工会"
|
||||
@change="unitList = allUnitList.filter(v => pageForm.unionid?v.unionid === pageForm.unionid:true)">
|
||||
<el-option
|
||||
v-for="item in unionList"
|
||||
:key="item.id"
|
||||
: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"
|
||||
:key="item.id"
|
||||
:label="item.name"
|
||||
:value="item.id">
|
||||
</el-option>
|
||||
</el-select>
|
||||
</div>
|
||||
<div class="btn-group tool-button">
|
||||
<el-select v-model="pageForm.dbsf" clearable placeholder="请选择代表身份">
|
||||
<el-option label="正式代表" value="正式代表"></el-option>
|
||||
<el-option label="列席代表" value="列席代表"></el-option>
|
||||
<el-option label="特邀代表" value="特邀代表"></el-option>
|
||||
</el-select>
|
||||
</div>
|
||||
<div class="btn-group tool-button">
|
||||
<el-button type="primary" icon="el-icon-search" @click="doSearch"></el-button>
|
||||
</div>
|
||||
<el-row class="mt20">
|
||||
<div class="btn-group tool-button">
|
||||
<el-button type="danger" size="medium" @click="doDeleteMany" icon="el-icon-delete">批量删除
|
||||
</el-button>
|
||||
</div>
|
||||
<div class="btn-group tool-button">
|
||||
<el-button type="success" size="medium" @click="openAddDb" icon="el-icon-plus">新增代表
|
||||
</el-button>
|
||||
</div>
|
||||
<div class="btn-group tool-button">
|
||||
<el-button type="warning" size="medium" @click="openSetXld">
|
||||
<i class="el-icon-sort" style="transform: rotate(90deg);"></i>
|
||||
代表调整
|
||||
</el-button>
|
||||
</div>
|
||||
<div class="btn-group tool-button">
|
||||
<el-button type="warning" size="medium" @click="dofpdbt">
|
||||
一键分配代表团
|
||||
</el-button>
|
||||
</div>
|
||||
</el-row>
|
||||
</el-card>
|
||||
|
||||
<el-card shadow="never" class="mt20">
|
||||
<el-table :data="tableData" row-key="id" @selection-change="handleSelectionChange"
|
||||
@sort-change='pageOrder'>
|
||||
<el-table-column type="selection" width="55" reserve-selection></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 align="center" label="工号" prop="loginname"></el-table-column>
|
||||
<el-table-column align="center" sortable label="姓名" prop="username"></el-table-column>
|
||||
<el-table-column align="center" sortable label="性别" prop="sex"></el-table-column>
|
||||
<el-table-column align="center" sortable label="年龄" prop="age"></el-table-column>
|
||||
<el-table-column align="center" label="联系方式" prop="mobile"></el-table-column>
|
||||
<el-table-column align="center" sortable label="代表团" prop="dbtname"
|
||||
show-overflow-tooltip></el-table-column>
|
||||
<el-table-column align="center" sortable label="所属工会" prop="dbfghname"
|
||||
show-overflow-tooltip></el-table-column>
|
||||
<el-table-column align="center" sortable label="所属单位" prop="dbunitname" show-overflow-tooltip>
|
||||
<template scope="scope">
|
||||
{{scope.row.dbunitname}}({{scope.row.dbunitid}})
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column header-align="center" align="center" sortable label="届次"
|
||||
prop="jdhallname"></el-table-column>
|
||||
<el-table-column header-align="center" align="center" label="代表身份"
|
||||
prop="rolename"></el-table-column>
|
||||
<el-table-column header-align="center" align="center" label="操作" width="100">
|
||||
<template slot-scope="{row}">
|
||||
<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 :command="{type:'modify',data:row}">
|
||||
编辑
|
||||
</el-dropdown-item>
|
||||
<el-dropdown-item :command="{type:'doDelete',data:row}">
|
||||
删除
|
||||
</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="DbInfo"></db-info>
|
||||
</template>
|
||||
|
||||
<el-dialog title="新增教代会代表" :visible.sync="dbAddDialogVisible" @close="delegations=[];formData.role=''">
|
||||
<el-form :model="formData" ref="AddForm" :rules="rules" label-width="80px">
|
||||
<el-form-item prop="jdhid" label="届次">
|
||||
<el-select v-model="formData.jdhid" filterable placeholder="代表所属教代会" @change="jdhChange">
|
||||
<el-option v-for="item in allTeacherMeets" :key="item.id" :label="item.jdhallname"
|
||||
:value="item.id"></el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item prop="dbtid" label="代表团">
|
||||
<el-select v-model="formData.dbtid" filterable @change="dbtChange">
|
||||
<el-option v-for="i in delegations" :label="i.dbtname" :key="i.id"
|
||||
:value="i.id"></el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
|
||||
<el-form-item prop="role" label="代表类型">
|
||||
<el-select v-model="formData.role">
|
||||
<el-option v-for="i in representativeRoleOptions" :label="i.label" :key="i.value"
|
||||
:value="i.value"></el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
|
||||
<el-form-item prop="user" label="用户">
|
||||
<el-select
|
||||
v-model="formData.user"
|
||||
value-key="id"
|
||||
filterable
|
||||
remote
|
||||
multiple
|
||||
reserve-keyword
|
||||
@change="$refs.secondedSelect.$children[1].clear()"
|
||||
ref="secondedSelect"
|
||||
placeholder="请输入工号或者姓名"
|
||||
:remote-method="queryNotDbUser">
|
||||
<el-option
|
||||
v-for="item in notDbUserList"
|
||||
:key="item.id"
|
||||
:label="item.username+'-'+item.loginname+'-'+item.dwname"
|
||||
:value="item">
|
||||
</el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
<span slot="footer" class="dialog-footer">
|
||||
<el-button @click="dbAddDialogVisible = false">取 消</el-button>
|
||||
<el-button type="primary" @click="doAddDb">确 定</el-button>
|
||||
</span>
|
||||
</el-dialog>
|
||||
|
||||
<el-dialog title="代表名单调整" :visible.sync="xldDialogVisible">
|
||||
<el-select v-model="xldFormData.jdhid" @change="xldJdhChange">
|
||||
<el-option v-for="item in allTeacherMeets" :label="item.jdhallname" :value="item.id"></el-option>
|
||||
</el-select>
|
||||
<div class="pull-right offscreen-right">
|
||||
<el-select filterable placeholder="请输入工号和姓名"
|
||||
remote :remote-method="remotexldMethod"
|
||||
reserve-keyword v-model="xldFormData.userid">
|
||||
<el-option v-for="u in xldUserList" :label="u.username+'-'+u.loginname"
|
||||
:value="u.id"></el-option>
|
||||
</el-select>
|
||||
<el-button @click="addXldUser">
|
||||
添加人员
|
||||
</el-button>
|
||||
</div>
|
||||
|
||||
<el-table :data="xldTableData" height="350">
|
||||
<el-table-column label="工号" prop="loginname"></el-table-column>
|
||||
<el-table-column label="姓名" prop="username"></el-table-column>
|
||||
<el-table-column label="性别" prop="sex"></el-table-column>
|
||||
<el-table-column label="所属工会" prop="unionname"></el-table-column>
|
||||
<el-table-column label="所属单位" prop="dwname"></el-table-column>
|
||||
<el-table-column label="代表团">
|
||||
<template slot-scope="scope">
|
||||
<el-select v-model="scope.row.dbtid" clearable filterable>
|
||||
<el-option v-for="d in delegations" :label="d.dbtname" :value="d.id"></el-option>
|
||||
</el-select>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
<span slot="footer" class="dialog-footer">
|
||||
<el-button @click="xldDialogVisible = false">取 消</el-button>
|
||||
<el-button type="primary" @click="doSetxlddbt">确 定</el-button>
|
||||
</span>
|
||||
</el-dialog>
|
||||
|
||||
<el-dialog title="编辑教代会代表" :visible.sync="modifyDialogVisible" width="50%">
|
||||
<el-form :model="formData" ref="form" :rules="formRules" label-width="80px">
|
||||
|
||||
<el-row>
|
||||
<el-col :span="12">
|
||||
<el-form-item prop="username" label="姓名">
|
||||
<el-input disabled :value="representativeInfo.username"></el-input>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="12">
|
||||
<el-form-item prop="loginname" label="工号">
|
||||
<el-input disabled :value="representativeInfo.loginname"></el-input>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
|
||||
<el-form-item prop="jdhid" label="届次">
|
||||
<el-select v-model="representativeInfo.jdhid" filterable placeholder="届次"
|
||||
@change="jdhChange">
|
||||
<el-option v-for="item in allTeacherMeets" :key="item.id" :label="item.jdhallname"
|
||||
:value="item.id"></el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
|
||||
<el-form-item prop="dbtid" label="代表团">
|
||||
<el-select v-model="representativeInfo.dbtid" filterable>
|
||||
<el-option v-for="i in delegationList" :label="i.dbtname" :key="i.id"
|
||||
:value="i.id"></el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
|
||||
<!-- <el-form-item prop="dbfghid" label="所属工会">-->
|
||||
<!-- <el-select v-model="representativeInfo.dbfghid" filterable disabled-->
|
||||
<!-- @change="representativeInfo.dbunitid = '';modifyUnitList = allUnitList.filter(v => representativeInfo.dbfghid?v.unionid === representativeInfo.dbfghid:true)">-->
|
||||
<!-- <el-option v-for="i in unionList" :label="i.unionname" :key="i.id"-->
|
||||
<!-- :value="i.id"></el-option>-->
|
||||
<!-- </el-select>-->
|
||||
<!-- </el-form-item>-->
|
||||
|
||||
<!-- <el-form-item prop="dbunitid" label="所属单位">-->
|
||||
<!-- <el-select v-model="representativeInfo.dbunitid" filterable disabled>-->
|
||||
<!-- <el-option v-for="i in modifyUnitList" :label="i.name" :key="i.id"-->
|
||||
<!-- :value="i.id"></el-option>-->
|
||||
<!-- </el-select>-->
|
||||
<!-- </el-form-item>-->
|
||||
|
||||
|
||||
<el-form-item prop="roleid" label="代表类型">
|
||||
<el-select v-model="representativeInfo.roleid">
|
||||
<el-option v-for="i in representativeRoleOptions" :label="i.label" :key="i.value"
|
||||
:value="i.value"></el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
|
||||
</el-form>
|
||||
|
||||
<span slot="footer" class="dialog-footer">
|
||||
<el-button @click="modifyDialogVisible = false">取 消</el-button>
|
||||
<el-button type="primary" @click="modifying">确 定</el-button>
|
||||
</span>
|
||||
</el-dialog>
|
||||
|
||||
</guava>
|
||||
|
||||
</div>
|
||||
<script>
|
||||
const QC = (arr1, arr2, key) => {
|
||||
let json = arr1.concat(arr2)
|
||||
let newArr = []
|
||||
for (let item1 of json) {
|
||||
let flag = true
|
||||
for (let item2 of newArr) {
|
||||
if (item1[key] === item2[key]) {
|
||||
flag = false
|
||||
}
|
||||
}
|
||||
if (flag) {
|
||||
newArr.push(item1)
|
||||
}
|
||||
}
|
||||
return newArr
|
||||
}
|
||||
|
||||
let vue = new Vue({
|
||||
el: '#app',
|
||||
mixins: [initTableMixins],
|
||||
data() {
|
||||
return {
|
||||
unionList: [],
|
||||
allUnitList: [],
|
||||
unitList: [],
|
||||
delegations: [],
|
||||
allTeacherMeets: [],
|
||||
tableData: [],
|
||||
pageForm: {
|
||||
jdhid: '',
|
||||
dbtid: '',
|
||||
unitid: '',
|
||||
dbsf: '',
|
||||
searchName: 'u.username',
|
||||
},
|
||||
selection: [],
|
||||
dbAddDialogVisible: false,
|
||||
formData: {
|
||||
user: []
|
||||
},
|
||||
rules: {},
|
||||
notDbUserList: [],
|
||||
xldDialogVisible: false,
|
||||
xldFormData: {
|
||||
jdhid: '',
|
||||
userid: ''
|
||||
},
|
||||
xldUserList: [],
|
||||
xldTableData: [],
|
||||
xldDbtList: [],
|
||||
uid: '',
|
||||
formRules: {
|
||||
name: [{required: true, message: '必填', trigger: ['blur', 'change']}],
|
||||
},
|
||||
modifyDialogVisible: false,
|
||||
representativeRoleOptions: [],
|
||||
representativeInfo: {},
|
||||
modifyUnitList: [],
|
||||
/*new*/
|
||||
allTeacherMeets: [],
|
||||
delegationList: []
|
||||
}
|
||||
},
|
||||
components: {
|
||||
'db-info': httpVueLoader('/components/jdh/dbinfo.vue?v=1.0.0')
|
||||
},
|
||||
methods: {
|
||||
dofpdbt() {
|
||||
this.$confirm('确定要给当前教代会代表分配代表团吗?', '提示', {
|
||||
confirmButtonText: '确定',
|
||||
cancelButtonText: '取消',
|
||||
type: 'warning'
|
||||
}).then(async () => {
|
||||
await $.post(loc() + '/dofpdbt', {jdhid: this.pageForm.jdhid})
|
||||
this.$message.success("成功")
|
||||
this.doSearch()
|
||||
}).catch(() => {
|
||||
|
||||
});
|
||||
},
|
||||
/*代表团变化 工会列表也变化*/
|
||||
async delegationChange(val) {
|
||||
this.pageForm.unionid = ''
|
||||
this.pageForm.unitid = ''
|
||||
this.unionList = await getUnions(val)
|
||||
},
|
||||
|
||||
async modifying() {
|
||||
const response = await $.post(loc() + '/modifyRepresentativeInfo', this.representativeInfo)
|
||||
if (response.code===0){
|
||||
this.modifyDialogVisible = false
|
||||
this.pageData()
|
||||
}
|
||||
},
|
||||
|
||||
async modify(id) {
|
||||
const resp = await $.get(loc() + '/representativeInfo/' + id)
|
||||
if (resp.code===0){
|
||||
this.modifyUnitList = this.allUnitList;
|
||||
this.representativeInfo = resp.data
|
||||
this.modifyDialogVisible = true
|
||||
}
|
||||
},
|
||||
|
||||
dropdownCommand(command) {
|
||||
const {type, data} = command
|
||||
if (type === 'view') {
|
||||
this.openView(data)
|
||||
} else if (type === 'doDelete') {
|
||||
this.doDelete(data)
|
||||
} else if (type === 'modify') {
|
||||
this.modify(data.id)
|
||||
}
|
||||
},
|
||||
openView(row) {
|
||||
const {dbid} = row
|
||||
this.$refs.DbInfo.openView(dbid)
|
||||
this.$refs.guava.view()
|
||||
},
|
||||
async jdhChange(val) {
|
||||
this.delegations = await getDbt(val)
|
||||
this.delegationList = await getDbt(val)
|
||||
},
|
||||
handleSelectionChange(val) {
|
||||
this.selection = val
|
||||
},
|
||||
|
||||
doDelete(obj) {
|
||||
this.$confirm('此操作将删除用户' + obj.username + '的正式代表身份!', '提示', {
|
||||
confirmButtonText: '确定',
|
||||
cancelButtonText: '取消',
|
||||
type: 'warning'
|
||||
}).then(() => {
|
||||
let data = []
|
||||
data.push({id: obj.id, dbid: obj.dbid, jdhid: obj.jdhid})
|
||||
$.post(base + '/platform/jdh/db/dbgl/doDelete', {data: data}).then(res => {
|
||||
if (res.code === 0) {
|
||||
this.$message.success(res.msg)
|
||||
this.pageData()
|
||||
}
|
||||
})
|
||||
}).catch(() => {
|
||||
})
|
||||
},
|
||||
doDeleteMany() {
|
||||
if (this.selection.length === 0) {
|
||||
this.$message.info('请先选择')
|
||||
return
|
||||
}
|
||||
this.$confirm('此操作将删除选中用户的正式代表身份!', '提示', {
|
||||
confirmButtonText: '确定',
|
||||
cancelButtonText: '取消',
|
||||
type: 'warning'
|
||||
}).then(() => {
|
||||
let data = []
|
||||
for (let obj of this.selection) {
|
||||
data.push({id: obj.id, dbid: obj.dbid, jdhid: obj.jdhid})
|
||||
}
|
||||
$.post(base + '/platform/jdh/db/dbgl/doDelete', {data: data}).then(res => {
|
||||
if (res.code === 0) {
|
||||
this.$message.success(res.msg)
|
||||
this.doSearch()
|
||||
}
|
||||
})
|
||||
}).catch(() => {
|
||||
})
|
||||
|
||||
},
|
||||
queryNotDbUser(key) {
|
||||
if (this.formData.dbtid === '') {
|
||||
this.$message.info('请先选择代表团')
|
||||
return
|
||||
}
|
||||
let data = this.formData
|
||||
data.keyword = key
|
||||
$.post(base + '/platform/jdh/db/scmd/queryNotDbUser', data).then(res => {
|
||||
if (res.code === 0) {
|
||||
this.notDbUserList = QC(this.formData.user, res.data.list, 'id')
|
||||
}
|
||||
})
|
||||
},
|
||||
dbtChange() {
|
||||
this.formData.user = []
|
||||
this.notDbUserList = []
|
||||
},
|
||||
async openAddDb() {
|
||||
if (this.allTeacherMeets) {
|
||||
this.formData.jdhid = this.allTeacherMeets[0].id
|
||||
this.delegations = await getDbt(this.allTeacherMeets[0].id)
|
||||
}
|
||||
this.formData.dbtid = ''
|
||||
this.formData.user = []
|
||||
this.notDbUserList = []
|
||||
if (this.pageForm.dbtid !== "") {
|
||||
this.$set(this.formData, "dbtid", this.pageForm.dbtid)
|
||||
}
|
||||
this.dbAddDialogVisible = true
|
||||
|
||||
},
|
||||
async doAddDb() {
|
||||
const data = await $.post("/platform/jdh/db/dbgl/doAdd", this.formData)
|
||||
this.$message.success(data.msg)
|
||||
/*this.delegations = await getDbt(this.formData.jdhid)*/
|
||||
/* this.$set(this.pageForm, "jdhid", this.formData.jdhid)
|
||||
await this.jdhChange()*/
|
||||
this.pageData()
|
||||
this.dbAddDialogVisible = false
|
||||
|
||||
},
|
||||
async openSetXld() {
|
||||
if (this.allTeacherMeets) {
|
||||
this.xldFormData.jdhid = this.allTeacherMeets[0].id
|
||||
// this.xldDbtList = await getDbtList(this.allTeacherMeets[0].id)
|
||||
this.delegations = await getDbt(this.allTeacherMeets[0].id)
|
||||
}
|
||||
this.xldFormData.userid = ''
|
||||
this.xldUserList = []
|
||||
this.xldTableData = []
|
||||
this.xldDialogVisible = true
|
||||
},
|
||||
remotexldMethod(key) {
|
||||
if (this.xldFormData.jdhid === '') {
|
||||
this.$message.info('请先选择教代会!')
|
||||
return
|
||||
}
|
||||
if (key !== '') {
|
||||
$.get(base + '/platform/jdh/db/dbgl/queryXldUser', {
|
||||
query: key,
|
||||
jdhid: this.xldFormData.jdhid
|
||||
}).then(res => {
|
||||
if (res.code === 0) {
|
||||
this.xldUserList = res.data.list
|
||||
}
|
||||
})
|
||||
}
|
||||
},
|
||||
addXldUser() {
|
||||
if (this.xldFormData.userid === '') {
|
||||
this.$message.info('请先选择用户!')
|
||||
return
|
||||
}
|
||||
let u = this.xldTableData.find(u => {
|
||||
return u.id === this.xldFormData.userid
|
||||
})
|
||||
if (u) {
|
||||
this.$message.info('不要重复添加')
|
||||
return
|
||||
}
|
||||
|
||||
|
||||
let user = this.xldUserList.find(u => {
|
||||
return u.id === this.xldFormData.userid
|
||||
})
|
||||
this.xldTableData.push(user)
|
||||
this.xldFormData.userid = ''
|
||||
this.xldUserList = []
|
||||
},
|
||||
async xldJdhChange(jdhid) {
|
||||
// this.xldDbtList = await getDbtList(jdhid)
|
||||
this.delegations = await getDbt(jdhid)
|
||||
},
|
||||
doSetxlddbt() {
|
||||
let flag = true
|
||||
for (let o of this.xldTableData) {
|
||||
if (!('dbtid' in o)) {
|
||||
flag = false
|
||||
break
|
||||
}
|
||||
}
|
||||
if (!flag) {
|
||||
this.$message.info('请先选择要分配的代表团!')
|
||||
return
|
||||
}
|
||||
$.post(base + '/platform/jdh/db/dbgl/fpXldToDbt', {
|
||||
user: this.xldTableData,
|
||||
jdhid: this.xldFormData.jdhid
|
||||
}).then(res => {
|
||||
if (res.code === 0) {
|
||||
this.$message.success(res.msg)
|
||||
this.xldTableData = []
|
||||
this.pageData()
|
||||
}
|
||||
})
|
||||
},
|
||||
async getRepresentativeRoleOptions() {
|
||||
const {code, data} = await $.get(loc() + '/representativeRoleOptions')
|
||||
if (!code) {
|
||||
this.representativeRoleOptions = data
|
||||
}
|
||||
}
|
||||
},
|
||||
async created() {
|
||||
this.allTeacherMeets = await getAllMeeting()
|
||||
if (this.allTeacherMeets && this.allTeacherMeets.length > 0) {
|
||||
const lastTeacherMeeting = this.allTeacherMeets[0].id
|
||||
this.pageForm.jdhid = lastTeacherMeeting
|
||||
this.delegationList = await getDbt(lastTeacherMeeting)
|
||||
this.delegations = await getDbt(lastTeacherMeeting)
|
||||
this.unionList = await getUnions(null)
|
||||
this.allUnitList = await getUnits()
|
||||
this.unitList = clone(this.allUnitList)
|
||||
this.pageData()
|
||||
}
|
||||
await this.getRepresentativeRoleOptions()
|
||||
|
||||
|
||||
}
|
||||
})
|
||||
</script>
|
||||
|
||||
<!--#
|
||||
}
|
||||
#-->
|
||||
@@ -0,0 +1,236 @@
|
||||
<!--#
|
||||
layout("/layouts/platform.html"){
|
||||
#-->
|
||||
<style>
|
||||
.el-form .el-select {
|
||||
width: 100%;
|
||||
}
|
||||
</style>
|
||||
<div id="app" v-cloak>
|
||||
<guava ref="guava">
|
||||
<transition name="el-zoom-in-center">
|
||||
<div v-show="tabShow">
|
||||
<el-card shadow="never">
|
||||
<div class="btn-group tool-button">
|
||||
<el-input placeholder="请输入内容" clearable 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 v-model="pageForm.jdhid" filterable clearable placeholder="请选择届次" @change="jdhChange">
|
||||
<el-option
|
||||
v-for="item in jdhList"
|
||||
:key="item.id"
|
||||
:label="item.jdhallname"
|
||||
:value="item.id">
|
||||
</el-option>
|
||||
</el-select>
|
||||
</div>
|
||||
<div class="btn-group tool-button">
|
||||
<el-select v-model="pageForm.dbtid" filterable clearable placeholder="请选择代表团"
|
||||
@change="delegationChange">
|
||||
<el-option
|
||||
v-for="item in delegations"
|
||||
:key="item.id"
|
||||
:label="item.dbtname"
|
||||
:value="item.id">
|
||||
</el-option>
|
||||
</el-select>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="btn-group tool-button">
|
||||
<el-select v-model="pageForm.unionid" filterable clearable placeholder="请选择工会"
|
||||
@change="unitList = allUnitList.filter(v => pageForm.unionid?v.unionid === pageForm.unionid:true)">
|
||||
<el-option
|
||||
v-for="item in unionList"
|
||||
:key="item.id"
|
||||
: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"
|
||||
:key="item.id"
|
||||
:label="item.name"
|
||||
:value="item.id">
|
||||
</el-option>
|
||||
</el-select>
|
||||
</div>
|
||||
|
||||
<div class="btn-group tool-button">
|
||||
<el-select v-model="pageForm.dbsf" clearable placeholder="请选择代表身份">
|
||||
<el-option label="正式代表" value="正式代表"></el-option>
|
||||
<el-option label="列席代表" value="列席代表"></el-option>
|
||||
<el-option label="特邀代表" value="特邀代表"></el-option>
|
||||
</el-select>
|
||||
</div>
|
||||
|
||||
<div class="btn-group tool-button">
|
||||
<el-button type="primary" icon="el-icon-search" @click="doSearch"></el-button>
|
||||
</div>
|
||||
|
||||
<el-row class="mt5 mb5">
|
||||
<template
|
||||
v-if="${@shiro.hasRole('sysadmin')||@shiro.hasRole('A06')||@shiro.hasRole('tamange')}">
|
||||
<div class="btn-group tool-button">
|
||||
<el-button size="medium" icon="el-icon-download" @click="exportList">导出Excel</el-button>
|
||||
<el-button icon="el-icon-download" @click="downloadCommand({id:pageForm.jdhid})">
|
||||
导出word名单
|
||||
</el-button>
|
||||
<!-- <el-dropdown @command="downloadCommand">-->
|
||||
<!-- <el-button icon="el-icon-download">导出名单 <i class="el-icon-arrow-down el-icon--right"></i>-->
|
||||
<!-- </el-button>-->
|
||||
<!-- <el-dropdown-menu slot="dropdown">-->
|
||||
<!-- <el-dropdown-item v-for="item in jdhList" :command="{id:item.id}">{{item.jdhallname}}-->
|
||||
<!-- </el-dropdown-item>-->
|
||||
<!-- </el-dropdown-menu>-->
|
||||
<!-- </el-dropdown>-->
|
||||
|
||||
</div>
|
||||
</template>
|
||||
</el-row>
|
||||
|
||||
</el-card>
|
||||
<el-card shadow="never" class="mt20">
|
||||
<el-table :data="tableData" @sort-change='pageOrder'>
|
||||
<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 align="center" header-align="center" label="工号"
|
||||
prop="loginname"></el-table-column>
|
||||
<el-table-column align="center" header-align="center" label="姓名" prop="username"
|
||||
sortable></el-table-column>
|
||||
<el-table-column align="center" header-align="center" label="性别" prop="sex"
|
||||
sortable></el-table-column>
|
||||
<el-table-column align="center" sortable label="年龄" prop="age"></el-table-column>
|
||||
<el-table-column align="center" header-align="center" label="联系方式"
|
||||
prop="mobile"></el-table-column>
|
||||
<el-table-column align="center" header-align="center" label="代表团" prop="dbtname"
|
||||
show-overflow-tooltip></el-table-column>
|
||||
|
||||
<el-table-column align="center" header-align="center" label="所属工会" prop="dbunitname"
|
||||
show-overflow-tooltip sortable>
|
||||
<template scope="scope">
|
||||
{{scope.row.unionname}}({{scope.row.unioncode}})
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column align="center" header-align="center" label="所属单位" prop="dbunitname"
|
||||
show-overflow-tooltip
|
||||
sortable>
|
||||
<template scope="scope">
|
||||
{{scope.row.dbunitname}}({{scope.row.dbunitid}})
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column align="center" header-align="center" label="届次" prop="jdhallname"
|
||||
sortable></el-table-column>
|
||||
<el-table-column align="center" header-align="center" label="代表身份"
|
||||
prop="rolename"></el-table-column>
|
||||
<el-table-column header-align="center" align="center" label="操作" width="100">
|
||||
<template slot-scope="{row}">
|
||||
<el-button size="mini" @click="openView(row)">查看</el-button>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
<!--#include("/layouts/pagination.html"){}#-->
|
||||
</el-card>
|
||||
</div>
|
||||
</transition>
|
||||
|
||||
<template #view>
|
||||
<db-info :active="'1'" ref="DbInfo"></db-info>
|
||||
</template>
|
||||
</guava>
|
||||
|
||||
</div>
|
||||
<script>
|
||||
let vue = new Vue({
|
||||
el: '#app',
|
||||
mixins: [initTableMixins],
|
||||
data() {
|
||||
return {
|
||||
tabShow: true,
|
||||
dbtList: [],
|
||||
jdhList: [],
|
||||
unitList: [],
|
||||
allUnitList: [],
|
||||
unionList: [],
|
||||
tableData: [],
|
||||
delegations: [],
|
||||
pageForm: {
|
||||
jdhid: '',
|
||||
unitid: '',
|
||||
searchName: 'u.username',
|
||||
dbtid: '',
|
||||
dbsf:''
|
||||
},
|
||||
dbModal: false,
|
||||
uid: ''
|
||||
}
|
||||
},
|
||||
components: {
|
||||
'guava': httpVueLoader('/components/plugins/Guava.vue'),
|
||||
'db-info': httpVueLoader('/components/jdh/dbinfo.vue')
|
||||
},
|
||||
methods: {
|
||||
async delegationChange(val) {
|
||||
this.pageForm.unionid = ''
|
||||
this.pageForm.unitid = ''
|
||||
this.unionList = await getUnions(val)
|
||||
},
|
||||
|
||||
exportList() {
|
||||
if (!this.pageForm.jdhid) {
|
||||
this.$notify({
|
||||
title: '警告',
|
||||
message: '请选择教代会',
|
||||
type: 'warning'
|
||||
});
|
||||
return
|
||||
}
|
||||
location.href = '/platform/jdh/db/dbyl/exportList?jdhid=' + this.pageForm.jdhid + '&dbtid=' + this.pageForm.dbtid
|
||||
},
|
||||
downloadCommand(command) {
|
||||
const {id} = command
|
||||
location.href = '/platform/jdh/db/dbyl/downloadDbList?jdh_id=' + id
|
||||
},
|
||||
openView(row) {
|
||||
const {dbid} = row
|
||||
this.$refs.DbInfo.openView(dbid)
|
||||
this.$refs.guava.view()
|
||||
},
|
||||
async jdhChange(val) {
|
||||
this.delegations = await getDbt(val)
|
||||
},
|
||||
handleSelectionChange(val) {
|
||||
this.selection = val
|
||||
}
|
||||
},
|
||||
async created() {
|
||||
this.jdhList = await getAllMeeting()
|
||||
if (this.jdhList.length > 0) {
|
||||
this.pageForm.jdhid = this.jdhList[0].id
|
||||
this.delegations = await getDbt(this.jdhList[0].id)
|
||||
this.pageData()
|
||||
}
|
||||
this.unionList = await getUnions(null);
|
||||
this.allUnitList = await getUnits();
|
||||
this.unitList = clone(this.allUnitList);
|
||||
}
|
||||
})
|
||||
</script>
|
||||
|
||||
<!--#
|
||||
}
|
||||
#-->
|
||||
@@ -0,0 +1,245 @@
|
||||
<!--#
|
||||
layout("/layouts/platform.html"){
|
||||
#-->
|
||||
|
||||
<style>
|
||||
|
||||
.el-input-number input {
|
||||
text-align: left !important;
|
||||
}
|
||||
|
||||
.el-loading-mask {
|
||||
z-index: 30000 !important;
|
||||
}
|
||||
|
||||
</style>
|
||||
<div id="app" v-cloak>
|
||||
<guava>
|
||||
<el-card shadow="never">
|
||||
<template #header>
|
||||
<h3 style="color: rgb(24, 103, 176);">预选代表填报</h3>
|
||||
</template>
|
||||
<div>
|
||||
<el-form label-width="100px">
|
||||
<el-form-item class="view-header" label="填写申请信息 " label-width="135px">
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
|
||||
<el-form :model="formData" :rules="formRules" label-position="right" label-suffix=":"
|
||||
label-width="120px"
|
||||
ref="form">
|
||||
<el-row gutter="60">
|
||||
<el-col :span="12">
|
||||
<el-form-item label="姓名" prop="manager_name">
|
||||
<el-input disabled type="text" v-model="formData.username"></el-input>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="12">
|
||||
<el-form-item label="工号" prop="apply_time">
|
||||
<el-input disabled type="text" v-model="formData.loginname"></el-input>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
|
||||
<el-row gutter="60">
|
||||
<el-col :span="12">
|
||||
<el-form-item label="联系方式" prop="mobile">
|
||||
<el-input maxlength="30" type="text"
|
||||
v-model="formData.mobile"></el-input>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="6">
|
||||
<el-form-item label="申请届次" prop="jdhid">
|
||||
<el-select @change="jdhChange" clearable filterable placeholder="请选择教代会"
|
||||
v-model="formData.jdhid">
|
||||
<el-option
|
||||
:key="item.id"
|
||||
:label="item.jdhallname"
|
||||
:value="item.id"
|
||||
v-for="item in jdhList">
|
||||
</el-option>
|
||||
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="6">
|
||||
<el-form-item label="代表团" prop="dbtid">
|
||||
<el-select clearable filterable placeholder="请选择代表团" v-model="formData.dbtid">
|
||||
<el-option
|
||||
:key="item.id"
|
||||
:label="item.dbtname"
|
||||
:value="item.id"
|
||||
v-for="item in delegations">
|
||||
</el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
|
||||
</el-row>
|
||||
|
||||
<el-row gutter="60">
|
||||
<el-col :span="12">
|
||||
<el-form-item label="填报时间" prop="apply_time">
|
||||
<el-input disabled type="text" v-model="formData.apply_time"></el-input>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="12">
|
||||
<el-form-item label="民族" prop="nation">
|
||||
<el-input maxlength="30" type="text"
|
||||
v-model="formData.nation"></el-input>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
|
||||
<el-row gutter="60">
|
||||
<el-col :span="12">
|
||||
<el-form-item label="职称" prop="jobTitle">
|
||||
<el-input maxlength="30" type="text"
|
||||
v-model="formData.jobTitle"></el-input>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="12">
|
||||
<el-form-item label="职务" prop="position">
|
||||
<el-input maxlength="30" type="text"
|
||||
v-model="formData.position"></el-input>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
|
||||
|
||||
<el-divider class="dia" content-position="left"><span style="color: #3ea1ec;">近几年奖惩情况</span>
|
||||
</el-divider>
|
||||
<el-form-item class="is-required" label="" prop="vita">
|
||||
<div id="vita"></div>
|
||||
</el-form-item>
|
||||
|
||||
<el-form-item label="附  件" prop="files">
|
||||
<file-upload :files.sync="formData.files" card></file-upload>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
|
||||
<div style="float: right;margin: 20px 0">
|
||||
<el-button @click="doAdd()" type="primary">确 定</el-button>
|
||||
</div>
|
||||
</div>
|
||||
</el-card>
|
||||
</guava>
|
||||
</div>
|
||||
<script>
|
||||
let E = window.wangEditor
|
||||
let vita = null
|
||||
var vue = new Vue({
|
||||
el: '#app',
|
||||
data() {
|
||||
let validAc = (rule, value, callback) => {
|
||||
if (!this.formData.vita || !dd3s.html2txt(this.formData.vita)) {
|
||||
callback(new Error('请填写近几年奖惩情况'));
|
||||
} else {
|
||||
callback();
|
||||
}
|
||||
};
|
||||
return {
|
||||
jdhList: [],
|
||||
delegations: [],
|
||||
userIsExist: "",
|
||||
dbtList: [],
|
||||
|
||||
formData: {},
|
||||
formRules: {
|
||||
jdhid: [{required: true, message: '必填', trigger: ['blur', 'change']}],
|
||||
dbtid: [{required: true, message: '必填', trigger: ['blur', 'change']}],
|
||||
files: [{required: true, message: '必填', trigger: ['blur', 'change']}],
|
||||
vita: [{validator: validAc, trigger: ['blur', 'change']}],
|
||||
}
|
||||
}
|
||||
},
|
||||
components: {
|
||||
'file-upload': httpVueLoader('/components/plugins/FileUpload.vue'),
|
||||
},
|
||||
methods: {
|
||||
doAdd() {
|
||||
this.$refs["form"].validate(async (valid) => {
|
||||
const flag = await this.getdb()
|
||||
console.log(flag)
|
||||
if (!flag) {
|
||||
this.$notify({
|
||||
title: '警告',
|
||||
message: '您已填报,请勿重复提交!',
|
||||
type: 'warning'
|
||||
});
|
||||
return
|
||||
}
|
||||
if (valid) {
|
||||
const loading = this.$loading({
|
||||
lock: true,
|
||||
text: '正在提交...',
|
||||
spinner: 'el-icon-loading',
|
||||
background: COVER_LAYER_COLOR
|
||||
});
|
||||
const resp = await $.post(loc() + "/doAdd", {
|
||||
jdh_db: JSON.stringify(this.formData),
|
||||
user: JSON.stringify(this.formData)
|
||||
})
|
||||
loading.close()
|
||||
if(resp.code===0){
|
||||
window.location.href = '/platform/jdh/db/preselection'
|
||||
}else{
|
||||
this.notifyWarning(resp.msg)
|
||||
}
|
||||
}
|
||||
})
|
||||
|
||||
},
|
||||
|
||||
async jdhChange(val) {
|
||||
this.formData.dbtid = ''
|
||||
this.delegations = await getDbt(val)
|
||||
},
|
||||
async getdb() {
|
||||
const jdhid = this.formData.jdhid
|
||||
const {code, data} = await $.post(base + '/platform/jdh/db/preselection/getdb', {jdhid})
|
||||
return code ? false : data == 0
|
||||
},
|
||||
flush() {
|
||||
this.formData = {
|
||||
jdhid: '',
|
||||
dbtid: '',
|
||||
files: [],
|
||||
id: '${@shiro.getPrincipalProperty("id")}',
|
||||
username: '${@shiro.getPrincipalProperty("username")}',
|
||||
apply_time: moment().format('YYYY-MM-DD'),
|
||||
loginname: '${@shiro.getPrincipalProperty("loginname")}',
|
||||
nation: '${@shiro.getPrincipalProperty("nation")}',
|
||||
jobTitle: '${@shiro.getPrincipalProperty("jobTitle")}',
|
||||
position: '${@shiro.getPrincipalProperty("position")}',
|
||||
mobile: '${@shiro.getPrincipalProperty("mobile")}',
|
||||
}
|
||||
this.$nextTick(() => {
|
||||
$("#vita").html("")
|
||||
vita = new E("#vita")
|
||||
vita.config.onchange = (html) => {
|
||||
this.formData.vita = html
|
||||
}
|
||||
vita.create()
|
||||
vita.txt.html('${@shiro.getPrincipalProperty("vita")}')
|
||||
})
|
||||
},
|
||||
},
|
||||
async created() {
|
||||
this.jdhList = await proposal.getOpenMeeting()
|
||||
if (this.jdhList.length > 0) {
|
||||
this.formData.jdhid = this.jdhList[0].id
|
||||
this.delegations = await getDbt(this.jdhList[0].id)
|
||||
}
|
||||
this.flush()
|
||||
// console.log()
|
||||
// if(!await this.getdb()){
|
||||
// alert(1)
|
||||
// }
|
||||
}
|
||||
})
|
||||
</script>
|
||||
|
||||
<!--#
|
||||
}
|
||||
#-->
|
||||
@@ -0,0 +1,390 @@
|
||||
<!--#
|
||||
layout("/layouts/platform.html"){
|
||||
#-->
|
||||
|
||||
<style>
|
||||
.el-form .el-select {
|
||||
width: 100% !important;
|
||||
}
|
||||
|
||||
.wp-upload .wp-upload-button-select-file {
|
||||
margin: 0 !important;
|
||||
}
|
||||
|
||||
.el-transfer {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
}
|
||||
|
||||
.el-transfer-panel {
|
||||
flex: 2.5;
|
||||
}
|
||||
|
||||
.el-transfer__buttons {
|
||||
flex: 1;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
|
||||
</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-button type="primary" icon="el-icon-search" @click="doSearch"></el-button>
|
||||
</div>
|
||||
|
||||
<div class="btn-group tool-button pull-right offscreen-right">
|
||||
<el-button type="primary" size="medium" icon="el-icon-plus" @click="openPreselectionDialog">预选
|
||||
</el-button>
|
||||
<el-button type="primary" size="medium" icon="el-icon-plus" @click="doConfirmMany">批量上报</el-button>
|
||||
<el-button type="primary" size="medium" icon="el-icon-download" @click="doExport">导出</el-button>
|
||||
</div>
|
||||
</el-card>
|
||||
|
||||
<el-card shadow="never" class="mt20">
|
||||
<el-table :data="tableData" @sort-change='pageOrder' @selection-change="(val)=>{tableSelections=val}"
|
||||
ref="multipleTable">
|
||||
<el-table-column
|
||||
:selectable="(row)=>{return row.stateCode===0}"
|
||||
type="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 sortable label="姓名" prop="userName" header-align="center"
|
||||
align="center"></el-table-column>
|
||||
<el-table-column label="工号" prop="loginName" header-align="center" align="center"></el-table-column>
|
||||
<el-table-column sortable label="性别" prop="sex" header-align="center"
|
||||
align="center">
|
||||
<template scope="{row}">
|
||||
<el-select v-model="row.sex" v-if="row.stateCode===0">
|
||||
<el-option value="男">男</el-option>
|
||||
<el-option value="女">女</el-option>
|
||||
</el-select>
|
||||
<span v-else>{{row.sex}}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="民族" prop="nation" header-align="center" align="center" width="100">
|
||||
<template scope="{row}">
|
||||
<el-select filterable v-model="row.nation" v-if="row.stateCode===0">
|
||||
<el-option v-for="n in nation" :key="n" :value="n" :label="n"></el-option>
|
||||
</el-select>
|
||||
<span v-else>{{row.nation}}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="政治面貌" prop="politicalOutlook" header-align="center"
|
||||
align="center" show-overflow-tooltip>
|
||||
<template scope="{row}">
|
||||
<el-input maxlength="20" v-model="row.politicalOutlook" v-if="row.stateCode===0"></el-input>
|
||||
<span v-else>{{row.politicalOutlook}}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="学历" prop="education" header-align="center" align="center"
|
||||
width="150px"
|
||||
show-overflow-tooltip>
|
||||
<template scope="{row}">
|
||||
<dict-select v-model="row.education" code="Education"
|
||||
v-if="row.stateCode===0"></dict-select>
|
||||
<span v-else>{{row.education}}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="行政职务" prop="administrativeTitle" header-align="center" align="center"
|
||||
width="100">
|
||||
<template scope="{row}">
|
||||
<el-input v-model="row.administrativeTitle" v-if="row.stateCode===0"></el-input>
|
||||
<span v-else>{{row.administrativeTitle}}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="专业技术职务" prop="technicalTitle" header-align="center" align="center"
|
||||
width="200" show-overflow-tooltip>
|
||||
<template scope="{row}">
|
||||
<el-select v-model="row.technicalTitle" placeholder="请选择专业技术职务" v-if="row.stateCode===0">
|
||||
<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>
|
||||
|
||||
|
||||
<!-- <dict-select v-model="row.technicalTitle" code="technical_position"-->
|
||||
<!-- v-if="row.stateCode===0"></dict-select>-->
|
||||
<!-- <el-input v-model="row.technicalTitle" v-if="row.stateCode===0"></el-input>-->
|
||||
<span v-else>{{row.technicalTitle}}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="年龄<=40" prop="age" header-align="center" align="center" width="80px">
|
||||
<template scope="{row}">
|
||||
<el-input v-model="row.age" v-if="row.stateCode===0"></el-input>
|
||||
<span v-else>{{row.age}}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="教学科研及双肩挑人员" prop="twoWork" header-align="center" 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" header-align="center"
|
||||
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" header-align="center" 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" header-align="center" align="center"
|
||||
width="100">
|
||||
<template scope="{row}">
|
||||
<el-input v-model="row.bz" v-if="row.stateCode===0"></el-input>
|
||||
<span v-else>{{row.bz}}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
|
||||
<el-table-column sortable label="状态" prop="dbzt" header-align="center" align="center">
|
||||
<template scope="{row}">
|
||||
{{row.stateName}}
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="操作" width="200" align="center" fixed="right">
|
||||
<template slot-scope="{row}">
|
||||
<el-button v-if="row.stateCode===0" size="mini" @click="doConfirm(row)" type="primary">上报
|
||||
</el-button>
|
||||
<el-button v-if="row.stateCode===100" size="mini" @click="doRevoke(row)" type="warning">撤回
|
||||
</el-button>
|
||||
<el-button v-if="row.stateCode===0" size="mini" @click="doDelete(row)" type="danger">删除
|
||||
</el-button>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
</el-card>
|
||||
</template>
|
||||
|
||||
</guava>
|
||||
|
||||
<el-dialog
|
||||
title="添加人员"
|
||||
:visible.sync="dialogVisible"
|
||||
width="45%"
|
||||
:close-on-click-modal="false"
|
||||
>
|
||||
<el-transfer
|
||||
@right-check-change="rightCheckChange"
|
||||
@change="rightChange"
|
||||
ref="transfer"
|
||||
:titles="['可报人员名单', '当前选择']"
|
||||
filterable
|
||||
:props="{key: 'id',label: 'name'}"
|
||||
:filter-method="filterMethod"
|
||||
:right-default-checked="rightChecked"
|
||||
v-model="userValue"
|
||||
:data="userData">
|
||||
</el-transfer>
|
||||
<span slot="footer" class="dialog-footer">
|
||||
<el-button @click="dialogVisible = false">取 消</el-button>
|
||||
<el-button type="primary" @click="addPreselectionDb">确 定</el-button>
|
||||
</span>
|
||||
</el-dialog>
|
||||
</div>
|
||||
<script>
|
||||
let vue = new Vue({
|
||||
el: '#app',
|
||||
mixins: [initTableMixins],
|
||||
data() {
|
||||
return {
|
||||
pageForm: {
|
||||
searchName: "u.username",
|
||||
teacherMeetId: null
|
||||
},
|
||||
userValue: [],
|
||||
userData: [],
|
||||
rightChecked: [],
|
||||
dialogVisible: false,
|
||||
teacherMeets: [],
|
||||
tableData: [],
|
||||
tableSelections: [],
|
||||
technicalTitleOptions: []
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
async doConfirmMany() {
|
||||
if (this.tableSelections.length === 0) {
|
||||
this.$notify.warning('请先勾选需要上报的代表!')
|
||||
return
|
||||
}
|
||||
const keys = ['sex', 'nation', 'politicalOutlook', 'education', 'administrativeTitle', 'technicalTitle',
|
||||
'age']
|
||||
const flag = this.tableSelections.some(row => {
|
||||
if (keys.some(v => row[v] === '' || row[v] == null)) {
|
||||
this.$notify.warning('推选代表的信息不完整,请完善!')
|
||||
return true
|
||||
}
|
||||
if (!row.isJdh && !row.isGdh) {
|
||||
this.$notify.warning('请确认是教代会还是工代会代表!')
|
||||
return true
|
||||
}
|
||||
return false
|
||||
})
|
||||
if (flag) {
|
||||
return
|
||||
}
|
||||
|
||||
const resp = await $.post(loc() + '/doCofirmMany', {data: JSON.stringify(this.tableSelections)})
|
||||
this.doSearch()
|
||||
this.$notify.success(resp.msg)
|
||||
|
||||
},
|
||||
|
||||
async doConfirm(row) {
|
||||
const keys = ['sex', 'nation', 'politicalOutlook', 'education', 'administrativeTitle', 'technicalTitle',
|
||||
'age']
|
||||
if (keys.some(v => row[v] === '' || row[v] == null)) {
|
||||
this.$notify.warning('推选代表的信息不完整,请完善!')
|
||||
return
|
||||
}
|
||||
if (!row.isJdh && !row.isGdh) {
|
||||
this.$notify.warning('请确认是教代会还是工代会代表!')
|
||||
return;
|
||||
}
|
||||
const resp = await $.post(loc() + '/doUpdate', row)
|
||||
this.doSearch()
|
||||
this.$notify.success(resp.msg)
|
||||
},
|
||||
async doRevoke(row) {
|
||||
const resp = await $.post(loc() + '/doRevoke', {id: row.id})
|
||||
this.doSearch()
|
||||
this.$notify.success(resp.msg)
|
||||
},
|
||||
async doDelete(row) {
|
||||
const resp = await $.post(loc() + '/doDelete', {id: row.id})
|
||||
this.doSearch()
|
||||
this.$notify.success(resp.msg)
|
||||
},
|
||||
|
||||
dropdownCommand(command) {
|
||||
const {type, data} = command
|
||||
if (type == 'view') {
|
||||
this.openView(data)
|
||||
} else if (type == 'delete') {
|
||||
this.doDelete(data.id)
|
||||
}
|
||||
},
|
||||
handleSelectionChange(val) {
|
||||
this.multipleSelection = val;
|
||||
},
|
||||
rightCheckChange(v, v2) {
|
||||
this.rightChecked = v
|
||||
},
|
||||
filterMethod(query, item) {
|
||||
return item.name.indexOf(query) > -1;
|
||||
},
|
||||
async openPreselectionDialog() {
|
||||
this.userValue = []
|
||||
this.userData = []
|
||||
const {data} = await $.get(loc() + "/getUnionUser", {teacherMeetId: this.pageForm.teacherMeetId})
|
||||
data.userData.forEach(v => {
|
||||
this.userData.push({id: v.id, name: v.username + "-" + v.loginname})
|
||||
})
|
||||
/* data.userValue.forEach(v => {
|
||||
this.userValue.push(v.userId)
|
||||
})*/
|
||||
|
||||
this.dialogVisible = true
|
||||
},
|
||||
async addPreselectionDb() {
|
||||
const loading = this.$loading({
|
||||
lock: true,
|
||||
text: '正在提交...',
|
||||
spinner: 'el-icon-loading',
|
||||
background: COVER_LAYER_COLOR
|
||||
});
|
||||
const resp = await $.get(loc() + "/addPreselectionDb", {
|
||||
userValue: JSON.stringify(this.userValue),
|
||||
teacherMeetId: this.pageForm.teacherMeetId
|
||||
})
|
||||
loading.close()
|
||||
if(resp.code===0){
|
||||
this.pageData()
|
||||
this.dialogVisible = false
|
||||
}else{
|
||||
this.notifyWarning(resp.msg)
|
||||
}
|
||||
},
|
||||
async pageData() {
|
||||
const {data} = await $.get(loc() + '/pageData', this.pageForm)
|
||||
data.forEach(v => {
|
||||
v.jdhdb = v.dbzt === 2
|
||||
})
|
||||
this.tableData = data
|
||||
|
||||
},
|
||||
rightChange(v) {
|
||||
},
|
||||
doExport() {
|
||||
if (!this.pageForm.teacherMeetId) {
|
||||
this.$notify({
|
||||
title: '警告',
|
||||
message: '请选择教代会',
|
||||
type: 'warning'
|
||||
});
|
||||
return
|
||||
}
|
||||
location.href = '/platform/jdh/db/dbyl/doExport?jdhid=' + this.pageForm.teacherMeetId
|
||||
},
|
||||
async getTechnicalTitleOptions() {
|
||||
const resp = await $.get(loc() + '/getTechnicalTitleOptions')
|
||||
if (resp.code === 0) {
|
||||
this.technicalTitleOptions = resp.data
|
||||
}
|
||||
}
|
||||
|
||||
},
|
||||
components: {
|
||||
'db-info': httpVueLoader('/components/jdh/dbinfo.vue'),
|
||||
'dict-select': httpVueLoader('/components/plugins/DictSelect.vue'),
|
||||
},
|
||||
async created() {
|
||||
await this.getTechnicalTitleOptions()
|
||||
this.teacherMeets = await getAllMeeting()
|
||||
if (this.teacherMeets && this.teacherMeets.length > 0) this.$set(this.pageForm, "teacherMeetId", this.teacherMeets[0].id)
|
||||
this.pageData()
|
||||
}
|
||||
})
|
||||
</script>
|
||||
<!--#
|
||||
}
|
||||
#-->
|
||||
|
||||
Reference in New Issue
Block a user