..
This commit is contained in:
@@ -1,7 +0,0 @@
|
||||
package com.budwk.app.zhgh.dayofficework.huimin.service;
|
||||
|
||||
import com.budwk.app.base.service.BaseService;
|
||||
import com.budwk.app.zhgh.dayofficework.huimin.models.Huimin;
|
||||
|
||||
public interface HuiminService extends BaseService<Huimin> {
|
||||
}
|
||||
+7
@@ -36,6 +36,13 @@ public class TeacherCongressDelegateReadController {
|
||||
public void index() {
|
||||
}
|
||||
|
||||
@At("/h5")
|
||||
@Ok("beetl:/platform/zhghh5/democratic/teachercongress/delegate/read/index.html")
|
||||
@SaCheckPermission("h5.tc.delegate.read")
|
||||
public void h5Index() {
|
||||
}
|
||||
|
||||
|
||||
@At
|
||||
@SaCheckPermission("tc.delegate.read")
|
||||
public Result pageData(@Valid @Param("pageForm") TeacherCongressDelegateManagePageParam pageForm) {
|
||||
|
||||
-21
@@ -1,21 +0,0 @@
|
||||
package com.budwk.app.zhgh.democratic.teachercongress.delegate.h5controller;
|
||||
|
||||
import cn.dev33.satoken.annotation.SaCheckPermission;
|
||||
import io.swagger.annotations.Api;
|
||||
import org.nutz.ioc.loader.annotation.IocBean;
|
||||
import org.nutz.mvc.annotation.At;
|
||||
import org.nutz.mvc.annotation.Ok;
|
||||
|
||||
@IocBean
|
||||
@At("/platform/h5/teacherCongress/delegate/read")
|
||||
@Ok("json:full")
|
||||
@Api(tags = "手机端代表阅览")
|
||||
public class H5TeacherCongressDelegateReadController {
|
||||
|
||||
@At("")
|
||||
@Ok("beetl:/platform/zhghh5/democratic/teachercongress/delegate/read/index.html")
|
||||
@SaCheckPermission("tc.delegate.read")
|
||||
public void index() {
|
||||
}
|
||||
|
||||
}
|
||||
+3
-3
@@ -1,11 +1,11 @@
|
||||
package com.budwk.app.zhgh.dayofficework.huimin.controller;
|
||||
package com.budwk.app.zhgh.staffbenefit.huimin.controller;
|
||||
|
||||
import cn.dev33.satoken.annotation.SaCheckLogin;
|
||||
import com.budwk.app.base.page.Pagination;
|
||||
import com.budwk.app.base.param.PageForm;
|
||||
import com.budwk.app.base.result.Result;
|
||||
import com.budwk.app.zhgh.dayofficework.huimin.models.Huimin;
|
||||
import com.budwk.app.zhgh.dayofficework.huimin.service.HuiminService;
|
||||
import com.budwk.app.zhgh.staffbenefit.huimin.models.Huimin;
|
||||
import com.budwk.app.zhgh.staffbenefit.huimin.service.HuiminService;
|
||||
import io.swagger.annotations.Api;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
+48
@@ -0,0 +1,48 @@
|
||||
package com.budwk.app.zhgh.staffbenefit.huimin.controller;
|
||||
|
||||
import cn.dev33.satoken.annotation.SaCheckLogin;
|
||||
import com.budwk.app.base.page.Pagination;
|
||||
import com.budwk.app.base.param.PageForm;
|
||||
import com.budwk.app.base.result.Result;
|
||||
import com.budwk.app.zhgh.staffbenefit.huimin.service.HuiminService;
|
||||
import io.swagger.annotations.Api;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.nutz.dao.Cnd;
|
||||
import org.nutz.ioc.loader.annotation.Inject;
|
||||
import org.nutz.ioc.loader.annotation.IocBean;
|
||||
import org.nutz.mvc.annotation.At;
|
||||
import org.nutz.mvc.annotation.Ok;
|
||||
|
||||
@IocBean
|
||||
@At("/platform/huimin/mine")
|
||||
@Api(tags = "惠民服务-我的")
|
||||
@Slf4j
|
||||
@Ok("json:full")
|
||||
public class HuiminMineController {
|
||||
|
||||
@Inject
|
||||
private HuiminService huiminService;
|
||||
|
||||
@At("")
|
||||
@SaCheckLogin
|
||||
@Ok("beetl:/platform/zhgh/staffbenefit/huimin/mine/index.html")
|
||||
public void index() {
|
||||
}
|
||||
|
||||
@At("/h5")
|
||||
@SaCheckLogin
|
||||
@Ok("beetl:/platform/zhghh5/staffbenefit/huimin/mine/index.html")
|
||||
public void h5Index(){
|
||||
|
||||
}
|
||||
|
||||
@At
|
||||
@SaCheckLogin
|
||||
public Result pageData(PageForm pageForm){
|
||||
Cnd cnd = Cnd.NEW();
|
||||
Pagination pagination = huiminService.listPage(pageForm.getPageNumber(), pageForm.getPageSize(), cnd);
|
||||
return Result.success(pagination);
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
package com.budwk.app.zhgh.dayofficework.huimin.models;
|
||||
package com.budwk.app.zhgh.staffbenefit.huimin.models;
|
||||
|
||||
import com.budwk.app.base.model.BaseModel;
|
||||
import lombok.Data;
|
||||
@@ -0,0 +1,7 @@
|
||||
package com.budwk.app.zhgh.staffbenefit.huimin.service;
|
||||
|
||||
import com.budwk.app.base.service.BaseService;
|
||||
import com.budwk.app.zhgh.staffbenefit.huimin.models.Huimin;
|
||||
|
||||
public interface HuiminService extends BaseService<Huimin> {
|
||||
}
|
||||
+3
-3
@@ -1,8 +1,8 @@
|
||||
package com.budwk.app.zhgh.dayofficework.huimin.service.impl;
|
||||
package com.budwk.app.zhgh.staffbenefit.huimin.service.impl;
|
||||
|
||||
import com.budwk.app.base.service.impl.BaseServiceImpl;
|
||||
import com.budwk.app.zhgh.dayofficework.huimin.models.Huimin;
|
||||
import com.budwk.app.zhgh.dayofficework.huimin.service.HuiminService;
|
||||
import com.budwk.app.zhgh.staffbenefit.huimin.models.Huimin;
|
||||
import com.budwk.app.zhgh.staffbenefit.huimin.service.HuiminService;
|
||||
import org.nutz.dao.Dao;
|
||||
import org.nutz.ioc.loader.annotation.IocBean;
|
||||
|
||||
@@ -183,6 +183,12 @@ body {
|
||||
|
||||
}
|
||||
|
||||
/*************************覆盖vant默认CSS********************************/
|
||||
.van-dropdown-menu__bar{
|
||||
box-shadow: unset;
|
||||
}
|
||||
|
||||
|
||||
/*****************************申请表单CSS********************************/
|
||||
.form-container {
|
||||
padding-bottom: 80px;
|
||||
|
||||
@@ -43,12 +43,25 @@ const commonUtil = {
|
||||
|
||||
//下载文件
|
||||
downLoadService: function (url, data) {
|
||||
const loading = ELEMENT.Loading.service({
|
||||
lock: true,
|
||||
text: "导出中,请耐心等待",
|
||||
spinner: "el-icon-loading",
|
||||
background: "rgba(0, 0, 0, 0.7)"
|
||||
})
|
||||
const userAgent = navigator.userAgent || navigator.vendor || window.opera
|
||||
const isMobile = /iPad|iPhone|iPod|Android/.test(userAgent)
|
||||
|
||||
let loading = null
|
||||
|
||||
if(isMobile){
|
||||
loading = vant.Toast.loading({
|
||||
duration: 0,
|
||||
forbidClick: true,
|
||||
message: '导出中,请耐心等待'
|
||||
});
|
||||
}else{
|
||||
loading = ELEMENT.Loading.service({
|
||||
lock: true,
|
||||
text: "导出中,请耐心等待",
|
||||
spinner: "el-icon-loading",
|
||||
background: "rgba(0, 0, 0, 0.7)"
|
||||
})
|
||||
}
|
||||
|
||||
Vue.prototype.$axios
|
||||
.post(url, data, { responseType: "blob" })
|
||||
@@ -89,7 +102,11 @@ const commonUtil = {
|
||||
loading.close()
|
||||
})
|
||||
.finally(() => {
|
||||
loading.close()
|
||||
if(isMobile){
|
||||
loading.clear()
|
||||
}else{
|
||||
loading.close()
|
||||
}
|
||||
})
|
||||
},
|
||||
|
||||
|
||||
+18
-2
@@ -2,7 +2,7 @@
|
||||
layout("/layouts/platform_h5.html"){
|
||||
#-->
|
||||
|
||||
<div id="app" v-cloak>
|
||||
<div id="app" v-cloak style="padding-bottom: 70px;">
|
||||
<van-nav-bar title="代表阅览" left-text="返回" left-arrow @click-left="historyBack" placeholder fixed></van-nav-bar>
|
||||
<van-sticky offset-top="46px">
|
||||
<van-search
|
||||
@@ -31,9 +31,19 @@ layout("/layouts/platform_h5.html"){
|
||||
</van-dropdown-menu>
|
||||
</van-sticky>
|
||||
|
||||
<div class="export-buttons" style="position: fixed; bottom: 0; left: 0; right: 0; padding: 10px; display: flex; gap: 10px; background: white; border-top: 1px solid #eee; z-index: 1000; box-shadow: 0 -2px 8px rgba(0,0,0,0.1);">
|
||||
<van-button type="primary" size="medium" @click="exportXlsx" style="flex: 1;">
|
||||
<i class="fa fa-file-excel-o"></i> 导出Excel
|
||||
</van-button>
|
||||
<van-button type="info" size="medium" @click="exportDocx" style="flex: 1;">
|
||||
<i class="fa fa-file-word-o"></i> 导出Word
|
||||
</van-button>
|
||||
</div>
|
||||
|
||||
<table-list api="/platform/teacherCongress/delegate/read/pageData" :page_form.sync="pageForm" json
|
||||
@ready="onReady"
|
||||
ref="tableListRef">
|
||||
ref="tableListRef"
|
||||
style="padding-bottom: 65px">
|
||||
<template v-slot="{index,row}">
|
||||
<table-column label="代表姓名">{{row.userName}}</table-column>
|
||||
<table-column label="代表工号">{{row.loginName}}</table-column>
|
||||
@@ -146,6 +156,12 @@ layout("/layouts/platform_h5.html"){
|
||||
onReady() {
|
||||
this.listRole()
|
||||
this.listSession()
|
||||
},
|
||||
exportXlsx() {
|
||||
this.$downLoad("/platform/teacherCongress/delegate/read/exportXlsx", this.pageForm)
|
||||
},
|
||||
exportDocx() {
|
||||
this.$downLoad("/platform/teacherCongress/delegate/read/exportDocx", this.pageForm)
|
||||
}
|
||||
}
|
||||
})
|
||||
|
||||
@@ -0,0 +1,62 @@
|
||||
<!--#
|
||||
layout("/layouts/platform_h5.html"){
|
||||
#-->
|
||||
|
||||
<div id="app" v-cloak>
|
||||
<van-nav-bar title="惠民服务" left-text="返回" left-arrow @click-left="historyBack" placeholder fixed></van-nav-bar>
|
||||
<van-sticky offset-top="46px">
|
||||
<van-search
|
||||
v-model="pageForm.searchKeyword"
|
||||
:show-action="false"
|
||||
:reverse-color="false"
|
||||
input-align="left"
|
||||
placeholder="请输入姓名/工号搜索"
|
||||
@search="doSearch"
|
||||
></van-search>
|
||||
</van-sticky>
|
||||
|
||||
<table-list api="/platform/huimin/mine/pageData"
|
||||
:page_form.sync="pageForm"
|
||||
json
|
||||
@ready="onReady"
|
||||
img=""
|
||||
ref="tableListRef">
|
||||
</table-list>
|
||||
|
||||
</div>
|
||||
|
||||
<script>
|
||||
new Vue({
|
||||
el: '#app',
|
||||
data() {
|
||||
return {
|
||||
pageForm: {
|
||||
pageNumber: 1,
|
||||
pageSize: 10,
|
||||
totalCount: 0,
|
||||
searchKeyword: null,
|
||||
sessionId: null,
|
||||
delegationId: null,
|
||||
roleId: null
|
||||
},
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
historyBack,
|
||||
onReady(){
|
||||
|
||||
},
|
||||
doSearch() {
|
||||
this.$nextTick(() => {
|
||||
this.pageForm.pageNumber = 1
|
||||
this.pageForm.totalCount = 0
|
||||
this.$refs.tableListRef.doSearch()
|
||||
})
|
||||
}
|
||||
}
|
||||
})
|
||||
</script>
|
||||
|
||||
<!--#
|
||||
}
|
||||
#-->
|
||||
@@ -22,8 +22,9 @@ const apps = {
|
||||
:class="['nav-item', { active: activeTab === index }]"
|
||||
@click="onClickNav(index)"
|
||||
>
|
||||
<div class="nav-icon" v-if="category.icon">
|
||||
<i :class="category.icon"></i>
|
||||
<div class="nav-icon">
|
||||
<i v-if="category.icon" :class="category.icon"></i>
|
||||
<i v-else class="fa fa-book"></i>
|
||||
</div>
|
||||
<div class="nav-text">{{ category.name }}</div>
|
||||
<div class="nav-indicator" v-if="activeTab === index"></div>
|
||||
@@ -269,13 +270,6 @@ const apps = {
|
||||
return
|
||||
}
|
||||
|
||||
// 如果只有一个菜单项,直接跳转
|
||||
if (menus.length === 1) {
|
||||
this.navigateToMenu(menus[0])
|
||||
return
|
||||
}
|
||||
|
||||
// 多个菜单项时显示popup弹框
|
||||
this.currentApp = app
|
||||
this.currentMenus = menus
|
||||
this.showMenuPopup = true
|
||||
@@ -285,14 +279,11 @@ const apps = {
|
||||
navigateToMenu(menu) {
|
||||
// 关闭弹框
|
||||
this.showMenuPopup = false
|
||||
|
||||
if (menu.href) {
|
||||
// 如果是H5平台,直接跳转
|
||||
if (menu.platform === 'H5') {
|
||||
window.location.href = menu.href
|
||||
} else {
|
||||
// 其他平台可能需要特殊处理
|
||||
if(menu.href.startsWith('http://') || menu.href.startsWith('https://')){
|
||||
window.open(menu.href, '_blank')
|
||||
}else{
|
||||
this.$pjaxReplace(menu.href)
|
||||
}
|
||||
} else {
|
||||
this.$toast('该功能暂不可用')
|
||||
@@ -318,6 +309,12 @@ const apps = {
|
||||
background: #f7f8fa;
|
||||
border-right: 1px solid #ebedf0;
|
||||
overflow-y: auto;
|
||||
scrollbar-width: none; /* Firefox */
|
||||
-ms-overflow-style: none; /* IE and Edge */
|
||||
}
|
||||
|
||||
.tree-nav::-webkit-scrollbar {
|
||||
display: none; /* Chrome, Safari and Opera */
|
||||
}
|
||||
|
||||
.nav-item {
|
||||
|
||||
Reference in New Issue
Block a user