153 lines
5.8 KiB
HTML
153 lines
5.8 KiB
HTML
<!--#
|
|
layout("/layouts/platform.html"){
|
|
#-->
|
|
<div id="app" v-cloak>
|
|
|
|
<el-card shadow="never">
|
|
<div class="btn-group tool-button mt5">
|
|
<el-input style="width: 250px;" placeholder="请输入关键字查询" v-model="pageForm.keyword">
|
|
</el-input>
|
|
</div>
|
|
<div class="btn-group tool-button mt5">
|
|
<el-button type="primary" @click="doSearch" icon="el-icon-search"></el-button>
|
|
</div>
|
|
<div class="pull-right offscreen-right mt5">
|
|
<el-button size="medium" @click="openAdd"><i class="ti-plus"></i>新增评委</el-button>
|
|
</div>
|
|
</el-card>
|
|
|
|
<el-card shadow="never" class="mt10">
|
|
<el-row class="el-table-container">
|
|
<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 prop="username" label="评委姓名"></el-table-column>
|
|
<el-table-column prop="loginname" label="评委工号"></el-table-column>
|
|
<el-table-column prop="zw" label="职务"></el-table-column>
|
|
<el-table-column prop="zc" label="职称"></el-table-column>
|
|
<el-table-column prop="dwname" label="所在单位"></el-table-column>
|
|
<el-table-column label="操作">
|
|
<template slot-scope="scope">
|
|
<el-button size="mini" @click="doDelete(scope.row)" type="danger">删除</el-button>
|
|
</template>
|
|
</el-table-column>
|
|
</el-table>
|
|
</el-row>
|
|
|
|
<el-row class="el-pagination-container">
|
|
<el-pagination
|
|
@current-change="pageNumberChange"
|
|
:current-page="pageForm.pageNumber"
|
|
:page-size="pageForm.pageSize"
|
|
layout="total, prev, pager, next, jumper"
|
|
:total="pageForm.totalCount">
|
|
</el-pagination>
|
|
</el-row>
|
|
|
|
</el-card>
|
|
|
|
<el-dialog title="新增评委" :visible.sync="addDialogVisible" width="30%">
|
|
<el-form :model="formData" ref="AddForm" :rules="rules" label-width="100px">
|
|
<el-form-item label="姓名" prop="userid">
|
|
<el-select
|
|
v-model="formData.userid"
|
|
clearable
|
|
filterable
|
|
remote
|
|
placeholder="请输入姓名或者工号查询"
|
|
:remote-method="queryUser">
|
|
<el-option
|
|
v-for="u in userList"
|
|
:key="u.id"
|
|
:label="u.username + '-' +u.loginname"
|
|
:value="u.id">
|
|
</el-option>
|
|
</el-select>
|
|
</el-form-item>
|
|
</el-form>
|
|
<span slot="footer" class="dialog-footer">
|
|
<el-button @click="addDialogVisible = false">取 消</el-button>
|
|
<el-button type="primary" @click="doAdd">确 定</el-button>
|
|
</span>
|
|
</el-dialog>
|
|
</div>
|
|
<script>
|
|
let vue = new Vue({
|
|
el: '#app',
|
|
data() {
|
|
return {
|
|
tableData: [],
|
|
addDialogVisible: false,
|
|
userList: [],
|
|
formData: {},
|
|
pageForm: {
|
|
pageNumber: 1,
|
|
pageSize: 10,
|
|
totalCount: 0
|
|
},
|
|
rules: {
|
|
userid: [{required: true, message: '请先搜素并选择要新增的评委', trigger: ['blur', 'change']}]
|
|
}
|
|
}
|
|
},
|
|
methods: {
|
|
async queryUser(val) {
|
|
const {data} = await GET('/platform/syr/basic/pwgl/queryUser', {query: val})
|
|
this.userList = data.list
|
|
},
|
|
async pageData() {
|
|
const {data} = await POST('/platform/syr/basic/pwgl/pageData', this.pageForm, true)
|
|
this.tableData = data.list
|
|
this.pageForm.totalCount = data.totalCount
|
|
},
|
|
pageNumberChange(val) {
|
|
this.pageForm.pageNumber = val
|
|
this.pageData()
|
|
},
|
|
doSearch() {
|
|
this.pageForm.pageNumber = 1
|
|
this.pageData()
|
|
},
|
|
openAdd() {
|
|
this.userList = []
|
|
this.formData = {}
|
|
this.addDialogVisible = true
|
|
},
|
|
pageOrder(column) {
|
|
this.pageForm.pageOrderName = column.prop
|
|
this.pageForm.pageOrderBy = column.order
|
|
this.pageData()
|
|
},
|
|
doAdd() {
|
|
this.$refs['AddForm'].validate(async valid => {
|
|
if (valid) {
|
|
await POST('/platform/syr/basic/pwgl/doAdd', {userid: this.formData.userid})
|
|
this.addDialogVisible = false
|
|
this.doSearch()
|
|
}
|
|
})
|
|
},
|
|
doDelete(row) {
|
|
this.$confirm('确定删除该评委, 是否继续?', '提示', {
|
|
confirmButtonText: '确定',
|
|
cancelButtonText: '取消',
|
|
type: 'warning'
|
|
}).then(async () => {
|
|
await POST('/platform/syr/basic/pwgl/doDelete', row)
|
|
this.doSearch()
|
|
}).catch(() => {
|
|
})
|
|
}
|
|
},
|
|
created() {
|
|
this.pageData()
|
|
}
|
|
})
|
|
</script>
|
|
<!--#
|
|
}
|
|
#-->
|