公会列表查询修改

master
duhui 2022-09-26 16:19:20 +08:00
parent 203f135381
commit f077934c4c
9 changed files with 360 additions and 150 deletions

View File

@ -2,19 +2,18 @@ package com.jmfy.controller;
import com.jmfy.WebSecurityConfig;
import com.jmfy.dao.CUserDao;
import com.jmfy.dao.GSUserDao;
import com.jmfy.dao.GsGuildDao;
import com.jmfy.dao.ServerInfoDao;
import com.jmfy.dao.impl.GsGuildDaoImpl;
import com.jmfy.model.CAdmin;
import com.jmfy.model.GsGuildInfoBean;
import com.jmfy.model.ServerInfo;
import com.jmfy.model.vo.GsGuildInfoBeanVo;
import com.jmfy.model.vo.GuildMemberVo;
import com.jmfy.model.vo.PowersEnum;
import com.jmfy.utils.DateUtil;
import com.jmfy.utils.JsonUtil;
import com.jmfy.utils.RPCClient;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.stereotype.Controller;
import org.springframework.ui.ModelMap;
import org.springframework.web.bind.annotation.RequestMapping;
@ -23,7 +22,9 @@ import org.springframework.web.bind.annotation.ResponseBody;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
import java.util.*;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
/**
* @Author hj
@ -33,6 +34,7 @@ import java.util.*;
*/
@Controller
public class GuildController {
private static final Logger LOGGER = LoggerFactory.getLogger(GuildController.class);
@Resource
private GsGuildDao gsGuildDao;
@ -45,7 +47,7 @@ public class GuildController {
public String initGuildList(ModelMap map){
try {
List<ServerInfo> serverInfo = serverInfoDao.getAllServerInfo();
map.addAttribute("serverInfo",serverInfo);
map.addAttribute("serverInfos",serverInfo);
}
catch (Exception e) {
e.printStackTrace();
@ -67,22 +69,41 @@ public class GuildController {
List<GsGuildInfoBeanVo> guildList = new ArrayList<>();
// 参数
String[] split = serverId.split(",");
for (String s : split) {
List<GsGuildInfoBeanVo> guildVoList = gsGuildDao.getGuildVoList(Integer.parseInt(s),2);
guildList.addAll(guildVoList);
List<GsGuildInfoBeanVo> guildListByServer = gsGuildDao.getGuildVoList(Integer.parseInt(s), 2);
guildList.addAll(guildListByServer);
}
map.addAttribute("serverInfo",serverInfo);
map.addAttribute("serverInfos",serverInfo);
map.addAttribute("guildList",guildList);
}
catch (Exception e) {
e.printStackTrace();
}
long end = DateUtil.now();
System.out.printf("获取公会列表耗时:{%d}ms \n",end-start);
LOGGER.info("获取公会列表耗时:{}ms \n",end-start);
return "guildListManager";
}
/***
*
* @param map
* @return
*/
@RequestMapping(value = "/findGuildMemberInfo",method = {RequestMethod.POST, RequestMethod.GET})
public String findGuildMemberInfo(ModelMap map, int serverId, int guildId){
long start = DateUtil.now();
try {
GsGuildInfoBeanVo guildInfo = gsGuildDao.findGuildInfo(serverId, guildId);
map.addAttribute("guildInfo",guildInfo);
}
catch (Exception e) {
e.printStackTrace();
}
long end = DateUtil.now();
LOGGER.info("获取公会成员耗时:{}ms \n",end-start);
return "guildMemberInfo";
}
/**
*
* type:

View File

@ -39,5 +39,5 @@ public interface GsGuildDao {
* @return
* @throws Exception
*/
GsGuildInfoBean findGuildInfo(int serverId, int guildId) throws Exception;
GsGuildInfoBeanVo findGuildInfo(int serverId, int guildId) throws Exception;
}

View File

@ -44,8 +44,7 @@ public class GsGuildDaoImpl implements GsGuildDao {
public List<GsGuildInfoBean> getGuildList(int serverId) throws Exception {
String dbName = MongoName.getMongoDBName(serverId);
MongoTemplate mongoTemplate = connect.getMongoTemplete(dbName);
Query query = new Query();
return mongoTemplate.find(query, GsGuildInfoBean.class);
return mongoTemplate.findAll(GsGuildInfoBean.class,GsGuildInfoBean._COLLECTION_NAME);
}
@Override
@ -60,18 +59,23 @@ public class GsGuildDaoImpl implements GsGuildDao {
for (GsGuildInfoBean bean : beans) {
GsGuildInfoBeanVo beanVo = new GsGuildInfoBeanVo(bean, serverId);
// 群员信息封装
getGuildMember(beanVo);
// getGuildMember(beanVo);
map.put(beanVo.getId(),beanVo);
}
return new ArrayList<>(map.values());
}
@Override
public GsGuildInfoBean findGuildInfo(int serverId, int guildId) throws Exception {
public GsGuildInfoBeanVo findGuildInfo(int serverId, int guildId) throws Exception {
// mongo查询
String dbName = MongoName.getMongoDBName(serverId);
MongoTemplate mongoTemplate = connect.getMongoTemplete(dbName);
Query query = new Query(Criteria.where("_id").is(guildId));
return mongoTemplate.findOne(query, GsGuildInfoBean.class);
Query query = new Query(Criteria.where("id").is(guildId));
GsGuildInfoBean bean = mongoTemplate.findOne(query, GsGuildInfoBean.class,GsGuildInfoBean._COLLECTION_NAME);
// 封装群员信息
GsGuildInfoBeanVo beanVo = new GsGuildInfoBeanVo(bean, serverId);
getGuildMember(beanVo);
return beanVo;
}
/**

View File

@ -42,12 +42,12 @@ public enum PowersEnum {
NOTICE_INFO(406,"公告信息",400,1,"noticeInfos"),
ADD_WHITELIST_ACCOUNT(407,"添加白名单账号",400,1,"/html/add_white_list.html"),
DELETE_WHITELIST(408,"删除白名单",400,1,"getAllWhites"),
ADD_WHITELIST_ACCOUNT_HERO(409,"添加白名单账号英雄",400,1,"addHeroPage"),
ADD_WHITELIST_ACCOUNT_HERO(409,"添加白名单账号英雄",400,0,"addHeroPage"),
GUILD_LIST_MANAGER(410,"公会列表管理",400,1,"initGuildList"),
GUILD_OPERATE_PERMISSIONS(411,"权限: 操作公会",400,1,""),
USER_INFO_QUERY1(412,"角色神将查询",400,1,"toGetHeroInfoPage"),
SEND_MAILS(413,"发送txt里的邮件",400,1,"toSendMailInfoPage"),
USER_INFO_QUERY1(412,"角色神将查询",400,0,"toGetHeroInfoPage"),
SEND_MAILS(413,"发送txt里的邮件",400,0,"toSendMailInfoPage"),
// 流水日志管理500-599
BILL_LOG(500,"流水日志管理",500,1,""),
@ -60,7 +60,7 @@ public enum PowersEnum {
BANNED_LIST(601,"封禁列表",600,1,"bannedList"),
BANNED_OPERATION(602,"禁言/踢下线/禁登陆",600,1,"toGameTitle?type=1"),
UPDATE_USERNAME(603,"修改角色名",600,1,"toGameTitle?type=2"),
// BANNER_ACCOUNT_BY_OPENID(604,"封号(openId)",600,1,""),
BANNER_ACCOUNT_BY_OPENID(604,"封号(openId)",600,0,""),
// 信息管理700-799
INFO_MANAGER(700,"信息管理",700,1,""),
@ -89,7 +89,8 @@ public enum PowersEnum {
SUPPORT_PLAN_SELECT(1104,"扶持进度查看",1100,1,"supportPlanList"),
PASS_SUPPORT_PERMISSIONS(1105,"权限: 通过扶持权限",1100,0,""),
DELETE_SUPPORT_ACCOUNT_PERMISSIONS(1106,"权限: 删除扶持账号",1100,0,""),
//功能封禁
//功能封禁--todo:没做完暂时隐藏展示将show的0改成1
BAN_FUNCTION(1201,"功能封禁",1201,1,""),
BAN_FUNCTION_ACTION(1202,"功能封禁操作",1201,1,"/html/banFunction.html"),
//太初密卷

View File

@ -18,17 +18,12 @@
<link rel="stylesheet" type="text/css" href="h-ui.admin/css/style.css"/>
<link rel="stylesheet" type="text/css" href="bulletFrame/css/bullet.css"/>
<!-- 多选框 -->
<link href="../static/searchableSelect/css/jquery.searchableSelect.css" rel="stylesheet" type="text/css">
<link rel="stylesheet" type="text/css" href="https://apps.bdimg.com/libs/bootstrap/3.3.4/css/bootstrap.css">
<link href="../static/bootstrap/css/bootstrap-select.css" rel="stylesheet">
<script type="text/javascript" src="lib/DD_belatedPNG_0.0.8a-min.js"></script>
<script>DD_belatedPNG.fix('*');</script>
<title>公会列表管理</title>
</head>
<body>
<nav class="breadcrumb" style="height: 50px;">
<nav class="breadcrumb">
<i class="Hui-iconfont">&#xe67f;</i> 首页
<span class="c-gray en">&gt;</span> gm管理
<span class="c-gray en">&gt;</span> 公会列表管理
@ -39,15 +34,8 @@
<div class="page-container" style="text-align: center;">
<div class="text-c">
<div style="text-align: left;">
<!--多选服务器-->
<select name="serverId" class="selectpicker" id="serverId" multiple
data-live-search="true"
data-width="300px"
data-actions-box="true">
<option th:each="server:${serverInfo}" th:value="${server.server_id}"
th:text="${server.server_id}+'-'+${server.name}"></option>
</select>
<button class="btn btn-primary" type="button" onclick="selectGuilds()">搜索</button>
<div th:id="serverIds" style="float: left;width: 230px;"></div>
<button class="btn btn-secondary radius" style="margin-left: 10px;height: 40px;line-height: 40px;" type="button" onclick="selectGuilds()">搜索</button>
</div>
<!-- 表单 -->
<div class="mt-20">
@ -73,8 +61,8 @@
<td th:text="${obj.announce}" style="text-align: center;padding-top: 16px"></td>
<td th:text="${obj.getCreateTimeStr()}" style="text-align: center;padding-top: 16px"></td>
<td style="text-align: center;">
<button type="button" th:name="${obj.id}" th:id="'modalBtn_'+${obj.id}" class="btn btn-success"
onclick="memberInfo(this.name)">
<button type="button" th:name="${obj.serverId}" th:id="${obj.id}" class="btn btn-success"
onclick="memberInfo(this.id,this.name)">
<i class="Hui-iconfont"></i> 成员信息
</button>
<button type="button" th:id="${obj.id}" class="btn btn-primary"
@ -89,41 +77,6 @@
onclick="return updateGuildInfo(this.id,2)">
<i class="Hui-iconfont"></i> 修改公会宣言
</button>
<!-- 弹窗 -->
<div th:id="'simpleModal_'+${obj.id}" class="modal">
<div class="modal-content">
<div class="modal-header">
<span th:id="'closeBtn_'+${obj.id}" class="closeBtn">&times;</span>
<h2 th:text="${obj.name}"></h2>
</div>
<div class="modal-body">
<table id="memberTable" class="table table-border table-bordered table-bg table-hover table-sort2 table-responsive">
<thead>
<tr class="text-c">
<!--<th width="25"><input type="checkbox" name="" value=""/></th>-->
<th width="25">职位id</th>
<th width="200">职位</th>
<th width="200">玩家id</th>
<th width="200">玩家姓名</th>
</tr>
</thead>
<tbody>
<tr th:each="mem:${obj.getGuildMemberVoList()}">
<!--<td><input type="checkbox" value="" name=""/></td>-->
<td th:text="${mem.position}" style="text-align: center;"></td>
<td th:text="${mem.positionName}" style="text-align: center;"></td>
<td th:text="${mem.userId}" style="text-align: center;"></td>
<td th:text="${mem.userName}" style="text-align: center;"></td>
</tr>
</tbody>
</table>
</div>
<div class="modal-footer">
<h3>成员信息</h3>
</div>
</div>
</div>
</td>
</tr>
</tbody>
@ -144,11 +97,9 @@
<script type="text/javascript" src="lib/laypage/1.2/laypage.js"></script>
<!-- 多选框 -->
<script src="../static/bootstrap/js/bootstrap-select.js"></script>
<script type="text/javascript" src="../static/searchableSelect/js/jquery.searchableSelect.js"></script>
<script src="searchableSelect/js/initBootstrap.js"></script>
<script src="../static/xmSelect/js/xm-select.js"></script>
<script type="text/javascript">
<script th:inline="javascript">
$('.table-sort').dataTable({
"aaSorting": [[4, "desc"]],//默认第几个排序
"bStateSave": true,//状态保存
@ -159,9 +110,48 @@
]
});
var serverInfos = xmSelect.render({
el: '#serverIds', // div的id值
template({name, value}){
return name + '<span style="position: absolute; right: 10px; color: #8799a3">'+value+'</span>'
},
toolbar: { // 工具条【‘全选’,‘清空’】
show: true, // 开启工具条
showIcon: false, // 隐藏工具条的图标
},
tips: '选择服务器', // 让默认值不是“请选择”,而是“选择校区”
filterable: true, // 开启搜索模式默认按照name进行搜索
height:'260px',
model: {
label: {
type: 'block',
block: {
//最大显示数量, 0:不限制
showCount: 1,
//是否显示删除图标
showIcon: true,
}
}
},
prop: {
name: 'name',
value: 'server_id',
},
data: function () {
var infos = [[${serverInfos}]];
for (var i = infos.length - 1; i >= 0; i--) {
// 删除掉所有为2的元素
if(infos[i].statusInt == -2) {
infos.splice(i, 1);
}
}
return infos;
},
});
// 查询公会
function selectGuilds() {
var serverId = $("#serverId").val().toString();
var serverId = serverInfos.getValue('valueStr');
if (serverId === '' || serverId == null) {
alert("服务器id不能为空");
return false;
@ -170,60 +160,8 @@
}
// 成员信息
function memberInfo(id){
// 获取弹窗元素
var modal = document.getElementById("simpleModal_"+id);
// 获取按钮元素
var modalBtn = document.getElementById("modalBtn_"+id);
// 获取关闭弹窗按钮元素
var closeBtn = document.getElementById("closeBtn_"+id);
// 监听打开弹窗事件
modalBtn.addEventListener("click", openModal);
// 监听关闭弹窗事件
closeBtn.addEventListener("click", closeModal);
// 监听window关闭弹窗事件
window.addEventListener("click", outsideClick);
// 弹窗事件
function openModal() {
modal.style.display = "block";
}
// 关闭弹框事件
function closeModal() {
modal.style.display = "none";
}
// outsideClick
function outsideClick(e) {
if (e.target == modal) {
modal.style.display = "none";
}
}
}
// 存储所有表格信息
var lawtableMap = new Map();
// 页面启动时加载
window.onload = function () {
//获取所有的table
var lawtable = document.getElementById("lawtable");
//获取所有行
var rows = lawtable.rows;
for (var i = 1; i < rows.length; i++) {
let row = rows[i];
var id = row.cells[0].innerText;
// 存储到map,方便之后调用
lawtableMap.put(id,row);
// 加载监听
memberInfo(id);
}
function memberInfo(id,name){
window.location = "/findGuildMemberInfo?guildId=" + id + "&serverId="+name;
}
/**

View File

@ -0,0 +1,229 @@
<!DOCTYPE HTML>
<!--suppress ALL -->
<html xmlns:th="http://www.thymeleaf.org">
<head>
<meta charset="utf-8"/>
<meta name="renderer" content="webkit|ie-comp|ie-stand"/>
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"/>
<meta name="viewport"
content="width=device-width,initial-scale=1,minimum-scale=1.0,maximum-scale=1.0,user-scalable=no"/>
<meta http-equiv="Cache-Control" content="no-siteapp"/>
<script type="text/javascript" src="lib/html5shiv.js"></script>
<script type="text/javascript" src="lib/respond.min.js"></script>
<![endif]-->
<link rel="stylesheet" type="text/css" href="h-ui/css/H-ui.min.css"/>
<link rel="stylesheet" type="text/css" href="h-ui.admin/css/H-ui.admin.css"/>
<link rel="stylesheet" type="text/css" href="lib/Hui-iconfont/1.0.8/iconfont.css"/>
<link rel="stylesheet" type="text/css" href="h-ui.admin/skin/default/skin.css" id="skin"/>
<link rel="stylesheet" type="text/css" href="h-ui.admin/css/style.css"/>
<link rel="stylesheet" type="text/css" href="bulletFrame/css/bullet.css"/>
<script type="text/javascript" src="lib/DD_belatedPNG_0.0.8a-min.js"></script>
<script>DD_belatedPNG.fix('*');</script>
<title>公会成员信息</title>
</head>
<body>
<nav class="breadcrumb"">
<a href="javascript:;" onclick="history.go(-2)">
<i class="Hui-iconfont">&#xe67f;</i> 首页
</a>
<a href="javascript:;" onclick="history.go(-1)">
<span class="c-gray en">&gt;</span> 公会列表管理
</a>
<span class="c-gray en">&gt;</span> 公会成员信息
<a class="btn btn-success radius r" style="line-height:1.6em;margin-top:3px"
href="javascript:location.replace(location.href);" title="刷新"><i class="Hui-iconfont">&#xe68f;</i></a>
</nav>
<h2 class="mt-20" style="text-align: center">
<span style="color:red;" th:text="${guildInfo.name}"></span>
</h2>
<div class="page-container" style="text-align: center;">
<div class="text-c">
<!-- 表单 -->
<div class="mt-20">
<table id="lawtable" class="table table-border table-bordered table-bg table-hover table-sort table-responsive">
<thead>
<tr class="text-c">
<!--<th width="25"><input type="checkbox" name="" value=""/></th>-->
<th width="25">职位id</th>
<th width="200">职位</th>
<th width="200">玩家id</th>
<th width="200">玩家姓名</th>
</tr>
</thead>
<tbody>
<tr th:each="mem:${guildInfo.guildMemberVoList}">
<!--<td><input type="checkbox" value="" name=""/></td>-->
<td th:text="${mem.position}" style="text-align: center;"></td>
<td th:text="${mem.positionName}" style="text-align: center;"></td>
<td th:text="${mem.userId}" style="text-align: center;"></td>
<td th:text="${mem.userName}" style="text-align: center;"></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<!--_footer 作为公共模版分离出去-->
<script type="text/javascript" src="lib/jquery/1.9.1/jquery.min.js"></script>
<script type="text/javascript" src="lib/layer/2.4/layer.js"></script>
<script type="text/javascript" src="h-ui/js/H-ui.min.js"></script>
<script type="text/javascript" src="h-ui.admin/js/H-ui.admin.js"></script> <!--/_footer 作为公共模版分离出去-->
<script type="text/javascript" src="bulletFrame/js/map.js"></script>
<!--请在下方写此页面业务相关的脚本-->
<script type="text/javascript" src="lib/My97DatePicker/4.8/WdatePicker.js"></script>
<script type="text/javascript" src="lib/datatables/1.10.0/jquery.dataTables.min.js"></script>
<script type="text/javascript" src="lib/laypage/1.2/laypage.js"></script>
<!-- 多选框 -->
<script src="../static/xmSelect/js/xm-select.js"></script>
<script th:inline="javascript">
$('.table-sort').dataTable({
"aaSorting": [[4, "desc"]],//默认第几个排序
"bStateSave": true,//状态保存
"pading": false,
"aoColumnDefs": [
//{"bVisible": false, "aTargets": [ 3 ]} //控制列的隐藏显示
{"orderable": false, "aTargets": [2,3]}// 不参与排序的列
]
});
// // 页面启动时加载
// window.onload = function () {
// var guild = [[${guildInfo}]];
// document.getElementById("guildName").innerText = guild.getName();
// }
var serverInfos = xmSelect.render({
el: '#serverIds', // div的id值
template({name, value}){
return name + '<span style="position: absolute; right: 10px; color: #8799a3">'+value+'</span>'
},
toolbar: { // 工具条【‘全选’,‘清空’】
show: true, // 开启工具条
showIcon: false, // 隐藏工具条的图标
},
tips: '选择服务器', // 让默认值不是“请选择”,而是“选择校区”
filterable: true, // 开启搜索模式默认按照name进行搜索
height:'260px',
model: {
label: {
type: 'block',
block: {
//最大显示数量, 0:不限制
showCount: 1,
//是否显示删除图标
showIcon: true,
}
}
},
prop: {
name: 'name',
value: 'server_id',
},
data: function () {
var infos = [[${serverInfos}]];
for (var i = infos.length - 1; i >= 0; i--) {
// 删除掉所有为2的元素
if(infos[i].statusInt == -2) {
infos.splice(i, 1);
}
}
return infos;
},
});
// 查询公会
function selectGuilds() {
var serverId = serverInfos.getValue('valueStr');
if (serverId === '' || serverId == null) {
alert("服务器id不能为空");
return false;
}
window.location.href = '/guildListManager?serverId='+serverId;
}
// 成员信息
function memberInfo(id,name){
window.location = "/findGuildMemberInfo?id=" + id + "&serverId="+name;
}
/**
* 修改公会信息
* @param obj
* @param type
*/
function updateGuildInfo(id, type) {
// var pattern = new RegExp("[`~!@#$^&*()=|{}':;',\\[\\].<>/?~@#¥……&*()——|{}【】‘;:”“'。,、? ]");
// alert(id);
var content = prompt("请输入");
if (content != null && content != "") {
if (type == 1){
if (content.length < 2 || content.length > 7){
alert("公会名字长度需要在2-7之间");
return;
}
} else if (type == 2){
if (content.length <= 0 || content.length > 32){
alert("公会宣言长度需要在1-32之间");
return;
}
}
// 从map获取数据
let newVar = lawtableMap.get(id);
var serverId = newVar.cells[1].innerText;
// 发送ajax
send(id, type, serverId, content);
}
}
// 解散
function updateGuildInfo2(id, type) {
// alert(id);
var content = confirm("是否确认解散公会?");
if (content == true) {
// 从map获取数据
let newVar = lawtableMap.get(id);
var serverId = newVar.cells[1].innerText;
// 发送ajax
send(id, type, serverId, content);
}
}
function send(id, type, serverId, content) {
// alert(id);
$.ajax({
type: "POST",
data: {
"guildId": id,
"type": type,
"serverId": serverId,
"content": content
},
url: "/updateGuildInfo",
success: function (data) {
if (data === 1) {
layer.msg('操作成功!', {icon: 6, time: 3000});
setTimeout(window.location.reload(),1000);
}
if (data === 0) {
layer.msg('操作失败!', {icon: 6, time: 1000});
}
if (data === 2) {
layer.msg('参数错误!', {icon: 6, time: 1000});
}
if (data === 3) {
layer.msg('没有权限!', {icon: 6, time: 1000});
}
if (data === 4) {
layer.msg('游戏服修改报错!', {icon: 6, time: 1000});
}
}
}
)
}
</script>
</body>
</html>

View File

@ -33,13 +33,21 @@
发送GM
<a class="btn btn-success radius r" style="line-height:1.6em;margin-top:3px" href="javascript:location.replace(location.href);" title="刷新" ><i class="Hui-iconfont">&#xe68f;</i></a>
</nav>
<div class="page-container text-c">
<h2 style="text-align: center"><span style="color:red;">发送GM</span></h2>
<div class="page-container">
<div class="tabBar cl">
<span>发送GM</span>
</div>
<div class="row cl">
<div th:id="serverIds" style="width: 230px;margin-left: 80px;"></div>
<input type="text" name="content" style="height: 36px;line-height: 36px;width: 500px; float: left; margin: 20px 0 0 80px;" placeholder="发送内容(不能为空)" class="input-text"/>
<div>
<button class="btn btn-primary radius" style="font-size: 15px;margin-top: 80px; float: left" onclick="sub()">
<div style="float: left;margin-right: 50px;">
<span style="color: red;float: left;font-size: 15px;margin-left: 80px;height: 45px;line-height: 36px;">服务器列表:</span>
<div th:id="serverIds" style="width: 230px;margin-left: 10px;float: left"></div>
</div>
<div style="margin: 20px 0 0 80px;padding-top: 50px;">
<span style="color: red;font-size: 15px;">GM 命令:</span>
<input type="text" name="content" style="height: 36px;line-height: 36px;width: 500px; margin: 0 0 0 21px;" placeholder="发送内容(不能为空)" class="input-text"/>
</div>
<div style="margin: 30px 0 0 80px;">
<button class="btn btn-primary radius" style="font-size: 15px; float: left" onclick="sub()">
<i class="Hui-iconfont">&#xe665;</i>提交
</button>
</div>

View File

@ -34,17 +34,20 @@
<a class="btn btn-success radius r" style="line-height:1.6em;margin-top:3px" href="javascript:location.replace(location.href);" title="刷新" ><i class="Hui-iconfont">&#xe68f;</i></a>
</nav>
<div class="page-container">
<h2 style="text-align: center"><span style="color:red;">批量修改服务器信息</span></h2>
<div th:id="serverIds" style="width: 230px;"></div>
<div class="row cl" style="margin-top: 20px;">
<label class="form-label col-xs-1" style="margin-left: 7px" title="未运营状态的服务器可以立即修改,其他状态下服务器会在下周一零点生效">
跨服id修改
</label>
<input type="number" id="crossId" style="width: 150px;" value="0" title="" class="input-text"/>
<button class="btn btn-primary radius" style="font-size: 15px; margin-left: 10px;" onclick="updateCrossId()"> 提交
</button>
<div class="tabBar cl">
<span>批量修改服务器信息</span>
</div>
<div class="row cl">
<div style="float: left;margin-right: 50px;">
<span style="color: red;float: left;font-size: 15px;margin-left: 80px;height: 45px;line-height: 36px;">服务器列表:</span>
<div th:id="serverIds" style="width: 230px;margin-left: 10px;float: left"></div>
</div>
<div style="margin: 20px 0 0 80px;padding-top: 50px;">
<span style="color: red;font-size: 15px;">跨服id修改</span>
<input type="number" style="height: 36px;line-height: 36px;width: 260px; margin: 0 0 0 10px;" placeholder="跨服id输入数字" class="input-text"/>
<button class="btn btn-primary radius" style="font-size: 15px; margin-left: 10px;" onclick="updateCrossId()"> 提交</button>
</div>
</div>
<iframe name='sendGM' id="sendGM" style='display: none'></iframe>
</div>

View File

@ -27,8 +27,14 @@
</div>
<div style="margin-left: 20px;font-size: 18px">
<div>
<h2 style="color: red" class="f-36">更新日志[2022-8-29]</h2>
<h2 style="color: red" class="f-36">更新日志[2022-9-26]</h2>
<p class="f-20" style="line-height:32px;">
1、工会列表查询功能优化成员信息界面修改为单独页面展示<br>
2、部分页面展示bug修改<br>
</p>
<h2 style="color: red" class="f-18">更新日志[2022-8-29]</h2>
<p class="f-14" style="line-height:32px;">
1、修改了部分界面的“服务器多选框”的样式兼容手机页面<br>
2、修改了服务器信息界面部分按钮的配色<br>
3、服务器信息修改界面给需要注意的修改内容标红提醒<br>