Merge branch 'main' of https://dd3skj.picp.vip/zhaoxinyu/zhgh_njnu
This commit is contained in:
@@ -258,6 +258,7 @@
|
||||
//挂载
|
||||
Vue.prototype.$moment = moment
|
||||
Vue.prototype.$businessTool = businessTool
|
||||
Vue.prototype.$commonUtil = commonUtil
|
||||
Vue.prototype.$auth = commonUtil.authService()
|
||||
Vue.prototype.$axios = commonUtil.axiosService()
|
||||
Vue.prototype.$downLoad = commonUtil.downLoadService.bind(commonUtil)
|
||||
@@ -277,6 +278,7 @@
|
||||
Vue.component("enum-tag", httpVueLoader("/components/plugins/sysEnum/EnumTag.vue?v=" + new Date().getTime()))
|
||||
Vue.component("table-list", httpVueLoader("/components/plugins/h5/TableList.vue?v=" + new Date().getTime()))
|
||||
Vue.component("table-column", httpVueLoader("/components/plugins/h5/TableColumn.vue?v=" + new Date().getTime()))
|
||||
Vue.component("file-preview", httpVueLoader("/components/plugins/sysFilePreview/H5Index.vue?v=" + new Date().getTime()))
|
||||
</script>
|
||||
</head>
|
||||
<body>
|
||||
|
||||
@@ -153,6 +153,8 @@ layout("/layouts/platform.html"){
|
||||
this.$axios.post("/platform/club/join/apply/checkApplyClub", { clubId: row.id }).then((res) => {
|
||||
if (res.code === 0) {
|
||||
this.$store.dispatch("pjaxRoute", "/platform/club/join/apply?clubId=" + row.id)
|
||||
} else {
|
||||
this.$message.warning(res.msg || "网络请求失败,请稍后重试!");
|
||||
}
|
||||
})
|
||||
|
||||
|
||||
@@ -31,6 +31,11 @@ layout("/layouts/platform.html"){
|
||||
<el-option v-for="item in unitList" :key="item.id" :label="item.name" :value="item.id"></el-option>
|
||||
</el-select>
|
||||
</search-item>
|
||||
<search-item label="所属协会:" v-if="$auth.hasRole('SYSADMIN')">
|
||||
<el-select v-model="pageForm.clubId" placeholder="请选择所属单位" filterable clearable style="width: 100%">
|
||||
<el-option v-for="item in clubList" :key="item.id" :label="item.clubName" :value="item.id"></el-option>
|
||||
</el-select>
|
||||
</search-item>
|
||||
</search>
|
||||
</el-card>
|
||||
|
||||
@@ -121,6 +126,7 @@ layout("/layouts/platform.html"){
|
||||
},
|
||||
unionList: [],
|
||||
unitList: [],
|
||||
clubList: [],
|
||||
showApprovalForm: false
|
||||
}
|
||||
},
|
||||
@@ -174,6 +180,7 @@ layout("/layouts/platform.html"){
|
||||
async created() {
|
||||
this.unitList = await this.$businessTool.listUnit()
|
||||
this.unionList = await this.$businessTool.listUnion()
|
||||
this.clubList = await this.$businessTool.listClub()
|
||||
this.pageData()
|
||||
}
|
||||
})
|
||||
|
||||
@@ -15,6 +15,12 @@ layout("/layouts/platform.html"){
|
||||
style="width: 100%"
|
||||
></el-date-picker>
|
||||
</search-item>
|
||||
<search-item label="姓名:">
|
||||
<el-input placeholder="请输入姓名查询" clearable v-model="pageForm.userName"></el-input>
|
||||
</search-item>
|
||||
<search-item label="工号:">
|
||||
<el-input placeholder="请输入工号查询" clearable v-model="pageForm.loginName"></el-input>
|
||||
</search-item>
|
||||
</search>
|
||||
</el-card>
|
||||
|
||||
|
||||
@@ -163,7 +163,7 @@ const CLUB_FORM_TEMPLATE = {
|
||||
clubType: [{ required: true, message: "请选择协会类型", trigger: ["blur", "change"] }],
|
||||
concatPerson: [{ required: true, message: "请选择协会联系人", trigger: ["blur", "change"] }],
|
||||
foundTime: [{ required: true, message: "请选择成立时间", trigger: ["blur", "change"] }],
|
||||
due: [{ required: true, message: "请输入会费标准", trigger: ["blur", "change"] }],
|
||||
// due: [{ required: true, message: "请输入会费标准", trigger: ["blur", "change"] }],
|
||||
// establishReport: [{ required: true, message: "请上传申请成立报告", trigger: ["blur", "change"] }]
|
||||
rulesFile: [{ required: true, message: "请上传章程", trigger: ["blur", "change"] }],
|
||||
//manageFile: [{ required: true, message: "请上传经费来源及管理办法", trigger: ["blur", "change"] }],
|
||||
|
||||
@@ -35,7 +35,10 @@ layout("/layouts/platform.html"){
|
||||
<table-tool label="协会统计">
|
||||
<el-button @click="exportData" type="primary" size="small">导出全部统计数据</el-button>
|
||||
<el-button @click="exportUserData(null)" v-if="$auth.hasRoleOr(['SYSADMIN', 'SCHOOL_UNION_ADMIN'])" type="primary" size="small">
|
||||
导出全部人员明细
|
||||
导出全部人员明细(zip)
|
||||
</el-button>
|
||||
<el-button @click="exportExcel(null)" v-if="$auth.hasRoleOr(['SYSADMIN', 'SCHOOL_UNION_ADMIN'])" type="primary" size="small">
|
||||
导出全部人员明细(EXCEL)
|
||||
</el-button>
|
||||
<el-button @click="exportFiles(null)" v-if="$auth.hasRoleOr(['SYSADMIN', 'SCHOOL_UNION_ADMIN'])" type="primary" size="small">
|
||||
导出全部上传资料
|
||||
@@ -159,6 +162,14 @@ layout("/layouts/platform.html"){
|
||||
const id = row === null ? "" : row.id
|
||||
this.$downLoad("/platform/club/statistics/exportFiles", { clubId: id })
|
||||
},
|
||||
exportExcel(){
|
||||
let params = {
|
||||
clubId: this.pageForm.clubId,
|
||||
userState: this.pageForm.userState,
|
||||
sex: this.pageForm.sex
|
||||
}
|
||||
this.$downLoad("/platform/club/statistics/exportExcel", params)
|
||||
},
|
||||
async openView(row) {
|
||||
this.clickRow = row
|
||||
await this.userPageData()
|
||||
|
||||
@@ -53,7 +53,7 @@ const applyForm = {
|
||||
:name="index + ''"
|
||||
:title="activity.keyWord + (index + 1)"
|
||||
:key="index">
|
||||
<train-dynamic-form v-model="formData.mobileColumnsValue[index]"></train-dynamic-form>
|
||||
<train-dynamic-form v-model="formData.mobileColumnsValue[index]" :key="index"></train-dynamic-form>
|
||||
</van-tab>
|
||||
</van-tabs>
|
||||
</div>
|
||||
|
||||
@@ -49,7 +49,7 @@ layout("/layouts/platform_h5.html"){
|
||||
<table-column label="类型">{{row.typeName}}</table-column>
|
||||
<table-column label="校区">{{row.campus}}</table-column>
|
||||
<table-column label="地点">{{row.courseLocation}}</table-column>
|
||||
<table-column label="联系人">{{row.courseInstructor}}</table-column>
|
||||
<table-column label="联系人"><span v-html="row.courseInstructor"></span></table-column>
|
||||
<table-column label="时间">
|
||||
<span v-if="row.courseTimes && row.courseTimes.length === 1" class="primary-color" @click="onTime(row)">
|
||||
{{ weekdayCNMap[$moment(row.courseTimes[0].courseDate).day()]
|
||||
|
||||
@@ -91,19 +91,30 @@ layout("/layouts/platform_h5.html"){
|
||||
|
||||
<!-- 表单容器 -->
|
||||
<van-form @submit="doSubmit" ref="formRef" class="form-container">
|
||||
<!-- 协会信息 -->
|
||||
<van-cell-group title="协会信息" class="form-section">
|
||||
<van-field
|
||||
:rules="[{ required: true }]"
|
||||
v-model="formData.clubName"
|
||||
label="协会"
|
||||
placeholder="请选择协会"
|
||||
placeholder="点击选择协会"
|
||||
required
|
||||
is-link
|
||||
readonly
|
||||
@click="showClubPopup = true"
|
||||
class="club-field"
|
||||
></van-field>
|
||||
border="false"
|
||||
>
|
||||
<template #right-icon>
|
||||
<van-button
|
||||
type="info"
|
||||
size="small"
|
||||
style="margin-right: -4px;"
|
||||
@click.stop.prevent="onOpen(formData.clubId)"
|
||||
:disabled="!formData.clubId"
|
||||
>查看
|
||||
</van-button>
|
||||
</template>
|
||||
</van-field>
|
||||
|
||||
<van-popup v-model:show="showClubPopup" position="bottom">
|
||||
<van-picker
|
||||
show-toolbar
|
||||
@@ -195,15 +206,27 @@ layout("/layouts/platform_h5.html"){
|
||||
<van-button round block type="info">提交申请</van-button>
|
||||
</div>
|
||||
</van-form>
|
||||
<van-popup :style="{ height: '100%',width: '100%'}" position="right" safe-area-inset-bottom v-model="viewShow">
|
||||
<van-sticky>
|
||||
<van-nav-bar @click-left="viewShow = false" left-arrow left-text="返回" title="详细信息"></van-nav-bar>
|
||||
</van-sticky>
|
||||
<div style="height: calc(100vh - 44px); overflow-y: auto">
|
||||
<info ref="infoRef"></info>
|
||||
</div>
|
||||
</van-popup>
|
||||
</div>
|
||||
|
||||
<script>
|
||||
<!--#include('../common/clubInfo.js'){}#-->
|
||||
const vue = new Vue({
|
||||
el: "#app",
|
||||
store,
|
||||
components: {},
|
||||
components: {
|
||||
info: clubInfo
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
viewShow: false,
|
||||
formData: {
|
||||
clubId: "",
|
||||
clubName: "",
|
||||
@@ -230,6 +253,12 @@ layout("/layouts/platform_h5.html"){
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
onOpen(clubId) {
|
||||
this.viewShow = true
|
||||
this.$nextTick(() => {
|
||||
this.$refs.infoRef.onOpen(clubId)
|
||||
})
|
||||
},
|
||||
onClubConfirm(value, index) {
|
||||
this.formData.clubId = this.clubOptions[index].id;
|
||||
this.formData.clubName = value;
|
||||
|
||||
@@ -0,0 +1,62 @@
|
||||
const clubInfo = {
|
||||
template:
|
||||
/*language=HTML*/
|
||||
`
|
||||
<div>
|
||||
<van-cell-group>
|
||||
<!-- <van-cell>-->
|
||||
<!-- <div slot="title" class="font-size4 bold">-->
|
||||
<!-- 协会信息-->
|
||||
<!-- </div>-->
|
||||
<!-- </van-cell>-->
|
||||
<van-cell title="协会名称">{{ viewData.clubName }}</van-cell>
|
||||
<van-cell title="成立时间">{{ viewData.foundTime }}</van-cell>
|
||||
<van-cell title="协会编码">{{ viewData.clubCode }}</van-cell>
|
||||
<van-cell title="协会类型">{{ viewData.typeName }}</van-cell>
|
||||
<van-cell title="发起人">{{ viewData.sponsorName }}</van-cell>
|
||||
<van-cell title="会费标准">{{ viewData.due }}</van-cell>
|
||||
<van-cell title="当前人数">{{ viewData.currentPeopleNum }}</van-cell>
|
||||
<van-cell class="more-text" title="协会介绍">
|
||||
<div v-html="viewData.introduce"></div>
|
||||
</van-cell>
|
||||
<van-cell class="more-text" title="协会宗旨">
|
||||
<div v-html="viewData.purpose"></div>
|
||||
</van-cell>
|
||||
|
||||
<van-cell class="more-text" title="协会章程" v-if="viewData.rulesFile">
|
||||
<file-preview :files="viewData.rulesFile" complete_result></file-preview>
|
||||
</van-cell>
|
||||
<van-cell class="more-text" title="年度活动计划" v-if="viewData.yearPlanFile">
|
||||
<file-preview :files="viewData.yearPlanFile" complete_result></file-preview>
|
||||
</van-cell>
|
||||
</van-cell-group>
|
||||
</div>
|
||||
`,
|
||||
data() {
|
||||
return {
|
||||
viewData: {},
|
||||
activeName: "first",
|
||||
isScrollNow: "0"
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
onOpen(id) {
|
||||
this.$axios.post("/platform/club/applyJoin/apply/findOne", { id }).then((res) => {
|
||||
if (res.code === 0) {
|
||||
this.viewData = res.data
|
||||
}
|
||||
})
|
||||
}
|
||||
},
|
||||
style: /*language=CSS*/ `
|
||||
.more-text .van-field__label{
|
||||
width: 100%;
|
||||
}
|
||||
.more-text {
|
||||
display: inline-block;
|
||||
}
|
||||
.more-text .van-cell__value{
|
||||
text-align: left;
|
||||
}
|
||||
`
|
||||
}
|
||||
Reference in New Issue
Block a user