279 lines
12 KiB
HTML
279 lines
12 KiB
HTML
<!--#
|
|
layout("/layouts/platform.html"){
|
|
#-->
|
|
<style>
|
|
.el-range-editor.el-input__inner{
|
|
width: 60%
|
|
}
|
|
</style>
|
|
<div id="app">
|
|
<el-row class="header navbar bg-white shadow">
|
|
<div class="btn-group tool-button mt5">
|
|
<el-date-picker v-model="pageForm.planyear" type="year" value-format="yyyy" format="yyyy年" placeholder="年度"></el-date-picker>
|
|
</div>
|
|
<div class="btn-group tool-button mt5">
|
|
<el-button icon="el-icon-search" type="primary" @click="doSearch"></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-row>
|
|
|
|
<el-row class="el-table-container">
|
|
<el-table :data="tableData" header-align="center" size="small">
|
|
<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="planyear" header-align="center" align="center"></el-table-column>
|
|
<el-table-column label="报名开始时间" prop="plankssj" header-align="center" align="center"></el-table-column>
|
|
<el-table-column label="报名结束时间" prop="planjssj" header-align="center" align="center"></el-table-column>
|
|
<el-table-column label="评选类型" prop="planlx" header-align="center" align="center">
|
|
<template slot-scope="scope">
|
|
<span v-if="scope.row.planlx==1">集体</span>
|
|
<span v-if="scope.row.planlx==2">个人</span>
|
|
</template>
|
|
</el-table-column>
|
|
<el-table-column label="状态" header-align="center" align="center">
|
|
<template slot-scope="scope">
|
|
<el-switch v-model="scope.row.plankqzt===1"
|
|
@change="plankqztChange(scope.row.id,scope.row.plankqzt)"
|
|
active-color="#13ce66"
|
|
inactive-color="#dcdfe6">
|
|
</el-switch>
|
|
</template>
|
|
</el-table-column>
|
|
<el-table-column label="操作" header-align="center" align="center" width="350px">
|
|
<template slot-scope="scope">
|
|
<el-button type="primary" size="mini" @click="openEdit(scope.row)">编辑</el-button>
|
|
<el-button type="danger" size="mini" @click="doDelete(scope.row.id)">删除</el-button>
|
|
</template>
|
|
</el-table-column>
|
|
</el-table>
|
|
</el-row>
|
|
|
|
<el-row class="el-pagination-container">
|
|
<el-pagination
|
|
@size-change="pageSizeChange"
|
|
@current-change="pageNumberChange"
|
|
:current-page="pageForm.pageNumber"
|
|
:page-sizes="[10, 20, 30, 50]"
|
|
:page-size="pageForm.pageSize"
|
|
layout="total, sizes, prev, pager, next, jumper"
|
|
:total="pageForm.totalCount">
|
|
</el-pagination>
|
|
</el-row>
|
|
|
|
<el-dialog :visible.sync="addDialogVisible" title="创建计划" width="60%">
|
|
<el-form :model="AddFormData" ref="AddForm" label-width="100px" :rules="rules">
|
|
<el-form-item label="年度" prop="planyear">
|
|
<el-date-picker v-model="AddFormData.planyear" type="year" value-format="yyyy" format="yyyy年"></el-date-picker>
|
|
</el-form-item>
|
|
<el-form-item label="类型" prop="planlx">
|
|
<el-select v-model="AddFormData.planlx">
|
|
<el-option v-for="item in planlxList" :label="item.val" :value="item.id"></el-option>
|
|
</el-select>
|
|
</el-form-item>
|
|
<el-form-item label="报名时间" prop="plansj">
|
|
<el-date-picker
|
|
v-model="AddFormData.plansj"
|
|
value-format="yyyy-MM-dd"
|
|
format="yyyy年MM月dd日"
|
|
type="daterange"
|
|
range-separator="至"
|
|
start-placeholder="开始日期"
|
|
end-placeholder="结束日期">
|
|
</el-date-picker>
|
|
</el-form-item>
|
|
<el-form-item label="开启状态">
|
|
<el-switch v-model="AddFormData.plankqzt"
|
|
active-color="#13ce66"
|
|
inactive-color="#dcdfe6">
|
|
</el-switch>
|
|
</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>
|
|
|
|
|
|
<el-dialog :visible.sync="editDialogVisible" title="编辑计划" width="60%">
|
|
<el-form :model="EditFormData" ref="EditForm" label-width="100px" :rules="rules">
|
|
<el-form-item label="年度" prop="planyear">
|
|
<el-date-picker v-model="EditFormData.planyear" type="year" value-format="yyyy" format="yyyy年"></el-date-picker>
|
|
</el-form-item>
|
|
<el-form-item label="类型" prop="planlx">
|
|
<el-select v-model="EditFormData.planlx">
|
|
<el-option v-for="item in planlxList" :label="item.val" :value="item.id"></el-option>
|
|
</el-select>
|
|
</el-form-item>
|
|
<el-form-item label="报名时间" prop="plansj">
|
|
<el-date-picker
|
|
v-model="EditFormData.plansj"
|
|
value-format="yyyy-MM-dd"
|
|
format="yyyy年MM月dd日"
|
|
type="daterange"
|
|
range-separator="至"
|
|
start-placeholder="开始日期"
|
|
end-placeholder="结束日期">
|
|
</el-date-picker>
|
|
</el-form-item>
|
|
<el-form-item label="开启状态">
|
|
<el-switch v-model="EditFormData.plankqzt"
|
|
active-color="#13ce66"
|
|
inactive-color="#dcdfe6">
|
|
</el-switch>
|
|
</el-form-item>
|
|
</el-form>
|
|
<span slot="footer" class="dialog-footer">
|
|
<el-button @click="editDialogVisible = false">取 消</el-button>
|
|
<el-button type="primary" @click="doEdit">确 认</el-button>
|
|
</span>
|
|
</el-dialog>
|
|
|
|
|
|
</div>
|
|
<script>
|
|
|
|
Vue.component(VueQrcode.name, VueQrcode)
|
|
|
|
let vue=new Vue({
|
|
el:'#app',
|
|
data(){
|
|
return{
|
|
pageForm:{
|
|
pageNumber:1,
|
|
pageSize:10,
|
|
totalCount:0
|
|
},
|
|
tableData:[],
|
|
addDialogVisible:false,
|
|
AddFormData:{
|
|
kqzt:true
|
|
},
|
|
planlxList:[
|
|
{id:1,val:'幼儿园'},{id:2,val:'小学'},{id:3,val:'初中'}
|
|
],
|
|
rules:{
|
|
planyear:[{required: true, message: '必填', trigger: ['blur', 'change']}],
|
|
planlx:[{required: true, message: '必填', trigger: ['blur', 'change']}],
|
|
plansj:[{required: true, message: '必填', trigger: ['blur', 'change']}],
|
|
},
|
|
EditFormData:{},
|
|
editDialogVisible:false,
|
|
qrcodeDialogVisible:false,
|
|
domain:'https://zhgh.nju.edu.cn',
|
|
qrcodeTitle:'',
|
|
qrcodeUrl:''
|
|
}
|
|
},
|
|
methods:{
|
|
openAdd() {
|
|
if(this.$refs['AddForm'])
|
|
this.$refs['AddForm'].resetFields()
|
|
this.addDialogVisible=true
|
|
},
|
|
pageNumberChange(val) {
|
|
this.pageForm.pageNumber=val
|
|
this.pageData()
|
|
},
|
|
pageSizeChange(val) {
|
|
this.pageForm.pageSize=val
|
|
this.pageData()
|
|
},
|
|
pageData() {
|
|
sublime.showLoadingbar()
|
|
$.post(base+'/platfotm/ry/pxjh/data',this.pageForm).then(res=>{
|
|
sublime.closeLoadingbar()
|
|
if(res.code==0){
|
|
this.tableData=res.data.list
|
|
this.pageForm.totalCount=res.data.totalCount
|
|
}
|
|
})
|
|
},
|
|
doAdd() {
|
|
this.$refs['AddForm'].validate((valid) => {
|
|
if(valid){
|
|
this.AddFormData.plankssj=this.AddFormData.plansj[0]
|
|
this.AddFormData.planjssj=this.AddFormData.plansj[1]
|
|
$.post(base+'/platfotm/ry/pxjh/doAdd',this.AddFormData).then(res=>{
|
|
if(res.code==0){
|
|
this.addDialogVisible=false
|
|
this.doSearch()
|
|
this.$message.success(res.msg)
|
|
}else if(res.code==2){
|
|
this.$message.error(res.msg)
|
|
}
|
|
})
|
|
}
|
|
})
|
|
},
|
|
plankqztChange(id,plankqzt){
|
|
$.post(base+'/platfotm/ry/pxjh/planztChange',{id:id,plankqzt:plankqzt}).then(res=>{
|
|
if(res.code==0){
|
|
this.doSearch()
|
|
this.$message.success(res.msg)
|
|
}
|
|
})
|
|
},
|
|
openEdit(obj){
|
|
$.post(base+'/platfotm/ry/pxjh/findOne',{id:obj.id}).then(res=>{
|
|
if(res.code==0){
|
|
this.EditFormData=res.data
|
|
this.$set(this.EditFormData,'plansj',[res.data.plankssj,res.data.planjssj])
|
|
this.editDialogVisible=true
|
|
}
|
|
})
|
|
|
|
},
|
|
doEdit(){
|
|
this.$refs['EditForm'].validate((valid) => {
|
|
if(valid){
|
|
this.EditFormData.plankssj=this.EditFormData.plansj[0]
|
|
this.EditFormData.planjssj=this.EditFormData.plansj[1]
|
|
$.post(base+'/platfotm/ry/pxjh/doEdit',this.EditFormData).then(res=>{
|
|
if(res.code==0){
|
|
this.editDialogVisible=false
|
|
this.pageData()
|
|
this.$message.success(res.msg)
|
|
}else if(res.code==2){
|
|
this.$message.error(res.msg)
|
|
}
|
|
})
|
|
}
|
|
})
|
|
},
|
|
doSearch(){
|
|
this.pageForm.pageNumber=1
|
|
this.pageData()
|
|
},
|
|
doDelete(id){
|
|
this.$confirm('确定要删除吗?, 是否继续?', '提示', {
|
|
confirmButtonText: '确定',
|
|
cancelButtonText: '取消',
|
|
type: 'warning'
|
|
}).then(() => {
|
|
$.post(base+'/platfotm/ry/pxjh/doDelete',{id:id}).then(res=>{
|
|
if(res.code==0){
|
|
this.$message.success(res.msg)
|
|
this.pageData()
|
|
}
|
|
})
|
|
}).catch(() => {
|
|
|
|
})
|
|
},
|
|
},
|
|
created() {
|
|
this.pageData()
|
|
}
|
|
})
|
|
</script>
|
|
|
|
<!--#
|
|
}
|
|
#-->
|