Commit 52119ae9 authored by yangshuxing's avatar yangshuxing

添加菜单、外部链接、确认函

parent 88965029
...@@ -19,9 +19,18 @@ public class Func { ...@@ -19,9 +19,18 @@ public class Func {
"4:参赛手册 5:我的照片 6:联系检录" + "4:参赛手册 5:我的照片 6:联系检录" +
"7:路线下载8:强制装备9:路线导入" + "7:路线下载8:强制装备9:路线导入" +
"10:我的成绩", allowableValues = "1~12") "10:我的成绩", allowableValues = "1~12")
private String nameWeb;
private String appId;
private String url;
private Integer type; private Integer type;
@ApiModelProperty(value = "可见性") @ApiModelProperty(value = "可见性")
private Integer visibility; private Integer visibility;
@ApiModelProperty(value = "序列") @ApiModelProperty(value = "序列")
private Integer seq; private Integer seq;
......
package com.dlbridge.jadp.plugins.cmpt.dao.mapper; package com.dlbridge.jadp.plugins.cmpt.dao.mapper;
import java.util.List;
import java.util.Map;
import com.dlbridge.jadp.plugins.cmpt.bean.CmptSettingTemplate; import com.dlbridge.jadp.plugins.cmpt.bean.CmptSettingTemplate;
import com.dlbridge.jadp.plugins.cmpt.bean.Func; import com.dlbridge.jadp.plugins.cmpt.bean.Func;
import com.dlbridge.jadp.plugins.cmpt.bean.SettingTemplate; import com.dlbridge.jadp.plugins.cmpt.bean.SettingTemplate;
import com.dlbridge.jadp.plugins.cmpt.dao.model.CmptSetting;
import org.apache.ibatis.annotations.Param; import org.apache.ibatis.annotations.Param;
import com.dlbridge.jadp.plugins.cmpt.dao.model.CmptSetting; import java.util.List;
import java.util.Map;
/** /**
* 赛事活动接口 * 赛事活动接口
...@@ -21,7 +20,7 @@ public interface CmptSettingMapper { ...@@ -21,7 +20,7 @@ public interface CmptSettingMapper {
List<Map<String, Object>> queryHomePageSettingByCmptId(@Param(value = "cmptId") String cmptId); List<Map<String, Object>> queryHomePageSettingByCmptId(@Param(value = "cmptId") String cmptId);
public void updateById(CmptSetting cmptSetting); void updateById(CmptSetting cmptSetting);
List<Func> queryFuncs(int cmpId); List<Func> queryFuncs(int cmpId);
...@@ -48,4 +47,8 @@ public interface CmptSettingMapper { ...@@ -48,4 +47,8 @@ public interface CmptSettingMapper {
* @return * @return
*/ */
int getCmptSettingsVisibilityByCmptIdAndType(int cmptId,int type); int getCmptSettingsVisibilityByCmptIdAndType(int cmptId,int type);
Func getCmptSettingsByCmptIdAndType(@Param("cmptId") int cmptId,@Param("type") int type);
void update(@Param("func") Func func);
} }
...@@ -56,6 +56,7 @@ ...@@ -56,6 +56,7 @@
id, id,
cmptid, cmptid,
name, name,
name_web,
type, type,
status, status,
visibility, visibility,
...@@ -67,6 +68,7 @@ ...@@ -67,6 +68,7 @@
#{id}, #{id},
#{cmptId}, #{cmptId},
#{name}, #{name},
#{name},
#{type}, #{type},
#{status}, #{status},
#{visibility}, #{visibility},
...@@ -78,20 +80,25 @@ ...@@ -78,20 +80,25 @@
</insert> </insert>
<update id="update"> <update id="update">
UPDATE gk_cmptsetting SET UPDATE gk_cmptsetting
id = #{id}, <set>
cmptid = #{cmptId}, <if test="func.nameWeb != null">
name = #{name}, name_web = #{func.nameWeb},
type = #{type}, </if>
status = #{status}, <if test="func.seq != null">
visibility = #{visibility}, seq = #{func.seq},
seq = #{seq}, </if>
create_by = #{createBy}, <if test="func.visibility != null">
create_date = #{createDate}, visibility = #{func.visibility},
update_by = #{updateBy}, </if>
update_date = #{updateDate}, <if test="func.appId != null">
del_flag = #{delFlag} app_id = #{func.appId},
WHERE id = #{id} </if>
<if test="func.url != null">
url = #{func.url}
</if>
</set>
WHERE id = #{func.id}
</update> </update>
...@@ -113,7 +120,7 @@ ...@@ -113,7 +120,7 @@
</update> </update>
<select id="queryFuncs" resultType="com.dlbridge.jadp.plugins.cmpt.bean.Func"> <select id="queryFuncs" resultType="com.dlbridge.jadp.plugins.cmpt.bean.Func">
select id,cmptid cmptId,name,type,visibility,seq select id,cmptid cmptId,name,type,visibility,seq,app_id appId,url,name_web nameWeb
from gk_cmptsetting from gk_cmptsetting
where cmptid = #{cmptId} and visibility=1 and del_flag=0 and status>0 where cmptid = #{cmptId} and visibility=1 and del_flag=0 and status>0
order by seq order by seq
...@@ -121,7 +128,7 @@ ...@@ -121,7 +128,7 @@
</select> </select>
<select id="queryAllFuncs" resultType="com.dlbridge.jadp.plugins.cmpt.bean.Func"> <select id="queryAllFuncs" resultType="com.dlbridge.jadp.plugins.cmpt.bean.Func">
select id,cmptid cmptId,name,type,visibility,seq select id,cmptid cmptId,name,type,visibility,seq,app_id appId,url,name_web nameWeb
from gk_cmptsetting from gk_cmptsetting
where cmptid = #{cmptId} and visibility=1 and del_flag=0 and status=1 where cmptid = #{cmptId} and visibility=1 and del_flag=0 and status=1
order by seq order by seq
...@@ -134,8 +141,8 @@ ...@@ -134,8 +141,8 @@
</update> </update>
<insert id="initCmptSettings"> <insert id="initCmptSettings">
insert into gk_cmptsetting (id,cmptid,name, type,visibility,status,style,seq,create_date) insert into gk_cmptsetting (id,cmptid,name,name_web, type,visibility,status,style,seq,create_date)
select MD5(UUID()),#{cmptId},name, type,visibility,status,style,seq,now() from gk_cmptsetting_template select MD5(UUID()),#{cmptId},name,name, type,visibility,status,style,seq,now() from gk_cmptsetting_template
</insert> </insert>
<select id="getCommonEnrollCmptId" resultType="java.lang.Integer"> <select id="getCommonEnrollCmptId" resultType="java.lang.Integer">
...@@ -167,5 +174,10 @@ ...@@ -167,5 +174,10 @@
WHERE cmptid = #{cmptId} and type=#{type} and del_flag=0 limit 1 WHERE cmptid = #{cmptId} and type=#{type} and del_flag=0 limit 1
</select> </select>
<select id="getCmptSettingsByCmptIdAndType" resultType="com.dlbridge.jadp.plugins.cmpt.bean.Func">
select id,cmptid cmptId,name,type,visibility,seq,app_id appId,url,name_web nameWeb
from gk_cmptsetting
where cmptid = #{cmptId} and type=#{type}
limit 1
</select>
</mapper> </mapper>
\ No newline at end of file
package com.dlbridge.jadp.plugins.cmpt.dao.model; package com.dlbridge.jadp.plugins.cmpt.dao.model;
import com.dlbridge.jadp.plugins.cmpt.bean.Func;
import org.hibernate.validator.constraints.Length;
import com.dlbridge.jadp.common.persistence.JaapRecord; import com.dlbridge.jadp.common.persistence.JaapRecord;
import org.hibernate.validator.constraints.Length;
import java.util.List;
public class CmptSetting extends JaapRecord<CmptSetting> { public class CmptSetting extends JaapRecord<CmptSetting> {
...@@ -15,12 +11,21 @@ public class CmptSetting extends JaapRecord<CmptSetting> { ...@@ -15,12 +11,21 @@ public class CmptSetting extends JaapRecord<CmptSetting> {
private String id; // 活动ID private String id; // 活动ID
private String cmptId; // 赛事ID private String cmptId; // 赛事ID
private String name; // 活动名字 private String name; // 活动名字
private String nameWeb; // 活动名字
private String visibility; // 是否启用 0:不启用 1:启用 private String visibility; // 是否启用 0:不启用 1:启用
private Integer type; private Integer type;
private String seq; // 顺序 private String seq; // 顺序
private String style; private String style;
private int status; private int status;
public String getNameWeb() {
return nameWeb;
}
public void setNameWeb(String nameWeb) {
this.nameWeb = nameWeb;
}
public String getId() { public String getId() {
return id; return id;
} }
......
package com.dlbridge.jadp.plugins.cmpt.service; package com.dlbridge.jadp.plugins.cmpt.service;
import java.util.List;
import java.util.Map;
import com.dlbridge.jadp.plugins.cmpt.bean.CmptSettingTemplate; import com.dlbridge.jadp.plugins.cmpt.bean.CmptSettingTemplate;
import com.dlbridge.jadp.plugins.cmpt.bean.Func; import com.dlbridge.jadp.plugins.cmpt.bean.Func;
import com.dlbridge.jadp.plugins.cmpt.bean.SettingTemplate; import com.dlbridge.jadp.plugins.cmpt.bean.SettingTemplate;
import com.dlbridge.jadp.plugins.cmpt.dao.mapper.CmptSettingMapper; import com.dlbridge.jadp.plugins.cmpt.dao.mapper.CmptSettingMapper;
import com.dlbridge.jadp.plugins.cmpt.dao.model.CmptSetting;
import org.apache.commons.lang3.StringUtils;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
import com.dlbridge.jadp.plugins.cmpt.dao.model.CmptSetting;
import javax.annotation.Resource; import javax.annotation.Resource;
import java.util.List;
import java.util.Map;
/** /**
* 赛事活动 * 赛事活动
...@@ -92,4 +91,13 @@ public class CmptSettingService { ...@@ -92,4 +91,13 @@ public class CmptSettingService {
return cmptSettingMapper.getCmptSettingsVisibilityByCmptIdAndType(cmptId,type); return cmptSettingMapper.getCmptSettingsVisibilityByCmptIdAndType(cmptId,type);
} }
public Func getCmptSettingsByCmptIdAndType(int cmptId, int type) {
return cmptSettingMapper.getCmptSettingsByCmptIdAndType(cmptId,type);
}
public void saveOrUpdate(Func func) {
if(StringUtils.isNotBlank(func.getId())){
cmptSettingMapper.update(func);
}
}
} }
...@@ -115,6 +115,7 @@ public class CmptSettingController { ...@@ -115,6 +115,7 @@ public class CmptSettingController {
setting.setCmptId(item.getCmptId()+""); setting.setCmptId(item.getCmptId()+"");
setting.setId(UUID.randomUUID().toString().replace("-","")); setting.setId(UUID.randomUUID().toString().replace("-",""));
setting.setName(it.getName()+""); setting.setName(it.getName()+"");
setting.setNameWeb(it.getName()+"");
setting.setSeq(it.getSeq()+""); setting.setSeq(it.getSeq()+"");
setting.setStatus(it.getStatus()); setting.setStatus(it.getStatus());
setting.setStyle(it.getStyle()); setting.setStyle(it.getStyle());
......
package com.dlbridge.jadp.plugins.cmpt.web;
import com.dlbridge.jadp.common.interceptor.PageView;
import com.dlbridge.jadp.plugins.cmpt.dao.model.Cmpt;
import com.dlbridge.jadp.plugins.cmpt.service.CmptService;
import com.dlbridge.jadp.plugins.cmpt.service.RemoteService;
import lombok.extern.log4j.Log4j2;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.servlet.ModelAndView;
import springfox.documentation.annotations.ApiIgnore;
import javax.annotation.Resource;
@Controller
@Log4j2
@RequestMapping("gk/outter-link/")
@ApiIgnore
public class OutterLinkController {
@Resource
private CmptService cmptService;
@Resource
private RemoteService remoteService;
@RequestMapping("index/{cmptId}")
@PageView
public ModelAndView getAlbumCounts(@PathVariable("cmptId") Integer cmptId, ModelAndView mv) {
Cmpt cmpt = cmptService.queryCmptBycmptId(cmptId);
mv.addObject("cmpt", cmpt);
mv.setViewName("cmpt/outter-link");
return mv;
}
}
package com.dlbridge.jadp.plugins.cmpt.web;
import com.dlbridge.jadp.common.interceptor.PageView;
import com.dlbridge.jadp.plugins.cmpt.bean.Func;
import com.dlbridge.jadp.plugins.cmpt.dao.model.Cmpt;
import com.dlbridge.jadp.plugins.cmpt.service.CmptService;
import com.dlbridge.jadp.plugins.cmpt.service.CmptSettingService;
import com.neusoft.www.utils.web.Result;
import lombok.extern.log4j.Log4j2;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.servlet.ModelAndView;
import springfox.documentation.annotations.ApiIgnore;
import javax.annotation.Resource;
@Controller
@Log4j2
@RequestMapping("gk/sure-letter/")
@ApiIgnore
public class SureLetterController {
@Resource
private CmptService cmptService;
@Resource
private CmptSettingService cmptSettingService;
@RequestMapping("index/{cmptId}")
@PageView
public ModelAndView getAlbumCounts(@PathVariable("cmptId") Integer cmptId, ModelAndView mv) {
Cmpt cmpt = cmptService.queryCmptBycmptId(cmptId);
mv.addObject("cmpt", cmpt);
mv.setViewName("cmpt/sure-letter");
return mv;
}
@RequestMapping("/getFunc")
@ResponseBody
public Result getFunc(@RequestParam("type") int type,
@RequestParam("cmptId") int cmptId) {
Func func = cmptSettingService.getCmptSettingsByCmptIdAndType(cmptId,type);
return Result.success().setContent(func);
}
@RequestMapping("/updateName")
@ResponseBody
public Result updateName(Func func) {
cmptSettingService.saveOrUpdate(func);
return Result.success().setContent(1);
}
}
spring.datasource.type=com.alibaba.druid.pool.DruidDataSource
spring.datasource.password=mysql_master_geexek_408
spring.datasource.username=mysql_master
spring.datasource.driver-class-name=com.mysql.jdbc.Driver
spring.datasource.url=jdbc:mysql://rm-bp15ojs1ys1eur32z.mysql.rds.aliyuncs.com:3306/gksite?autoReconnect=true&useUnicode=true&characterEncoding=utf-8&zeroDateTimeBehavior=convertToNull&allowMultiQueries=true
mybatis.typeAliasesPackage=com.dlbridge.jadp.plugins
mybatis.mapperLocations=classpath:com/dlbridge/jadp/**/**.xml
mybatis.configuration.map-underscore-to-camel-case=true
mybatis.configuration.jdbc-type-for-null=null
server.port=9801
charset_name=UTF-8
#\u8BBE\u7F6E\u73AF\u5883\u914D\u7F6E
#spring.profiles.active=dev
#http encoding
spring.http.encoding.charset=UTF-8
spring.http.encoding.enabled=true
spring.http.encoding.force=true
logging.file=./logs/gksite.log
#\u5173\u95ED\u542F\u52A8Logo
spring.main.banner-mode=off
#\u4ea7\u54c1\u4fe1\u606f\u8bbe\u7f6e
productName=jBridge\u5feb\u901f\u5f00\u53d1\u5e73\u53f0
#\u8BBE\u7F6Emvc\u9875\u9762\u8DF3\u8F6C
spring.mvc.view.prefix=/WEB-INF/views/
spring.mvc.view.suffix=.jsp
spring.freemarker.template-loader-path=classpath:/templates
spring.resources.static-locations=/static/
spring.mvc.static-path-pattern=/**
security.basic.enabled=false
management.security.enabled=false
##scheduler
spring.task.scheduler.pool=10
spring.task.thread=spring-task-thread
#\u542F\u52A8\u62A5\u9519class path resource [processes/] cannot be resolved to URL because it does not exist
spring.activiti.check-process-definitions=false
#\u5206\u9875\u914d\u7f6e
page.pageSize=30
#pagehelper\u5206\u9875\u63D2\u4EF6\u914D\u7F6E
pagehelper.helperDialect=mysql
pagehelper.reasonable=true
pagehelper.supportMethodsArguments=true
pagehelper.params=count=countSql
weixin.micro.appid=wx96ce27826f39cdb3
weixin.micro.secret=11bfc4902e7c992b57a2cdcfeded623f
geexek.user.url=https://test.geexek.com.cn/
geexek.cmpt.url=https://testtimerbackend.geexek.cn/
geexek.shamus.url=http://shamus.geexek.com.cn/
timer.url=http://testtimer.geexek.cn/
server.url=http://testzs.geexek.com.cn/
server.url.https=https://testzs.geexek.com.cn/
spring.redis.cluster.max-redirects=3
spring.redis.cluster.nodes=172.16.214.235:7001,172.16.214.235:7002,172.16.214.235:7003
spring.servlet.multipart.max-file-size=10Mb
spring.servlet.multipart.enabled=true
spring.servlet.multipart.max-request-size=50Mb
spring.application.name=micro-gksite
ribbon.eureka.enable=true
#feign调用连接超时时间
feign.client.config.default.connect-timeout=2000
#feign调用读取超时时间
feign.client.config.default.readTimeout=2000
#feign调用的log 等级
feign.client.config.default.loggerLevel=basic
feign.okhttp.enabled=true
feign.hystrix.enabled=true
#feign.compression.request.enabled=true
#feign.compression.request.mime-types=text/xml,application/xml,application/json
#feign.compression.request.min-request-size=2048
hystrix.metrics.enabled=true
hystrix.command.default.execution.timeout.enabled=true
hystrix.command.default.execution.isolation.thread.timeoutInMilliseconds=2000
hystrix.threadpool.default.coreSize=200
hystrix.threadpool.default.maxQueueSize=1000
hystrix.threadpool.default.queueSizeRejectionThreshold=800
logging.level.com.dlbridge.feign.NewsService=info
logging.level.org.springframework.cloud.openfeign=info
spring.zipkin.base-url=http://10.29.116.151:9001
spring.sleuth.sampler.probability=0.1
spring.zipkin.sender.type=web
swagger.enable=false
base.url=http://testzs.geexek.com.cn/
spring.cloud.nacos.server-addr=https://nacos.geexek.com
spring.cloud.nacos.discovery.group=production
#spring.cloud.sentinel.servlet.blockPage=test
spring.cloud.sentinel.transport.dashboard=https://nacos.geexek.com
spring.cloud.sentinel.transport.port=8719
spring.cloud.sentinel.eager=true
spring.cloud.sentinel.filter.enabled=false
spring.cloud.sentinel.skip-keys=cmptId
spring.cloud.sentinel.exclude-urls=/static/**,**.css,**.js
## nacos 地址
spring.cloud.sentinel.datasource.ds.nacos.server-addr=https://nacos.geexek.com
spring.cloud.sentinel.datasource.ds.nacos.dataId=micro-gksite-sentinel
spring.cloud.sentinel.datasource.ds.nacos.data-type=json
spring.cloud.sentinel.datasource.ds.nacos.groupId=production
#spring.cloud.sentinel.datasource.ds1.nacos.namespace=fad8a39-a3e7-49a1-ae96-0f7aaf39136b
#
## 规则类型
spring.cloud.sentinel.datasource.ds.nacos.rule-type=flow
<%@ page language="java" contentType="text/html; charset=utf-8" pageEncoding="utf-8" %>
<%@ include file="/WEB-INF/views/include/taglib.jsp" %>
<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %>
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %>
<!doctype html>
<html>
<head>
<title>外部链接</title>
<!-- Bootstrap CSS-->
<link rel="stylesheet" href="${ctxStatic}/newdermon/vendor/bootstrap/css/bootstrap.min.css">
<!-- Font Awesome CSS-->
<link rel="stylesheet" href="${ctxStatic}/newdermon/vendor/font-awesome/css/font-awesome.min.css">
<!-- Fontastic Custom icon font-->
<link rel="stylesheet" href="${ctxStatic}/newdermon/css/fontastic.css">
<!-- Google fonts - Poppins -->
<link rel="stylesheet" href="${ctxStatic}/newdermon/css/font-css.css">
<!-- theme stylesheet-->
<link rel="stylesheet" href="${ctxStatic}/newdermon/css/style.default.css?v=<%=System.currentTimeMillis()%>" id="theme-stylesheet">
<!-- Custom stylesheet - for your changes-->
<link rel="stylesheet" href="${ctxStatic}/newdermon/css/custom.css?v=<%=System.currentTimeMillis()%>">
<link rel="stylesheet" href="${ctxStatic}/newdermon/css/juery-ui-1.12.css">
<!-- Favicon-->
<link rel="shortcut icon" href="img/favicon.ico">
<link rel="stylesheet" href="${ctxStatic}/newdermon/css/custom.css?v=<%=System.currentTimeMillis()%>">
<link rel="stylesheet" href="${ctxStatic}/newdermon/css/main.css?v=<%=System.currentTimeMillis()%>">
<link rel="stylesheet" href="${ctxStatic}/cmpt/setting.css?v=<%=System.currentTimeMillis()%>">
<link rel="stylesheet" href="${ctxStatic}/leaflet/css/leaflet.css?v=<%=System.currentTimeMillis()%>"/>
<link rel="stylesheet" href="${ctxStatic}/leaflet/css/leaflet_label.css"/>
<link rel="stylesheet" href="${ctxStatic}/cmpt/road.css?v=<%=System.currentTimeMillis()%>"/>
<link rel="stylesheet" href="${ctxStatic}/cmpt/road-new.css?v=<%=System.currentTimeMillis()%>"/>
<script src="${ctxStatic}/My97DatePicker/WdatePicker.js" type="text/javascript"></script>
<script src="${ctxStatic}/newdermon/vendor/jquery/jquery.min.js"></script>
<script type="text/javascript" charset="utf-8" src="${ctxStatic}/layer/layer.js"></script>
<link rel="stylesheet" href="${ctxStatic}/layer/skin/layer.css">
<style>
.submit{
display: inline-block;
width: 120px;
height: 45px;
text-align: center;
line-height: 45px;
color: white;
background: #ce3939;
border-radius: 4px;
letter-spacing: 1px;
cursor: pointer;
font-size: 16px;
}
.input{
width:377px;
height:45px;
line-height: 50px;
border: 2px solid #F4F4F4;
border-radius:4px;
margin-right: 30px;
margin-left: 0px;
padding-left: 12px;
background:rgba(247,247,247,1);
border-radius:4px;
border:1px solid rgba(229,229,229,1);
}
.title{
font-size:24px;
width: 300px;
margin: 30px 0px 0px 30px;
font-weight: 500;
color: rgba(51,51,51,1);
}
.title-new{
font-size:20px;
color:rgba(51,51,51,1);
margin-right: 15px;
width: 110px;
}
.section{
display: flex;
height: 530px;
background: rgba(255,255,255,1);
box-shadow: 0px 0px 10px 0px rgba(238,235,235,1);
border-radius: 4px;
flex-direction: column;
}
.func{
display: flex;
/* justify-content: center; */
align-items: center;
margin-top: 50px;
margin-left: 42px;
}
.tip{
font-size: 16px;
color: rgba(51,51,51,1);
position: absolute;
right: 45px;
top: 10px;
}
.road-notice{
position: absolute;
top: 16px;
height: 15px;
width: 15px;
}
.road-notice-txt{
color: rgb(206, 57, 57);
font-size: 16px;
margin-left: 25px;
width: 400px;
display: inline-block;
}
.saveDiv{
display: flex;
justify-content: center;
margin: 80px;
}
</style>
</head>
<body>
<jsp:include page="../common/header.jsp"></jsp:include>
<div class="page-content d-flex align-items-stretch main-body">
<jsp:include page="../common/menu.jsp"></jsp:include>
<div class="rght" id="letter">
<div class="section">
<div class="title-new" style="">
<span class="title">打开第三方小程序</span>
</div>
<div class="func">
<span class="title-new">功能名称</span>
<div style="position: relative;">
<input @input="count" class="input" type="text" v-model="letter.nameWeb" placeholder="请输入功能名称,最多五个字符">
<span class="tip">{{letter.nameWeb.length}}/5</span>
</div>
<div style="position: relative;">
<span class="road-notice"></span>
<span class="road-notice-txt">
此名称用于展示给选手,只能使用中文,<br/>且不能超过5个字。
</span>
</div>
</div>
<div class="func">
<span class="title-new">APP ID</span>
<div style="position: relative;width: 400px">
<input class="input" type="text" v-model="letter.appId" placeholder="请输入目标小程序的ID">
</div>
<div style="position: relative;width: 440px">
</span>
</div>
</div>
<div class="func">
<span class="title-new" style="line-height: 20px;">
<span>PATH</span>
<br>
<span style="font-size:14px;color: #999">(选填)</span>
</span>
<div style="position: relative;width: 400px">
<input class="input" type="text" v-model="letter.url" placeholder="请输入目标页面的达到路径">
</div>
<div style="position: relative;width: 440px"></div>
</div>
<div class="saveDiv">
<span v-on:click="save" class="submit">保存</span>
</div>
</div>
</div>
<script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script>
<script>
var customerV = new Vue({
el : '#letter',
data : {
letter : {id:'',nameWeb:'',cmptId:getCId()}
},
methods:{
count:function(){
if(customerV.$data.letter.nameWeb.length > 5){
customerV.$data.letter.nameWeb = customerV.$data.letter.nameWeb.substr(0,5)
}
},
save : function () {
$.ajax({
url : '/gk/sure-letter/updateName',
data : customerV.$data.letter,
type:'post',
beforeSend:function(){
var index = layer.load()
setTimeout(function () {
layer.close(index);
},1500)
},
success:function (data) {
layer.msg('保存成功!')
}
})
}
}
});
function getSureLetter(){
$.ajax({
url : '/gk/sure-letter/getFunc?cmptId='+getCId()+"&type=19",
success:function (data) {
if(data.content){
customerV.$data.letter = data.content;
}
}
});
}
getSureLetter();
</script>
</body>
</html>
...@@ -135,8 +135,8 @@ ...@@ -135,8 +135,8 @@
<div class="score-item" v-on:click="showDetail(score.cmptScoreRuleScoreinfoId,$event,score.markNo)" v-for="score in scores" :data-id="score.cmptScoreRuleScoreinfoId"> <div class="score-item" v-on:click="showDetail(score.cmptScoreRuleScoreinfoId,$event,score.markNo)" v-for="score in scores" :data-id="score.cmptScoreRuleScoreinfoId">
<template v-if="score.save"> <template v-if="score.save">
<div class="score-info"> <div class="score-info">
<span class="check"><input v-on:click.stop="" type="checkbox" :value="score.cmptScoreRuleScoreinfoId" :checked="checked?'true':'' "></span> <span class="check"><input v-on:click.stop="" type="checkbox" :value="score.cmptScoreRuleScoreinfoId" :checked="checked?'true':'' "></span>
<span v-text="score.name"></span> <span v-text="score.name"></span>
<span v-text="score.markNo"></span> <span v-text="score.markNo"></span>
...@@ -149,31 +149,31 @@ ...@@ -149,31 +149,31 @@
<span class="icon-score-edit"></span> <span class="icon-score-edit"></span>
<span class="score-edit">编辑</span> <span class="score-edit">编辑</span>
</span> </span>
</div> </div>
</template> </template>
<template v-else> <template v-else>
<div class="score-info"> <div class="score-info">
<span class="check"><input v-on:click.stop="" type="checkbox" :value="score.cmptScoreRuleScoreinfoId" :checked="checked?'true':'' "></span> <span class="check"><input v-on:click.stop="" type="checkbox" :value="score.cmptScoreRuleScoreinfoId" :checked="checked?'true':'' "></span>
<span v-text="score.name"></span> <span v-text="score.name"></span>
<span v-text="score.markNo"></span> <span v-text="score.markNo"></span>
<span>{{score.insertTime | substr(10)}}</span> <span>{{score.insertTime | substr(10)}}</span>
<span><input v-on:click.stop="" class="score-input doneTime" type="text" <span><input v-on:click.stop="" class="score-input doneTime" type="text"
onclick="WdatePicker({skin:'whyGreen',dateFmt:'yyyy-MM-dd'})" onclick="WdatePicker({skin:'whyGreen',dateFmt:'yyyy-MM-dd'})"
:value="score.subsectionTime | substrDate(10)"></span> :value="score.subsectionTime | substrDate(10)"></span>
<span><input v-on:click.stop="" class="score-input miles" type="text" <span><input v-on:click.stop="" class="score-input miles" type="text"
:value="Number(score.subsectionMileage/1000).toFixed(3)"></span> :value="Number(score.subsectionMileage/1000).toFixed(3)"></span>
<span><input v-on:click.stop="" class="score-input duration" type="text" <span><input v-on:click.stop="" class="score-input duration" type="text"
onclick="WdatePicker({skin:'whyGreen',dateFmt:'HH:mm:ss'})" onclick="WdatePicker({skin:'whyGreen',dateFmt:'HH:mm:ss'})"
:value="score.subsectionscore | date_format"></span> :value="score.subsectionscore | date_format"></span>
<span>{{score.cmptPace | pace(Number(score.subsectionMileage/1000).toFixed(3),score.subsectionscore) }}</span> <span>{{score.cmptPace | pace(Number(score.subsectionMileage/1000).toFixed(3),score.subsectionscore) }}</span>
<span style="cursor: pointer;" <span style="cursor: pointer;"
v-on:click.stop="" v-on:click="saveScoreDetail(score,$event)"> v-on:click.stop="" v-on:click="saveScoreDetail(score,$event)">
<span class="icon-score-save"></span> <span class="icon-score-save"></span>
<span class="score-edit">保存</span> <span class="score-edit">保存</span>
</span> </span>
</div> </div>
</template> </template>
<template v-if="score.save"> <template v-if="score.save">
<div class="flex score-img" v-on:click.stop=""> <div class="flex score-img" v-on:click.stop="">
...@@ -236,11 +236,11 @@ ...@@ -236,11 +236,11 @@
</div> </div>
<div id="dialog" v-show="dialog" > <div id="dialog" v-show="dialog" >
<div style="position: relative;" class="preview"> <div style="position: relative;" class="preview">
<video v-if="previewItem.fieldType==2" v-bind:src="previewItem.previewImg" controls name="media" preload="none"></video> <video v-if="previewItem.fieldType==2" v-bind:src="previewItem.previewImg" controls name="media" preload="none"></video>
<img v-else width="auto" height="100%" v-bind:src="previewItem.previewImg" alt=""> <img v-else width="auto" height="100%" v-bind:src="previewItem.previewImg" alt="">
<span v-on:click="closeDialog" class="iconClose"></span> <span v-on:click="closeDialog" class="iconClose"></span>
</div> </div>
</div> </div>
</div> </div>
</div> </div>
......
<%@ page language="java" contentType="text/html; charset=utf-8" pageEncoding="utf-8" %>
<%@ include file="/WEB-INF/views/include/taglib.jsp" %>
<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %>
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %>
<!doctype html>
<html>
<head>
<title>确认函</title>
<!-- Bootstrap CSS-->
<link rel="stylesheet" href="${ctxStatic}/newdermon/vendor/bootstrap/css/bootstrap.min.css">
<!-- Font Awesome CSS-->
<link rel="stylesheet" href="${ctxStatic}/newdermon/vendor/font-awesome/css/font-awesome.min.css">
<!-- Fontastic Custom icon font-->
<link rel="stylesheet" href="${ctxStatic}/newdermon/css/fontastic.css">
<!-- Google fonts - Poppins -->
<link rel="stylesheet" href="${ctxStatic}/newdermon/css/font-css.css">
<!-- theme stylesheet-->
<link rel="stylesheet" href="${ctxStatic}/newdermon/css/style.default.css?v=<%=System.currentTimeMillis()%>" id="theme-stylesheet">
<!-- Custom stylesheet - for your changes-->
<link rel="stylesheet" href="${ctxStatic}/newdermon/css/custom.css?v=<%=System.currentTimeMillis()%>">
<link rel="stylesheet" href="${ctxStatic}/newdermon/css/juery-ui-1.12.css">
<!-- Favicon-->
<link rel="shortcut icon" href="img/favicon.ico">
<link rel="stylesheet" href="${ctxStatic}/newdermon/css/custom.css?v=<%=System.currentTimeMillis()%>">
<link rel="stylesheet" href="${ctxStatic}/newdermon/css/main.css?v=<%=System.currentTimeMillis()%>">
<link rel="stylesheet" href="${ctxStatic}/cmpt/setting.css?v=<%=System.currentTimeMillis()%>">
<link rel="stylesheet" href="${ctxStatic}/leaflet/css/leaflet.css?v=<%=System.currentTimeMillis()%>"/>
<link rel="stylesheet" href="${ctxStatic}/leaflet/css/leaflet_label.css"/>
<link rel="stylesheet" href="${ctxStatic}/cmpt/road.css?v=<%=System.currentTimeMillis()%>"/>
<link rel="stylesheet" href="${ctxStatic}/cmpt/road-new.css?v=<%=System.currentTimeMillis()%>"/>
<script src="${ctxStatic}/My97DatePicker/WdatePicker.js" type="text/javascript"></script>
<script src="${ctxStatic}/newdermon/vendor/jquery/jquery.min.js"></script>
<script type="text/javascript" charset="utf-8" src="${ctxStatic}/layer/layer.js"></script>
<link rel="stylesheet" href="${ctxStatic}/layer/skin/layer.css">
<style>
.submit{
display: inline-block;
width: 120px;
height: 45px;
text-align: center;
line-height: 45px;
color: white;
background: #ce3939;
border-radius: 4px;
letter-spacing: 1px;
cursor: pointer;
font-size: 16px;
}
.input{
width:377px;
height:45px;
line-height: 50px;
border: 2px solid #F4F4F4;
border-radius:4px;
margin-right: 30px;
margin-left: 0px;
padding-left: 12px;
background:rgba(247,247,247,1);
border-radius:4px;
border:1px solid rgba(229,229,229,1);
}
.title-new{
font-size:20px;
color:rgba(51,51,51,1);
margin-right: 15px;
}
.section{
display: flex;
height: 330px;
background: rgba(255,255,255,1);
box-shadow: 0px 0px 10px 0px rgba(238,235,235,1);
border-radius: 4px;
flex-direction: column;
}
.func{
display: flex;
justify-content: center;
align-items: center;
margin-top: 50px;
}
.tip{
font-size: 16px;
color: rgba(51,51,51,1);
position: absolute;
right: 45px;
top: 10px;
}
.road-notice{
position: absolute;
top: 16px;
height: 15px;
width: 15px;
}
.road-notice-txt{
color: rgb(206, 57, 57);
font-size: 16px;
margin-left: 25px;
width: 400px;
display: inline-block;
}
.saveDiv{
display: flex;
justify-content: center;
margin: 80px;
}
</style>
</head>
<body>
<jsp:include page="../common/header.jsp"></jsp:include>
<div class="page-content d-flex align-items-stretch main-body">
<jsp:include page="../common/menu.jsp"></jsp:include>
<div class="rght" id="letter">
<div class="section">
<div class="func">
<span class="title-new">功能名称</span>
<div style="position: relative;">
<input @input="count" class="input" type="text" v-model="letter.nameWeb" placeholder="请输入功能名称,最多五个字符">
<span class="tip">{{letter.nameWeb.length}}/5</span>
</div>
<div style="position: relative;">
<span class="road-notice"></span>
<span class="road-notice-txt">
此名称用于展示给选手,只能使用中文,<br/>且不能超过5个字。
</span>
</div>
</div>
<div class="saveDiv">
<span v-on:click="save" class="submit">保存</span>
</div>
</div>
</div>
<script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script>
<script>
var customerV = new Vue({
el : '#letter',
data : {
letter : {id:'',nameWeb:'',cmptId:getCId()}
},
methods:{
count:function(){
if(customerV.$data.letter.nameWeb.length > 5){
customerV.$data.letter.nameWeb = customerV.$data.letter.nameWeb.substr(0,5)
}
},
save : function () {
$.ajax({
url : '/gk/sure-letter/updateName',
data : customerV.$data.letter,
type:'post',
beforeSend:function(){
var index = layer.load()
setTimeout(function () {
layer.close(index);
},1500)
},
success:function (data) {
layer.msg('保存成功!')
}
})
}
}
});
function getSureLetter(){
$.ajax({
url : '/gk/sure-letter/getFunc?cmptId='+getCId()+"&type=18",
success:function (data) {
if(data.content){
customerV.$data.letter = data.content;
}
}
});
}
getSureLetter();
</script>
</body>
</html>
...@@ -198,6 +198,20 @@ ...@@ -198,6 +198,20 @@
<span class="menu-txt">赛事客服</span> <span class="menu-txt">赛事客服</span>
</a> </a>
</li> </li>
<li class="outter-link menu-sub-item">
<a href="/gk/outter-link/index/${cmpt.cmptId}?uId=${uId}&cId=${cId}&timestamp=${timestamp}&sign=${sign}">
<span class="left-arrow"></span>
<span class="menu-txt">外链功能</span>
</a>
</li>
<li class="sure-letter menu-sub-item">
<a href="/gk/sure-letter/index/${cmpt.cmptId}?uId=${uId}&cId=${cId}&timestamp=${timestamp}&sign=${sign}">
<span class="left-arrow"></span>
<span class="menu-txt">确认函</span>
</a>
</li>
</ul> </ul>
</li> </li>
</ul> </ul>
...@@ -210,12 +224,6 @@ ...@@ -210,12 +224,6 @@
</a> </a>
</li> </li>
<ul style="padding: 0px"> <ul style="padding: 0px">
<%-- <li class="route menu-sub-item">
<a href="/gk/route/index/${cmpt.cmptId}?uId=${uId}&cId=${cId}&timestamp=${timestamp}&sign=${sign}">
<span class="left-arrow"></span>
<span class="menu-txt">路线下载</span>
</a>
</li>--%>
<li class="road menu-sub-item"> <li class="road menu-sub-item">
<a href="/gk/road/index/${cmpt.cmptId}?uId=${uId}&cId=${cId}&timestamp=${timestamp}&sign=${sign}"> <a href="/gk/road/index/${cmpt.cmptId}?uId=${uId}&cId=${cId}&timestamp=${timestamp}&sign=${sign}">
<span class="left-arrow"></span> <span class="left-arrow"></span>
...@@ -257,7 +265,8 @@ ...@@ -257,7 +265,8 @@
<script> <script>
var classes = ['cmptSetting', 'nameList', 'manual', 'contact','manage', var classes = ['cmptSetting', 'nameList', 'manual', 'contact','manage',
'route', 'road', 'equip', 'photo', 'news','cert','data', 'route', 'road', 'equip', 'photo', 'news','cert','data',
'banner','score','auto','scan','review','customer','rule']; 'banner','score','auto','scan','review','customer','rule',
'outter-link','sure-letter'];
let url = document.location.href; let url = document.location.href;
var done = false; var done = false;
for (var i in classes) { for (var i in classes) {
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment