Files
UNION_NSI/target/classes/views/platform/jdh/two/jcgl.html
T
2026-09-08 19:49:21 +08:00

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>
<!--#
}
#-->