香樟工会讲堂:
1、活动管理:微信二维码删除无效 2、活动报名控制不签到两次,一年之内不能报名。一年之后,自动解除限制。 3、报名统计 查看页面添加工号/姓名查询
This commit is contained in:
@@ -106,13 +106,14 @@ layout("/layouts/platform.html"){
|
||||
},
|
||||
methods: {
|
||||
async openSign(row) {
|
||||
const resp = await this.$axios.post(loc() + "/signChange", { courseId: row.id, openOtherUnion: !row.openOtherUnion })
|
||||
if (resp.code === 0) {
|
||||
this.$message.success(resp.msg)
|
||||
this.doSearch()
|
||||
} else {
|
||||
this.$message.warning(resp.msg)
|
||||
}
|
||||
return this.$axios.post(loc() + "/signChange", { courseId: row.id, openOtherUnion: !row.openOtherUnion }).then((resp) => {
|
||||
if (resp.code === 0) {
|
||||
this.$message.success(resp.msg)
|
||||
this.doSearch()
|
||||
} else {
|
||||
this.$message.warning(resp.msg)
|
||||
}
|
||||
})
|
||||
},
|
||||
activityChange(val) {
|
||||
this.$nextTick(() => {
|
||||
@@ -130,12 +131,13 @@ layout("/layouts/platform.html"){
|
||||
await this.doSearch()
|
||||
},
|
||||
async getActivityList() {
|
||||
const resp = await this.$axios.post(loc() + "/activityList", { year: this.pageForm.year })
|
||||
this.activityList = resp.data
|
||||
if (this.activityList && this.activityList.length > 0) {
|
||||
this.pageForm.activityId = this.activityList[0].id
|
||||
this.activityChange(this.activityList[0].id)
|
||||
}
|
||||
return this.$axios.post(loc() + "/activityList", { year: this.pageForm.year }).then((resp) => {
|
||||
this.activityList = resp.data
|
||||
if (this.activityList && this.activityList.length > 0) {
|
||||
this.pageForm.activityId = this.activityList[0].id
|
||||
this.activityChange(this.activityList[0].id)
|
||||
}
|
||||
})
|
||||
},
|
||||
async initData() {
|
||||
await this.getActivityList()
|
||||
|
||||
@@ -3,6 +3,15 @@ const info = {
|
||||
<div>
|
||||
<el-tabs>
|
||||
<el-tab-pane label="报名人员">
|
||||
<el-form :inline="true" :model="registerQueryForm" class="mt20" size="small" @submit.native.prevent>
|
||||
<el-form-item label="工号/姓名">
|
||||
<el-input clearable placeholder="请输入工号或姓名" v-model="registerQueryForm.keyword" @keyup.enter.native.prevent="registerUserList()"></el-input>
|
||||
</el-form-item>
|
||||
<el-form-item>
|
||||
<el-button @click="registerUserList" type="primary">查询</el-button>
|
||||
<el-button @click="resetRegisterQuery">重置</el-button>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
<el-table :data="registerUserTableData" class="mt20" max-height="600">
|
||||
<el-table-column
|
||||
:label="column.label"
|
||||
@@ -24,6 +33,15 @@ const info = {
|
||||
</el-table>
|
||||
</el-tab-pane>
|
||||
<el-tab-pane label="签到情况" v-if="clickRow.isMobileSign === true && timeList.length > 0">
|
||||
<el-form :inline="true" :model="signQueryForm" class="mt20" size="small" @submit.native.prevent>
|
||||
<el-form-item label="工号/姓名">
|
||||
<el-input clearable placeholder="请输入工号或姓名" v-model="signQueryForm.keyword" @keyup.enter.native.prevent="doSearch()"></el-input>
|
||||
</el-form-item>
|
||||
<el-form-item>
|
||||
<el-button @click="doSearch" type="primary">查询</el-button>
|
||||
<el-button @click="resetSignQuery">重置</el-button>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
<el-tabs style="height: 660px" tab-position="left" class="mt20" @tab-click="tabClick">
|
||||
<el-tab-pane v-for="item,index in timeList" :key="index">
|
||||
<span slot="label">
|
||||
@@ -87,11 +105,20 @@ const info = {
|
||||
signUserList: [],
|
||||
timeId: '',
|
||||
pageForm: {},
|
||||
registerQueryForm: {
|
||||
keyword: ""
|
||||
},
|
||||
signQueryForm: {
|
||||
keyword: ""
|
||||
},
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
async onOpen(row) {
|
||||
this.clickRow = row
|
||||
this.registerQueryForm.keyword = ""
|
||||
this.signQueryForm.keyword = ""
|
||||
this.pageForm.pageNumber = 1
|
||||
await this.registerUserList()
|
||||
await this.selectTimes()
|
||||
await this.getTaleColumnInfo()
|
||||
@@ -100,6 +127,14 @@ const info = {
|
||||
this.pageForm.pageNumber = 1
|
||||
await this.selectSignUsers(this.timeId)
|
||||
},
|
||||
async resetRegisterQuery() {
|
||||
this.registerQueryForm.keyword = ""
|
||||
await this.registerUserList()
|
||||
},
|
||||
async resetSignQuery() {
|
||||
this.signQueryForm.keyword = ""
|
||||
await this.doSearch()
|
||||
},
|
||||
async pageNumberChange(val) {
|
||||
this.pageForm.pageNumber = val
|
||||
await this.selectSignUsers(this.timeId)
|
||||
@@ -126,25 +161,41 @@ const info = {
|
||||
await this.selectSignUsers(this.timeList[val.index].id)
|
||||
},
|
||||
async registerUserList() {
|
||||
const res = await this.$axios.post(loc() + "/registerUserList", { courseId: this.clickRow.id })
|
||||
this.registerUserTableData = res.data
|
||||
const params = {
|
||||
courseId: this.clickRow.id
|
||||
}
|
||||
const keyword = this.registerQueryForm.keyword ? this.registerQueryForm.keyword.trim() : ""
|
||||
if (keyword) {
|
||||
params.keyword = keyword
|
||||
}
|
||||
return this.$axios.post(loc() + "/registerUserList", params).then((res) => {
|
||||
this.registerUserTableData = res.data
|
||||
})
|
||||
},
|
||||
async selectTimes() {
|
||||
const res = await this.$axios.post(loc() + "/selectTimes", { courseId: this.clickRow.id })
|
||||
this.timeList = res.data
|
||||
if(this.timeList.length > 0) {
|
||||
await this.selectSignUsers(this.timeList[0].id)
|
||||
}
|
||||
return this.$axios.post(loc() + "/selectTimes", { courseId: this.clickRow.id }).then(async (res) => {
|
||||
this.timeList = res.data
|
||||
if(this.timeList.length > 0) {
|
||||
await this.selectSignUsers(this.timeList[0].id)
|
||||
}
|
||||
})
|
||||
},
|
||||
async selectSignUsers(timeId) {
|
||||
this.timeId = timeId
|
||||
this.$set(this.pageForm, 'courseId', this.clickRow.id)
|
||||
this.$set(this.pageForm, 'timeId', timeId)
|
||||
const res = await this.$axios.post(loc() + "/getSignInfo", this.pageForm)
|
||||
if (res.code === 0) {
|
||||
this.signUserList = res.data.list
|
||||
this.pageForm.totalCount = res.data.totalCount
|
||||
const keyword = this.signQueryForm.keyword ? this.signQueryForm.keyword.trim() : ""
|
||||
if (keyword) {
|
||||
this.$set(this.pageForm, 'keyword', keyword)
|
||||
} else {
|
||||
this.$delete(this.pageForm, 'keyword')
|
||||
}
|
||||
return this.$axios.post(loc() + "/getSignInfo", this.pageForm).then((res) => {
|
||||
if (res.code === 0) {
|
||||
this.signUserList = res.data.list
|
||||
this.pageForm.totalCount = res.data.totalCount
|
||||
}
|
||||
})
|
||||
},
|
||||
async getTaleColumnInfo() {
|
||||
const res = await $.get(loc() + '/getTaleColumnInfo', { courseId: this.clickRow.id })
|
||||
|
||||
@@ -22,7 +22,9 @@ layout("/layouts/platform.html"){
|
||||
</search>
|
||||
</el-card>
|
||||
<el-card shadow="never">
|
||||
<table-tool :columns.sync="tableColumns"></table-tool>
|
||||
<table-tool :columns.sync="tableColumns">
|
||||
<el-button size="small" type="primary" icon="el-icon-upload2" @click="showImportDialog = true">导入意见</el-button>
|
||||
</table-tool>
|
||||
<el-table :data="tableData" @sort-change="pageOrder" header-align="center" style="width: 100%" row-key="id">
|
||||
<el-table-column label="序号" width="50" type="index" :index="indexMethod" fixed="left"></el-table-column>
|
||||
<el-table-column
|
||||
@@ -66,6 +68,17 @@ layout("/layouts/platform.html"){
|
||||
</template>
|
||||
|
||||
</guava>
|
||||
|
||||
<excel-import
|
||||
ref="excelImportRef"
|
||||
url="/platform/opinion/mine/importOpinion"
|
||||
template_url="/platform/opinion/mine/downloadImportTemplate"
|
||||
:visible.sync="showImportDialog"
|
||||
title="意见导入"
|
||||
width="700px"
|
||||
@import-success="doSearch"
|
||||
:extra_params="{}"
|
||||
></excel-import>
|
||||
</div>
|
||||
|
||||
<script>
|
||||
@@ -82,6 +95,7 @@ layout("/layouts/platform.html"){
|
||||
return {
|
||||
sessionOptions: [],
|
||||
businessNo: null,
|
||||
showImportDialog: false,
|
||||
tableColumns: [
|
||||
{label: "意见编号", prop: "code"},
|
||||
{label: "意见和建议", prop: "name", width: "200px"},
|
||||
|
||||
Reference in New Issue
Block a user