511 lines
20 KiB
HTML
511 lines
20 KiB
HTML
<!--#
|
|
layout("/layouts/platform.html"){
|
|
#-->
|
|
<!-- 教代会管理-->
|
|
|
|
<style>
|
|
.el-loading-spinner {
|
|
font-size: 30px !important;
|
|
}
|
|
|
|
.el-checkbox__label {
|
|
padding-left: 20px;
|
|
}
|
|
|
|
.el-checkbox__input {
|
|
position: absolute;
|
|
/*line-height: unset!important;*/
|
|
}
|
|
</style>
|
|
|
|
<div id="app" v-cloak>
|
|
<guava ref="guava">
|
|
<el-card shadow="never">
|
|
<div class="btn-group tool-button">
|
|
<el-date-picker
|
|
v-model="pageForm.searchYear"
|
|
value-format="yyyy"
|
|
formData="yyyy"
|
|
type="year"
|
|
placeholder="选择年度">
|
|
</el-date-picker>
|
|
</div>
|
|
<div class="btn-group tool-button">
|
|
<el-input placeholder="输入届数" v-model="pageForm.jdhjs" style="width: 200px" clearable
|
|
@keyup.enter.native="doSearch">
|
|
<template slot="prepend">届数</template>
|
|
</el-input>
|
|
</div>
|
|
<div class="btn-group tool-button">
|
|
<el-input placeholder="输入次数" v-model="pageForm.jdhcs" style="width: 200px" clearable
|
|
@keyup.enter.native="doSearch">
|
|
<template slot="prepend">次数</template>
|
|
</el-input>
|
|
</div>
|
|
|
|
<div class="btn-group tool-button">
|
|
<el-select clearable v-model="pageForm.unionid" placeholder="请选择分工会">
|
|
<el-option v-for="i in fghList" :label="i.unionname" :value="i.id" :key="i.id"></el-option>
|
|
</el-select>
|
|
</div>
|
|
|
|
<div class="btn-group tool-button">
|
|
<el-button type="primary" @click="doSearch" icon="el-icon-search"></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"
|
|
@sort-change='pageOrder'>
|
|
<el-table-column
|
|
label="序号"
|
|
type="index"
|
|
width="50">
|
|
</el-table-column>
|
|
<el-table-column
|
|
sortable
|
|
prop="jdhnf"
|
|
label="年度">
|
|
</el-table-column>
|
|
|
|
<el-table-column
|
|
sortable
|
|
prop="jdhjs"
|
|
label="届数">
|
|
<template slot-scope="scope">
|
|
{{scope.row.jdhjs}}届
|
|
</template>
|
|
</el-table-column>
|
|
|
|
<el-table-column
|
|
sortable
|
|
prop="jdhcs"
|
|
label="次数">
|
|
<template slot-scope="scope">
|
|
{{scope.row.jdhcs}}次
|
|
</template>
|
|
</el-table-column>
|
|
<el-table-column
|
|
sortable
|
|
prop="unionname"
|
|
label="所属工会">
|
|
</el-table-column>
|
|
<el-table-column
|
|
prop="jdhallname"
|
|
label="届次全称">
|
|
</el-table-column>
|
|
|
|
<el-table-column
|
|
prop="jdhms"
|
|
label="描述">
|
|
</el-table-column>
|
|
|
|
<el-table-column
|
|
prop="jdhcjsj"
|
|
label="创建时间">
|
|
</el-table-column>
|
|
|
|
<el-table-column
|
|
prop="jdhkqzt"
|
|
label="开启状态">
|
|
<template slot-scope="scope">
|
|
<el-switch active-color="#13ce66"
|
|
inactive-color="#ff4949"
|
|
:value="scope.row.jdhkqzt===1"
|
|
@change="jdhztChange(scope.row.jdhkqzt,scope.row.id)">
|
|
</el-switch>
|
|
</template>
|
|
</el-table-column>
|
|
|
|
<el-table-column
|
|
label="操作"
|
|
width="200">
|
|
<template slot-scope="scope">
|
|
<el-button size="mini" type="primary" @click="openEdit(scope)">编辑</el-button>
|
|
<el-button size="mini" type="danger" @click="doDelete(scope.row.id)">删除</el-button>
|
|
</template>
|
|
</el-table-column>
|
|
</el-table>
|
|
|
|
<!--#include("/layouts/pagination.html"){}#-->
|
|
</el-card>
|
|
|
|
|
|
<el-dialog
|
|
title="新建届次"
|
|
:visible.sync="addDialogVisible"
|
|
width="45%">
|
|
<el-form :model="formData" ref="addForm" :rules="rules" label-width="120px">
|
|
<el-form-item prop="jdhnf" label="教代会年份">
|
|
<el-date-picker style="width:250px;"
|
|
v-model="formData.jdhnf"
|
|
value-format="yyyy"
|
|
formData="yyyy"
|
|
type="year"
|
|
placeholder="选择年">
|
|
</el-date-picker>
|
|
</el-form-item>
|
|
|
|
<el-form-item prop="jdhjs" label="教代会届数">
|
|
<el-select v-model="formData.jdhjs" filterable placeholder="请选择届数" style="width:250px;">
|
|
<el-option v-for="i in jsList" :label="i.name" :key="i.id" :value="i.code"></el-option>
|
|
</el-select>
|
|
</el-form-item>
|
|
|
|
<el-form-item prop="jdhcs" label="教代会次数">
|
|
<el-select v-model="formData.jdhcs" @change="csChange" filterable placeholder="请选择次数"
|
|
style="width:250px;">
|
|
<el-option v-for="i in cslist" :key="i" :label="i+'次'" :value="i"></el-option>
|
|
</el-select>
|
|
</el-form-item>
|
|
|
|
<el-form-item prop="unionid" label="所属工会">
|
|
<el-select clearable v-model="formData.unionid" placeholder="请选择分工会">
|
|
<el-option v-for="i in fghList" :label="i.unionname" :value="i.id" :key="i.id"></el-option>
|
|
</el-select>
|
|
</el-form-item>
|
|
|
|
<el-form-item prop="jdhms" label="教代会描述">
|
|
<el-input type="textarea"
|
|
:rows="2"
|
|
placeholder="请输入教代会主题描述"
|
|
v-model="formData.jdhms">
|
|
</el-input>
|
|
</el-form-item>
|
|
|
|
<el-form-item prop="sfjc" class="is-required" label="" label-width="30px" style="margin-top: 20px;">
|
|
<el-checkbox v-model="formData.isExtend"
|
|
:disabled="formData.jdhcs=='一' || formData.jdhcs==''"
|
|
style="font-size: 14px;color: #ff6a00;width: 98%">
|
|
<span>
|
|
延用上一次教代会的代表信息。
|
|
</span>
|
|
</el-checkbox>
|
|
</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
|
|
title="编辑教代会信息"
|
|
:visible.sync="editDialogVisible"
|
|
custom-class="ViewDialogClass"
|
|
:close-on-click-modal="false"
|
|
width="45%">
|
|
<el-form :model="formData" ref="editForm" :rules="rules" label-width="120px">
|
|
|
|
<el-form-item prop="jdhnf" label="教代会年份">
|
|
<div class="block">
|
|
<el-date-picker style="width:250px;"
|
|
v-model="formData.jdhnf"
|
|
value-format="yyyy"
|
|
formData="yyyy"
|
|
type="year"
|
|
placeholder="选择年">
|
|
</el-date-picker>
|
|
</div>
|
|
</el-form-item>
|
|
|
|
<el-form-item prop="jdhjs" label="教代会届数">
|
|
<el-select v-model="formData.jdhjs" filterable placeholder="请选择届数" style="width:250px;">
|
|
<el-option v-for="i in 30" :label="i+'届'" :key="i" :value="i"></el-option>
|
|
</el-select>
|
|
</el-form-item>
|
|
|
|
<el-form-item prop="jdhcs" label="教代会次数">
|
|
<el-select v-model="formData.jdhcs" filterable placeholder="请选择次数" style="width:250px;">
|
|
<el-option v-for="i in cslist" :key="i" :label="i+'次'" :value="i"></el-option>
|
|
</el-select>
|
|
</el-form-item>
|
|
|
|
<el-form-item prop="unionid" label="所属工会">
|
|
<el-select clearable v-model="formData.unionid" placeholder="请选择分工会" disabled>
|
|
<el-option v-for="i in fghList" :label="i.unionname" :value="i.id" :key="i.id"></el-option>
|
|
</el-select>
|
|
</el-form-item>
|
|
|
|
<el-form-item prop="jdhms" label="教代会描述">
|
|
<el-input style="width:450px;"
|
|
type="textarea"
|
|
:rows="2"
|
|
placeholder="请输入教代会主题描述"
|
|
auto-complete="off"
|
|
v-model="formData.jdhms">
|
|
</el-input>
|
|
</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>
|
|
|
|
</guava>
|
|
</div>
|
|
|
|
<script>
|
|
|
|
const rules = {
|
|
jdhnf: [
|
|
{required: true, message: '请选择教代会年份', trigger: ['blur', 'change']}
|
|
],
|
|
jdhjs: [
|
|
{required: true, message: '请输入教代会届数', trigger: ['blur', 'change']}
|
|
],
|
|
jdhcs: [
|
|
{required: true, message: '请输入教代会次数', trigger: ['blur', 'change']}
|
|
]
|
|
}
|
|
|
|
|
|
let vue = new Vue({
|
|
el: "#app",
|
|
mixins: [initTableMixins],
|
|
data() {
|
|
return {
|
|
addDialogVisible: false,
|
|
editDialogVisible: false,
|
|
tableData: [],
|
|
fghList: [],
|
|
pageForm: {
|
|
searchYear: '',
|
|
jdhjs: '',
|
|
jdhcs: '',
|
|
pageNumber: 1,
|
|
pageSize: 10,
|
|
totalCount: 0,
|
|
pageOrderName: '',
|
|
pageOrderBy: ''
|
|
},
|
|
formData: {
|
|
jdhid: "",
|
|
jdhnf: "",
|
|
jdhjs: "",
|
|
jdhcs: "",
|
|
jdhms: "",
|
|
jdhkqzt: "",
|
|
sfjc: "",
|
|
isExtend: false
|
|
},
|
|
rules: rules,
|
|
jsList: [],
|
|
cslist: ['一', '二', '三', '四', '五']
|
|
}
|
|
},
|
|
methods: {
|
|
doDelete(id) {
|
|
this.$confirm('删除此次教代会将会删除该教代会下面所有的数据(包括代表)', '提示', {
|
|
confirmButtonText: '确定',
|
|
cancelButtonText: '取消',
|
|
type: 'warning'
|
|
}).then((res) => {
|
|
const loading = this.$loading({
|
|
lock: true,
|
|
text: '删除中',
|
|
spinner: 'el-icon-loading',
|
|
background: 'rgba(0, 0, 0, 0.7)'
|
|
});
|
|
$.post(base + '/platform/jdh2/cb/jcgl/doDelete', {id: id}).then(res => {
|
|
if (res.code === 0) {
|
|
setTimeout(() => {
|
|
loading.spinner = 'el-icon-circle-check'
|
|
loading.text = '删除成功'
|
|
setTimeout(() => {
|
|
loading.close()
|
|
this.doSearch()
|
|
}, 1500)
|
|
|
|
}, 1000)
|
|
} else {
|
|
setTimeout(() => {
|
|
loading.spinner = 'el-icon-circle-close'
|
|
loading.text = '删除失败'
|
|
setTimeout(() => {
|
|
loading.close()
|
|
this.doSearch()
|
|
}, 1500)
|
|
|
|
}, 1000)
|
|
}
|
|
})
|
|
}).catch(() => {
|
|
})
|
|
},
|
|
jsChange(val) {
|
|
console.log(val)
|
|
$.post(base + "/platform/jdh/cb/jcgl/getcs", {jdhjs: val}).then(res => {
|
|
if (res.code == 0) {
|
|
this.cslist = res.data;
|
|
} else {
|
|
this.$message.error(res.msg)
|
|
}
|
|
})
|
|
},
|
|
csChange(val) {
|
|
if (val === '一') {
|
|
this.$set(this.formData, 'isExtend', false)
|
|
}
|
|
},
|
|
pageOrder(column) {
|
|
this.pageForm.pageOrderName = column.prop
|
|
this.pageForm.pageOrderBy = column.order
|
|
this.pageData()
|
|
},
|
|
pageNumberChange(val) {
|
|
this.pageForm.pageNumber = val
|
|
this.pageData()
|
|
},
|
|
pageData() {
|
|
sublime.showLoadingbar()
|
|
$.post(base + "/platform/jdh2/cb/jcgl/pageData", this.pageForm).then(res => {
|
|
sublime.closeLoadingbar()
|
|
if (res.code == 0) {
|
|
this.tableData = res.data.list;
|
|
this.pageForm.totalCount = res.data.totalCount;
|
|
} else {
|
|
this.$message.error(res.msg)
|
|
}
|
|
})
|
|
},
|
|
formatAt(val) {
|
|
if (val > 0)
|
|
return moment(val * 1000).format("YYYY-MM-DD HH:mm")
|
|
return ""
|
|
},
|
|
doSearch() {
|
|
this.pageForm.pageNumber = 1
|
|
this.pageData()
|
|
},
|
|
openAdd() {
|
|
if ("${@shiro.hasRole('H04')}" === 'true') {
|
|
this.formData.unionid = this.fghList[0].id
|
|
}
|
|
this.addDialogVisible = true
|
|
if (this.$refs["addForm"])
|
|
this.$refs["addForm"].resetFields()
|
|
},
|
|
doAdd() {
|
|
if (!this.formData.isExtend && this.formData.jdhcs !== '一') {
|
|
this.$confirm('确定不延用上一次教代会的组织及人员数据吗?这将导致此次教代会的组织及人员都将为空必须重新组建!', '提示', {
|
|
confirmButtonText: '确定',
|
|
cancelButtonText: '取消',
|
|
type: 'warning'
|
|
}).then(() => {
|
|
this.$refs["addForm"].validate(valid => {
|
|
if (valid) {
|
|
|
|
const loading = this.$loading({
|
|
lock: true,
|
|
text: '提交中',
|
|
spinner: 'el-icon-loading',
|
|
background: 'rgba(0, 0, 0, 0.7)'
|
|
})
|
|
|
|
$.post(base + '/platform/jdh2/cb/jcgl/doAdd', this.formData).then(res => {
|
|
if (res.code === 0) {
|
|
setTimeout(() => {
|
|
loading.close()
|
|
this.$message.success(res.msg)
|
|
this.doSearch()
|
|
this.addDialogVisible = false
|
|
}, 1500)
|
|
|
|
} else {
|
|
loading.close()
|
|
this.$message.error(res.msg)
|
|
}
|
|
})
|
|
}
|
|
})
|
|
}).catch(() => {
|
|
})
|
|
} else {
|
|
this.$refs["addForm"].validate(valid => {
|
|
if (valid) {
|
|
const loading = this.$loading({
|
|
lock: true,
|
|
text: '提交中',
|
|
spinner: 'el-icon-loading',
|
|
background: 'rgba(0, 0, 0, 0.7)'
|
|
});
|
|
|
|
$.post(base + "/platform/jdh2/cb/jcgl/doAdd", this.formData).then(res => {
|
|
if (res.code == 0) {
|
|
setTimeout(() => {
|
|
loading.close()
|
|
this.$message.success(res.msg)
|
|
this.doSearch()
|
|
this.addDialogVisible = false
|
|
}, 1500)
|
|
} else {
|
|
loading.close()
|
|
this.$message.error(res.msg)
|
|
}
|
|
})
|
|
|
|
}
|
|
})
|
|
}
|
|
},
|
|
openEdit(scope) {
|
|
this.formData = JSON.parse(JSON.stringify(scope.row))
|
|
console.log(this.formData)
|
|
this.editDialogVisible = true
|
|
},
|
|
doEdit() {
|
|
this.$refs["editForm"].validate(valid => {
|
|
if (valid) {
|
|
$.post(base + "/platform/jdh2/cb/jcgl/editDo", this.formData).then(res => {
|
|
if (res.code == 0) {
|
|
this.$message.success(res.msg)
|
|
this.doSearch()
|
|
this.editDialogVisible = false
|
|
} else {
|
|
this.$message.error(res.msg)
|
|
}
|
|
})
|
|
}
|
|
})
|
|
},
|
|
jdhztChange(status, id) {
|
|
let cz = status === 1 ? '关闭' : '开启'
|
|
this.$confirm('此操作将' + cz + '此次教代会!', '提示', {
|
|
confirmButtonText: '确定',
|
|
cancelButtonText: '取消',
|
|
type: 'warning',
|
|
}).then(() => {
|
|
$.post(base + "/platform/jdh2/cb/jcgl/jdhztChange", {id: id, status: status}).then(res => {
|
|
if (res.code == 0) {
|
|
this.doSearch()
|
|
}
|
|
})
|
|
}).catch(() => {
|
|
})
|
|
|
|
}
|
|
},
|
|
async created() {
|
|
|
|
this.jsList = await getJc()
|
|
this.fghList = await getUnions()
|
|
if ("${@shiro.hasRole('H04')}" === 'true') {
|
|
this.pageForm.unionid = this.fghList[0].id
|
|
}
|
|
this.pageData()
|
|
}
|
|
})
|
|
</script>
|
|
<!--#
|
|
}
|
|
#-->
|