337 lines
15 KiB
HTML
337 lines
15 KiB
HTML
<!--#
|
|
layout("/layouts/platform.html"){
|
|
#-->
|
|
<style>
|
|
.el-range-editor.el-input__inner {
|
|
width: 60%
|
|
}
|
|
</style>
|
|
<div id="app" v-cloak>
|
|
<guava>
|
|
<el-card shadow="never">
|
|
<div class="btn-group tool-button">
|
|
<el-date-picker v-model="pageForm.bmyear" type="year" value-format="yyyy" format="yyyy年"
|
|
placeholder="年度"></el-date-picker>
|
|
</div>
|
|
<div class="btn-group tool-button">
|
|
<el-select v-model="pageForm.bmlx" placeholder="登记类型">
|
|
<el-option v-for="item in bmlxList" :label="item.val" :value="item.id"></el-option>
|
|
</el-select>
|
|
</div>
|
|
<div class="btn-group tool-button">
|
|
<el-button icon="el-icon-search" type="primary" @click="doSearch"></el-button>
|
|
</div>
|
|
<div class="pull-right offscreen-right">
|
|
<el-button size="medium" @click="openAdd"><i class="ti-plus"></i> 创建计划</el-button>
|
|
</div>
|
|
</el-card>
|
|
|
|
<el-card shadow="never" class="mt20">
|
|
<el-table :data="tableData" header-align="center">
|
|
<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="bmyear" header-align="center" align="center"></el-table-column>
|
|
<el-table-column label="报名开始时间" prop="bmkssj" header-align="center" align="center"></el-table-column>
|
|
<el-table-column label="报名结束时间" prop="bmjssj" header-align="center" align="center"></el-table-column>
|
|
<el-table-column label="登记类型" prop="bmlx" header-align="center" align="center">
|
|
<template slot-scope="scope">
|
|
<span v-if="scope.row.bmlx==1">幼儿园</span>
|
|
<span v-if="scope.row.bmlx==2">幼升小</span>
|
|
<span v-if="scope.row.bmlx==3">小升初</span>
|
|
</template>
|
|
</el-table-column>
|
|
<el-table-column label="状态" header-align="center" align="center">
|
|
<template slot-scope="scope">
|
|
<el-switch v-model="scope.row.bmkqzt===1"
|
|
@change="bmkqztChange(scope.row.id,scope.row.bmkqzt)"
|
|
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="info" size="mini" @click="qrcode(scope.row.bmlx,scope.row.bmyear)">二维码</el-button>
|
|
<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 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-card>
|
|
</guava>
|
|
|
|
<el-dialog :visible.sync="addDialogVisible" title="创建计划" width="60%">
|
|
<el-form :model="AddFormData" ref="AddForm" label-width="100px" :rules="rules">
|
|
<el-form-item label="年度" prop="bmyear">
|
|
<el-date-picker v-model="AddFormData.bmyear" type="year" value-format="yyyy"
|
|
format="yyyy年"></el-date-picker>
|
|
</el-form-item>
|
|
<el-form-item label="类型" prop="bmlx">
|
|
<el-select v-model="AddFormData.bmlx">
|
|
<el-option v-for="item in bmlxList" :label="item.val" :value="item.id"></el-option>
|
|
</el-select>
|
|
</el-form-item>
|
|
<el-form-item label="报名时间" prop="bmsj">
|
|
<el-date-picker
|
|
v-model="AddFormData.bmsj"
|
|
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.bmkqzt"
|
|
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="bmyear">
|
|
<el-date-picker v-model="EditFormData.bmyear" type="year" value-format="yyyy"
|
|
format="yyyy年"></el-date-picker>
|
|
</el-form-item>
|
|
<el-form-item label="类型" prop="bmlx">
|
|
<el-select v-model="EditFormData.bmlx">
|
|
<el-option v-for="item in bmlxList" :label="item.val" :value="item.id"></el-option>
|
|
</el-select>
|
|
</el-form-item>
|
|
<el-form-item label="报名时间" prop="bmsj">
|
|
<el-date-picker
|
|
v-model="EditFormData.bmsj"
|
|
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.bmkqzt"
|
|
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>
|
|
|
|
<el-dialog :visible.sync="qrcodeDialogVisible" :title="qrcodeTitle" width="30%" :close-on-click-modal="false">
|
|
<div id="qrcode" style="width: 100%;height: 300px;text-align: center">
|
|
<QrCode :options="{ width: 300,height:300 }" :value="qrcodeUrl"></QrCode>
|
|
</div>
|
|
<a href="" download="test" id="download"></a>
|
|
<span slot="footer" class="dialog-footer">
|
|
<el-button style="width: 100%" icon="el-icon-download" type="primary"
|
|
@click="downloadQrcode">下 载</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: {
|
|
bmyear: '',
|
|
kqzt: true
|
|
},
|
|
bmlxList: [
|
|
{id: 1, val: '幼儿园'}, {id: 2, val: '幼升小'}, {id: 3, val: '小升初'}
|
|
],
|
|
rules: {
|
|
bmyear: [{required: true, message: '必填', trigger: ['blur', 'change']}],
|
|
bmlx: [{required: true, message: '必填', trigger: ['blur', 'change']}],
|
|
bmsj: [{required: true, message: '必填', trigger: ['blur', 'change']}],
|
|
},
|
|
EditFormData: {},
|
|
editDialogVisible: false,
|
|
qrcodeDialogVisible: false,
|
|
domain: 'https://zhgh.nuaa.edu.cn',
|
|
authUrl: 'https://authserver.nuaa.edu.cn/authserver/login?service=',
|
|
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 + '/platform/zgfw/rxdj/plan/pageData', 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.bmkssj = this.AddFormData.bmsj[0]
|
|
this.AddFormData.bmjssj = this.AddFormData.bmsj[1]
|
|
$.post(base + '/platform/zgfw/rxdj/plan/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)
|
|
}
|
|
})
|
|
}
|
|
})
|
|
},
|
|
bmkqztChange(id, bmkqzt) {
|
|
$.post(base + '/platform/zgfw/rxdj/plan/bmztChange', {id: id, bmkqzt: bmkqzt}).then(res => {
|
|
if (res.code == 0) {
|
|
this.doSearch()
|
|
this.$message.success(res.msg)
|
|
}
|
|
})
|
|
},
|
|
openEdit(obj) {
|
|
$.post(base + '/platform/zgfw/rxdj/plan/findOne', {id: obj.id}).then(res => {
|
|
if (res.code == 0) {
|
|
this.EditFormData = res.data
|
|
this.$set(this.EditFormData, 'bmsj', [res.data.bmkssj, res.data.bmjssj])
|
|
this.editDialogVisible = true
|
|
}
|
|
})
|
|
|
|
},
|
|
doEdit() {
|
|
this.$refs['EditForm'].validate((valid) => {
|
|
if (valid) {
|
|
this.EditFormData.bmkssj = this.EditFormData.bmsj[0]
|
|
this.EditFormData.bmjssj = this.EditFormData.bmsj[1]
|
|
$.post(base + '/platform/zgfw/rxdj/plan/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 + '/platform/zgfw/rxdj/plan/doDelete', {id: id}).then(res => {
|
|
if (res.code == 0) {
|
|
this.$message.success(res.msg)
|
|
this.pageData()
|
|
}
|
|
})
|
|
}).catch(() => {
|
|
|
|
})
|
|
},
|
|
qrcode(bmlx, bmyear) {
|
|
let domain2 = 'https://zhgh.nuaa.edu.cn/sso/login'
|
|
let text = null
|
|
switch (bmlx) {
|
|
case 1:
|
|
this.qrcodeTitle = bmyear + '年幼儿园报名登记移动端二维码'
|
|
text = domain2 + '?redirect_html=/platform/zgfw/mobile/rxdj/kindergarten'
|
|
break
|
|
case 2:
|
|
this.qrcodeTitle = bmyear + '年小学报名登记移动端二维码'
|
|
text = domain2 + '?redirect_html=/platform/zgfw/mobile/rxdj/psms'
|
|
break
|
|
case 3:
|
|
this.qrcodeTitle = bmyear + '年初中报名登记移动端二维码'
|
|
text = domain2 + '?redirect_html=/platform/zgfw/mobile/rxdj/psms'
|
|
}
|
|
// this.qrcodeUrl = text
|
|
// console.log(this.qrcodeUrl)
|
|
this.qrcodeUrl = this.authUrl + encodeURI(text)
|
|
console.log(this.qrcodeUrl)
|
|
this.qrcodeDialogVisible = true
|
|
},
|
|
downloadQrcode() {
|
|
if (!!window.ActiveXObject || "ActiveXObject" in window || navigator.userAgent.indexOf("Edge") > -1) {
|
|
let blob = $("canvas").get(0).msToBlob()
|
|
window.navigator.msSaveBlob(blob, this.qrcodeTitle + '.png')
|
|
}
|
|
let url = $("canvas").get(0).toDataURL('image/png')
|
|
let a = document.createElementNS('http://www.w3.org/1999/xhtml', 'a')
|
|
a.href = url
|
|
a.download = this.qrcodeTitle
|
|
let event = document.createEvent('MouseEvents')
|
|
event.initMouseEvent('click', true, false, window, 0, 0, 0, 0, 0, false, false, false, false, 0, null)
|
|
a.dispatchEvent(event)
|
|
}
|
|
},
|
|
created() {
|
|
this.pageData()
|
|
}
|
|
})
|
|
</script>
|
|
|
|
<!--#
|
|
}
|
|
#-->
|