迁移大屏代码及删除前端代码
|
|
@ -3,8 +3,6 @@
|
|||
<component name="Encoding">
|
||||
<file url="file://$PROJECT_DIR$/HnRealNameBmw/src/main/java" charset="UTF-8" />
|
||||
<file url="file://$PROJECT_DIR$/HnRealNameBmw/src/main/resources" charset="UTF-8" />
|
||||
<file url="file://$PROJECT_DIR$/HnRealNameMw/src/main/java" charset="UTF-8" />
|
||||
<file url="file://$PROJECT_DIR$/HnRealNameMw/src/main/resources" charset="UTF-8" />
|
||||
<file url="file://$PROJECT_DIR$/hn-czl-service/src/main/java" charset="UTF-8" />
|
||||
<file url="file://$PROJECT_DIR$/hn-czl-service/src/main/resources" charset="UTF-8" />
|
||||
<file url="file://$PROJECT_DIR$/hn-gateway/bonus-api/bonus-api-system/src/main/java" charset="UTF-8" />
|
||||
|
|
@ -49,6 +47,8 @@
|
|||
<file url="file://$PROJECT_DIR$/hn-ldlz/src/main/resources" charset="UTF-8" />
|
||||
<file url="file://$PROJECT_DIR$/hn_czl_screen/src/main/java" charset="UTF-8" />
|
||||
<file url="file://$PROJECT_DIR$/hn_czl_screen/src/main/resources" charset="UTF-8" />
|
||||
<file url="file://$PROJECT_DIR$/real-name-screen/src/main/java" charset="UTF-8" />
|
||||
<file url="file://$PROJECT_DIR$/real-name-screen/src/main/resources" charset="UTF-8" />
|
||||
<file url="file://$PROJECT_DIR$/realname-app/src/main/java" charset="UTF-8" />
|
||||
<file url="file://$PROJECT_DIR$/realname-app/src/main/resources" charset="UTF-8" />
|
||||
</component>
|
||||
|
|
|
|||
|
|
@ -12,6 +12,7 @@
|
|||
<option value="$PROJECT_DIR$/hn-czl-service/pom.xml" />
|
||||
<option value="$PROJECT_DIR$/HnRealNameManageApp - 副本/pom.xml" />
|
||||
<option value="$PROJECT_DIR$/realname-app/pom.xml" />
|
||||
<option value="$PROJECT_DIR$/real-name-screen/pom.xml" />
|
||||
</list>
|
||||
</option>
|
||||
</component>
|
||||
|
|
|
|||
|
|
@ -2,6 +2,14 @@
|
|||
<project version="4">
|
||||
<component name="ProjectModuleManager">
|
||||
<modules>
|
||||
<module fileurl="file://$PROJECT_DIR$/hn-gateway/bonus-api/bonus-api.iml" filepath="$PROJECT_DIR$/hn-gateway/bonus-api/bonus-api.iml" />
|
||||
<module fileurl="file://$PROJECT_DIR$/hn-gateway/bonus-api/bonus-api-system/bonus-api-system.iml" filepath="$PROJECT_DIR$/hn-gateway/bonus-api/bonus-api-system/bonus-api-system.iml" />
|
||||
<module fileurl="file://$PROJECT_DIR$/hn-gateway/bonus-common/bonus-common-config/bonus-common-config.iml" filepath="$PROJECT_DIR$/hn-gateway/bonus-common/bonus-common-config/bonus-common-config.iml" />
|
||||
<module fileurl="file://$PROJECT_DIR$/hn-gateway/bonus-common/bonus-common-datasource/bonus-common-datasource.iml" filepath="$PROJECT_DIR$/hn-gateway/bonus-common/bonus-common-datasource/bonus-common-datasource.iml" />
|
||||
<module fileurl="file://$PROJECT_DIR$/hn-gateway/bonus-common/bonus-common-log/bonus-common-log.iml" filepath="$PROJECT_DIR$/hn-gateway/bonus-common/bonus-common-log/bonus-common-log.iml" />
|
||||
<module fileurl="file://$PROJECT_DIR$/hn-gateway/bonus-common/bonus-common-redis/bonus-common-redis.iml" filepath="$PROJECT_DIR$/hn-gateway/bonus-common/bonus-common-redis/bonus-common-redis.iml" />
|
||||
<module fileurl="file://$PROJECT_DIR$/hn-gateway/bonus-common/bonus-common-security/bonus-common-security.iml" filepath="$PROJECT_DIR$/hn-gateway/bonus-common/bonus-common-security/bonus-common-security.iml" />
|
||||
<module fileurl="file://$PROJECT_DIR$/hn-gateway/bonus-common/bonus-common-sensitive/bonus-common-sensitive.iml" filepath="$PROJECT_DIR$/hn-gateway/bonus-common/bonus-common-sensitive/bonus-common-sensitive.iml" />
|
||||
<module fileurl="file://$PROJECT_DIR$/.idea/hn_cloud_service.iml" filepath="$PROJECT_DIR$/.idea/hn_cloud_service.iml" />
|
||||
</modules>
|
||||
</component>
|
||||
|
|
|
|||
1108
.idea/workspace.xml
|
|
@ -63,7 +63,11 @@
|
|||
<groupId>com.alibaba.cloud</groupId>
|
||||
<artifactId>spring-cloud-starter-alibaba-sentinel</artifactId>
|
||||
</dependency>
|
||||
|
||||
<!-- OpenFeign 依赖 -->
|
||||
<dependency>
|
||||
<groupId>org.springframework.cloud</groupId>
|
||||
<artifactId>spring-cloud-starter-openfeign</artifactId>
|
||||
</dependency>
|
||||
<!-- 2. Spring Boot 核心依赖 -->
|
||||
<dependency>
|
||||
<groupId>org.springframework.boot</groupId>
|
||||
|
|
|
|||
|
|
@ -6,7 +6,7 @@ import org.springframework.boot.autoconfigure.SpringBootApplication;
|
|||
import org.springframework.cloud.client.discovery.EnableDiscoveryClient;
|
||||
import org.springframework.scheduling.annotation.EnableScheduling;
|
||||
import org.springframework.transaction.annotation.EnableTransactionManagement;
|
||||
|
||||
import org.springframework.cloud.openfeign.EnableFeignClients;
|
||||
/**
|
||||
* 启动类
|
||||
*
|
||||
|
|
@ -16,6 +16,7 @@ import org.springframework.transaction.annotation.EnableTransactionManagement;
|
|||
@EnableScheduling // 启动定时任务
|
||||
@EnableTransactionManagement//启动事务
|
||||
@EnableDiscoveryClient
|
||||
@EnableFeignClients
|
||||
public class HnRealNameBmwApplication {
|
||||
public static void main(String[] args) {
|
||||
SpringApplication.run(HnRealNameBmwApplication.class, args);
|
||||
|
|
|
|||
|
|
@ -0,0 +1,15 @@
|
|||
package com.bonus.hnrn.rnbmw.login.config;
|
||||
|
||||
import feign.Request;
|
||||
import org.springframework.context.annotation.Bean;
|
||||
import org.springframework.context.annotation.Configuration;
|
||||
|
||||
@Configuration
|
||||
public class FeignTimeoutConfig {
|
||||
@Bean
|
||||
public Request.Options feignOptions() {
|
||||
// 连接超时 5 秒,读取超时 60 秒
|
||||
return new Request.Options(5000, 60000);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -0,0 +1,20 @@
|
|||
package com.bonus.hnrn.rnbmw.login.controller;
|
||||
|
||||
import com.bonus.hnrn.rnbmw.login.vo.LoginForm;
|
||||
import feign.Headers;
|
||||
import org.springframework.cloud.openfeign.FeignClient;
|
||||
import org.springframework.web.bind.annotation.PostMapping;
|
||||
import org.springframework.web.bind.annotation.RequestBody;
|
||||
|
||||
import java.util.Map;
|
||||
|
||||
// value:目标服务名(service-b)
|
||||
@FeignClient(value = "bonus-czldp")
|
||||
public interface CzlScreenServiceFeignClient {
|
||||
|
||||
@PostMapping("publicLogin/innerLogin")
|
||||
@Headers("Content-Type: application/json")
|
||||
Map<String,Object> innerLogin(@RequestBody LoginForm loginForm);
|
||||
|
||||
|
||||
}
|
||||
|
|
@ -0,0 +1,28 @@
|
|||
package com.bonus.hnrn.rnbmw.login.controller;
|
||||
|
||||
import com.bonus.hnrn.rnbmw.login.vo.AllUserVo;
|
||||
import com.bonus.hnrn.rnbmw.login.vo.LoginForm;
|
||||
import feign.Headers;
|
||||
import org.springframework.cloud.openfeign.FeignClient;
|
||||
import org.springframework.web.bind.annotation.GetMapping;
|
||||
import org.springframework.web.bind.annotation.PathVariable;
|
||||
import org.springframework.web.bind.annotation.PostMapping;
|
||||
import org.springframework.web.bind.annotation.RequestBody;
|
||||
|
||||
import java.util.Map;
|
||||
|
||||
// value:目标服务名(service-b)
|
||||
@FeignClient(value = "bonus-czl")
|
||||
public interface CzlServiceFeignClient {
|
||||
|
||||
@PostMapping("publicLogin/innerLogin")
|
||||
@Headers("Content-Type: application/json")
|
||||
Map<String,Object> innerLogin(@RequestBody LoginForm loginForm);
|
||||
|
||||
|
||||
@PostMapping("publicLogin/addUser")
|
||||
@Headers("Content-Type: application/json")
|
||||
Map<String,Object> addUser(@RequestBody AllUserVo loginForm);
|
||||
|
||||
|
||||
}
|
||||
|
|
@ -0,0 +1,25 @@
|
|||
package com.bonus.hnrn.rnbmw.login.controller;
|
||||
|
||||
import com.bonus.hnrn.rnbmw.login.vo.AllUserVo;
|
||||
import com.bonus.hnrn.rnbmw.login.vo.LoginForm;
|
||||
import feign.Headers;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
import org.springframework.cloud.openfeign.FeignClient;
|
||||
import org.springframework.web.bind.annotation.PostMapping;
|
||||
import org.springframework.web.bind.annotation.RequestBody;
|
||||
|
||||
import java.util.Map;
|
||||
|
||||
// value:目标服务名(service-b)
|
||||
@FeignClient(value = "bonus-ldlz")
|
||||
public interface LdlzServiceFeignClient {
|
||||
|
||||
@PostMapping("publicLogin/innerLogin")
|
||||
@Headers("Content-Type: application/json")
|
||||
Map<String,Object> innerLogin(@RequestBody LoginForm loginForm);
|
||||
|
||||
|
||||
@PostMapping("publicLogin/addUser")
|
||||
@Headers("Content-Type: application/json")
|
||||
Map<String,Object> addUser(@RequestBody AllUserVo loginForm);
|
||||
}
|
||||
|
|
@ -2,35 +2,86 @@ package com.bonus.hnrn.rnbmw.login.controller;
|
|||
|
||||
import com.bonus.hnrn.rnbmw.login.service.LoginService;
|
||||
import com.bonus.hnrn.rnbmw.login.vo.AjaxResult;
|
||||
import com.bonus.hnrn.rnbmw.login.vo.LoginForm;
|
||||
import com.bonus.hnrn.rnbmw.login.vo.LoginFormVo;
|
||||
import com.bonus.hnrn.rnbmw.login.vo.PublicUserVo;
|
||||
import io.swagger.annotations.Api;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.http.HttpEntity;
|
||||
import org.springframework.http.HttpHeaders;
|
||||
import org.springframework.http.MediaType;
|
||||
import org.springframework.web.bind.annotation.PostMapping;
|
||||
import org.springframework.web.bind.annotation.RequestBody;
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
import org.springframework.web.bind.annotation.RestController;
|
||||
import org.springframework.web.client.RestTemplate;
|
||||
|
||||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
|
||||
@Api(tags = "用户登录")
|
||||
@RestController
|
||||
@RequestMapping("/allSystem/")
|
||||
@Slf4j
|
||||
public class LoginController {
|
||||
|
||||
@Autowired
|
||||
private LoginService loginService;
|
||||
|
||||
@Autowired
|
||||
private CzlServiceFeignClient czlServiceFeignClient;
|
||||
|
||||
|
||||
@Autowired
|
||||
private LdlzServiceFeignClient ldlzServiceFeignClient;
|
||||
@Autowired
|
||||
private SmzScreenServiceFeignClient smzScreenServiceFeignClient;
|
||||
@Autowired
|
||||
private CzlScreenServiceFeignClient czlScreenServiceFeignClient;
|
||||
/**
|
||||
* 系统登录
|
||||
* @param bean
|
||||
* @return
|
||||
*/
|
||||
@PostMapping("login")
|
||||
@ApiOperation(value = "系统登录")
|
||||
public AjaxResult login(@RequestBody LoginFormVo bean) {
|
||||
return loginService.login(bean);
|
||||
Map<String, Object> map= loginService.login(bean);
|
||||
return AjaxResult.success(map);
|
||||
}
|
||||
|
||||
|
||||
@PostMapping("innerLogin")
|
||||
@ApiOperation(value = "系统登录")
|
||||
public AjaxResult innerLogin(@RequestBody LoginFormVo bean) {
|
||||
Map<String, Object> map= loginService.innerLoginlogin(bean);
|
||||
try{
|
||||
LoginForm loginForm = new LoginForm();
|
||||
loginForm.setUsername(bean.getUsername());
|
||||
//登录
|
||||
Map<String,Object> map1= czlServiceFeignClient.innerLogin(loginForm);
|
||||
//获取
|
||||
Map<String,Object> map2= ldlzServiceFeignClient.innerLogin(loginForm);
|
||||
|
||||
Map<String,Object> map3= smzScreenServiceFeignClient.innerLogin(loginForm);
|
||||
|
||||
Map<String,Object> map4= czlScreenServiceFeignClient.innerLogin(loginForm);
|
||||
map.put("czl",map1.get("obj"));
|
||||
map.put("ldlz",map2.get("token"));
|
||||
map.put("smzweb",map3.get("user"));
|
||||
map.put("czlweb",map4.get("obj"));
|
||||
return AjaxResult.success(map);
|
||||
}catch (Exception e){
|
||||
log.error(e.toString(),e);
|
||||
map.put("msg","请求超时");
|
||||
return AjaxResult.error("请求超时",e.toString());
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -54,6 +54,15 @@ public class PublicLoginController {
|
|||
@Resource(name = "RegisterService")
|
||||
private RegisterService registerService;
|
||||
|
||||
/**
|
||||
* 系统登录
|
||||
* @param token
|
||||
* @param
|
||||
*/
|
||||
@PostMapping("getMenuData")
|
||||
public AjaxResult getMenuData(@RequestBody LoginForm token) {
|
||||
return allUserService.getMenuData(token);
|
||||
}
|
||||
|
||||
/**
|
||||
* 系统登录
|
||||
|
|
|
|||
|
|
@ -0,0 +1,15 @@
|
|||
package com.bonus.hnrn.rnbmw.login.controller;
|
||||
|
||||
import org.springframework.cloud.client.loadbalancer.LoadBalanced;
|
||||
import org.springframework.context.annotation.Bean;
|
||||
import org.springframework.context.annotation.Configuration;
|
||||
import org.springframework.web.client.RestTemplate;
|
||||
|
||||
@Configuration
|
||||
public class RestTemplateConfig {
|
||||
@Bean
|
||||
@LoadBalanced // 关键:开启负载均衡,支持通过服务名调用
|
||||
public RestTemplate restTemplate() {
|
||||
return new RestTemplate();
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,20 @@
|
|||
package com.bonus.hnrn.rnbmw.login.controller;
|
||||
|
||||
import com.bonus.hnrn.rnbmw.login.vo.LoginForm;
|
||||
import feign.Headers;
|
||||
import org.springframework.cloud.openfeign.FeignClient;
|
||||
import org.springframework.web.bind.annotation.PostMapping;
|
||||
import org.springframework.web.bind.annotation.RequestBody;
|
||||
|
||||
import java.util.Map;
|
||||
|
||||
// value:目标服务名(service-b)
|
||||
@FeignClient(value = "bonus-realname-web")
|
||||
public interface SmzScreenServiceFeignClient {
|
||||
|
||||
@PostMapping("publicLogin/innerLogin")
|
||||
@Headers("Content-Type: application/json")
|
||||
Map<String,Object> innerLogin(@RequestBody LoginForm loginForm);
|
||||
|
||||
|
||||
}
|
||||
|
|
@ -1,6 +1,7 @@
|
|||
package com.bonus.hnrn.rnbmw.login.dao;
|
||||
|
||||
import com.bonus.hnrn.rnbmw.login.vo.AllUserVo;
|
||||
import com.bonus.hnrn.rnbmw.login.vo.LoginForm;
|
||||
import org.apache.ibatis.annotations.Param;
|
||||
import org.springframework.stereotype.Repository;
|
||||
|
||||
|
|
@ -99,5 +100,10 @@ public interface AllUserDao {
|
|||
*/
|
||||
void delUserRole(AllUserVo vo);
|
||||
|
||||
|
||||
/**
|
||||
* 查询用户权限菜单
|
||||
* @param token
|
||||
* @return
|
||||
*/
|
||||
AllUserVo getMenuData(LoginForm token);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,8 +1,11 @@
|
|||
package com.bonus.hnrn.rnbmw.login.service;
|
||||
|
||||
import com.bonus.hnrn.rnbmw.login.controller.CzlServiceFeignClient;
|
||||
import com.bonus.hnrn.rnbmw.login.controller.LdlzServiceFeignClient;
|
||||
import com.bonus.hnrn.rnbmw.login.dao.AllUserDao;
|
||||
import com.bonus.hnrn.rnbmw.login.vo.AjaxResult;
|
||||
import com.bonus.hnrn.rnbmw.login.vo.AllUserVo;
|
||||
import com.bonus.hnrn.rnbmw.login.vo.LoginForm;
|
||||
import com.bonus.hnrn.rnbmw.manager.utils.StringHelper;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
|
|
@ -22,6 +25,12 @@ public class AllUserService {
|
|||
|
||||
@Autowired
|
||||
private BCryptPasswordEncoder passwordEncoder;
|
||||
|
||||
@Autowired
|
||||
private CzlServiceFeignClient czlServiceFeignClient;
|
||||
|
||||
@Autowired
|
||||
private LdlzServiceFeignClient ldlzServiceFeignClient;
|
||||
/**
|
||||
* 查询数据表格集合
|
||||
* @param params
|
||||
|
|
@ -85,9 +94,10 @@ public class AllUserService {
|
|||
String password= passwordEncoder.encode(vo.getPassword());
|
||||
vo.setPassword(password);
|
||||
int num=allUserDao.addUserData(vo);
|
||||
if(num>0 &&(vo.getType().contains("4") || vo.getType().contains("5")) ){
|
||||
if(num>0 &&(vo.getDataType().contains("4") || vo.getDataType().contains("5")) ){
|
||||
addSmzUser(vo);
|
||||
}
|
||||
//
|
||||
return AjaxResult.success("添加成功");
|
||||
}catch (Exception e){
|
||||
log.error(e.toString(),e);
|
||||
|
|
@ -95,6 +105,15 @@ public class AllUserService {
|
|||
return AjaxResult.error("添加失败");
|
||||
}
|
||||
|
||||
|
||||
public void addCZlUser(AllUserVo vo){
|
||||
czlServiceFeignClient.addUser(vo);
|
||||
}
|
||||
|
||||
public void addLdlz(AllUserVo vo){
|
||||
ldlzServiceFeignClient.addUser(vo);
|
||||
}
|
||||
|
||||
/**
|
||||
* 添加实名制用户细腻系
|
||||
* @param vo
|
||||
|
|
@ -142,13 +161,12 @@ public class AllUserService {
|
|||
if(isCz>0){
|
||||
return AjaxResult.error("身份证号码已被注册");
|
||||
}
|
||||
}
|
||||
int num=allUserDao.updateUserData(vo);
|
||||
if(num>0){
|
||||
if(num>0 &&(vo.getDataType().contains("4") || vo.getDataType().contains("5")) ){
|
||||
addSmzUser(vo);
|
||||
}
|
||||
return AjaxResult.success("修改成功");
|
||||
}
|
||||
}
|
||||
|
||||
}catch (Exception e){
|
||||
log.error(e.toString(),e);
|
||||
}
|
||||
|
|
@ -227,16 +245,22 @@ public class AllUserService {
|
|||
|
||||
/**
|
||||
* 查询详情
|
||||
*
|
||||
* @param vo
|
||||
* @return
|
||||
*/
|
||||
public AjaxResult getDetails(AllUserVo vo) {
|
||||
try{
|
||||
AllUserVo data=allUserDao.getUserData(vo);
|
||||
return AjaxResult.success(data);
|
||||
}
|
||||
|
||||
public AjaxResult getMenuData(LoginForm token) {
|
||||
try{
|
||||
AllUserVo data=allUserDao.getMenuData(token);
|
||||
return AjaxResult.success(data);
|
||||
}catch (Exception e){
|
||||
log.error(e.toString(),e);
|
||||
}
|
||||
return AjaxResult.success(vo);
|
||||
return AjaxResult.success(token);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -30,7 +30,7 @@ public class LoginService {
|
|||
* @param bean
|
||||
* @return
|
||||
*/
|
||||
public AjaxResult login(LoginFormVo bean) {
|
||||
public Map<String, Object> login(LoginFormVo bean) {
|
||||
try{
|
||||
String username = AESCBCUtils.decrypt(bean.getUsername());
|
||||
String password = AESCBCUtils.decrypt(bean.getPassword());
|
||||
|
|
@ -48,14 +48,37 @@ public class LoginService {
|
|||
if (!passwordEncoder.matches(password, loginFormVo.getPassword())) {
|
||||
return AjaxResult.error("密码错误!");
|
||||
}
|
||||
//密码错误
|
||||
Map<String, Object> map=sysTokenService.createToken(loginFormVo);
|
||||
return AjaxResult.success(map);
|
||||
return sysTokenService.createToken(loginFormVo);
|
||||
}catch (Exception e){
|
||||
log.error(e.toString(),e);
|
||||
}
|
||||
return AjaxResult.error("请输入正确的参数");
|
||||
|
||||
}
|
||||
|
||||
public Map<String, Object> innerLoginlogin(LoginFormVo bean) {
|
||||
try{
|
||||
String username = bean.getUsername();
|
||||
String password = bean.getPassword();
|
||||
bean.setUsername(username);
|
||||
bean.setPassword(password);
|
||||
if(StringUtil.isEmpty(bean.getUsername()) ) {
|
||||
return AjaxResult.error("请输入账号");
|
||||
}
|
||||
System.err.println(passwordEncoder.encode(password));
|
||||
System.err.println(password);
|
||||
LoginFormVo loginFormVo = mapper.getUserLogin(bean);
|
||||
if(loginFormVo == null) {
|
||||
return AjaxResult.error("用户不存在!");
|
||||
}
|
||||
// if (!passwordEncoder.matches(password, loginFormVo.getPassword())) {
|
||||
// return AjaxResult.error("密码错误!");
|
||||
// }
|
||||
return sysTokenService.createToken(loginFormVo);
|
||||
}catch (Exception e){
|
||||
log.error(e.toString(),e);
|
||||
}
|
||||
return AjaxResult.error("请输入正确的参数");
|
||||
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -68,4 +68,6 @@ public class PublicLoginService {
|
|||
log.error(e.toString(),e);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
|
@ -67,7 +67,7 @@ public class BnsSecurityConfig extends WebSecurityConfigurerAdapter {
|
|||
http.authorizeRequests()
|
||||
.antMatchers("/", "/gzRealName/**","/attendance/**","/*.html", "/favicon.ico", "/css/**", "/js/**", "/fonts/**", "/layui/**", "/layui-v2.9.2/**","/layui2.3.6/**", "/layer-v3.1.0/**","/img/**",
|
||||
"/v2/api-docs/**", "/swagger-resources/**", "/webjars/**", "/pages/**", "/druid/**","/interface/**","/publicLogin/**",
|
||||
"/statics/**","/download/**","/allSystem/login","/allUser/**","/register/**","/companyManager/resetUserPwd","/getCode/**","/OwnContract/updateDownloadState")
|
||||
"/statics/**","/download/**","/allSystem/**","/allUser/**","/register/**","/companyManager/resetUserPwd","/getCode/**","/OwnContract/updateDownloadState")
|
||||
.permitAll().
|
||||
anyRequest().authenticated();
|
||||
http.formLogin().loginProcessingUrl("/login")
|
||||
|
|
|
|||
|
|
@ -13,16 +13,16 @@ import org.apache.ibatis.annotations.Select;
|
|||
@Mapper
|
||||
public interface DictDao {
|
||||
|
||||
@Select("select * from t_dict t where t.id = #{id}")
|
||||
@Select("select * from bns_smz_t_dict t where t.id = #{id}")
|
||||
Dict getById(Long id);
|
||||
|
||||
@Delete("delete from t_dict where id = #{id}")
|
||||
@Delete("delete from bns_smz_t_dict where id = #{id}")
|
||||
int delete(Long id);
|
||||
|
||||
int update(Dict dict);
|
||||
|
||||
@Options(useGeneratedKeys = true, keyProperty = "id")
|
||||
@Insert("insert into t_dict(type, k, val, createTime, updateTime) values(#{type}, #{k}, #{val}, now(), now())")
|
||||
@Insert("insert into bns_smz_t_dict(type, k, val, createTime, updateTime) values(#{type}, #{k}, #{val}, now(), now())")
|
||||
int save(Dict dict);
|
||||
|
||||
int count(@Param("params") Map<String, Object> params);
|
||||
|
|
@ -30,9 +30,9 @@ public interface DictDao {
|
|||
List<Dict> list(@Param("params") Map<String, Object> params, @Param("offset") Integer offset,
|
||||
@Param("limit") Integer limit);
|
||||
|
||||
@Select("select * from t_dict t where t.type = #{type} and k = #{k}")
|
||||
@Select("select * from bns_smz_t_dict t where t.type = #{type} and k = #{k}")
|
||||
Dict getByTypeAndK(@Param("type") String type, @Param("k") String k);
|
||||
|
||||
@Select("select * from t_dict t where t.type = #{type}")
|
||||
@Select("select * from bns_smz_t_dict t where t.type = #{type}")
|
||||
List<Dict> listByType(String type);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -19,6 +19,8 @@ spring:
|
|||
cloud:
|
||||
nacos:
|
||||
config:
|
||||
# server-addr: 192.168.0.14:18848
|
||||
# namespace: e0337b55-080d-456e-8449-46d68dceee5b
|
||||
server-addr: 127.0.0.1:8848
|
||||
namespace: 289db019-a290-4903-ac1a-5d341af8b272
|
||||
# namespace: 07736b2e-9922-415e-8624-50b275be556e
|
||||
|
|
@ -29,11 +31,16 @@ spring:
|
|||
shared-dataids: application-dev.yml
|
||||
# nacos.core.auth.enabled=true 开启权限验证
|
||||
discovery:
|
||||
# server-addr: 192.168.0.14:18848
|
||||
# namespace: e0337b55-080d-456e-8449-46d68dceee5b
|
||||
# nacos地址
|
||||
server-addr: 127.0.0.1:8848
|
||||
namespace: 289db019-a290-4903-ac1a-5d341af8b272
|
||||
# namespace: 07736b2e-9922-415e-8624-50b275be556e
|
||||
|
||||
jpa:
|
||||
properties:
|
||||
hibernate:
|
||||
dialect: org.hibernate.dialect.MySQL5Dialect
|
||||
logging:
|
||||
level:
|
||||
root: INFO
|
||||
|
|
|
|||
|
|
@ -29,8 +29,9 @@
|
|||
</insert>
|
||||
<update id="updateUserData">
|
||||
update bns_smz_all_system_user set user_name=#{userName},data_type=#{dataType},
|
||||
update_time=now(),is_admin=#{isAdmin},id_card=#{idCard},json_data=#{jsonData}
|
||||
update_time=now(),is_admin=#{isAdmin},id_card=#{idCard},json_data=#{jsonData},
|
||||
user_phone=#{userPhone}
|
||||
where id=#{id}
|
||||
</update>
|
||||
<update id="updatePassword">
|
||||
update bns_smz_all_system_user set password=#{newPassword}
|
||||
|
|
@ -118,5 +119,13 @@
|
|||
FROM bns_smz_sys_user
|
||||
WHERE is_active=1 and phone=#{loginName}
|
||||
</select>
|
||||
<select id="getMenuData" resultType="com.bonus.hnrn.rnbmw.login.vo.AllUserVo">
|
||||
select id , user_name userName, login_name loginName,
|
||||
password password, data_type dataType, create_time createTime,
|
||||
update_time updateTime, is_admin isAdmin, id_card idCard,
|
||||
json_data jsonData, user_phone userPhone
|
||||
from bns_smz_all_system_user
|
||||
where user_name=#{username}
|
||||
</select>
|
||||
|
||||
</mapper>
|
||||
|
|
@ -5,7 +5,7 @@
|
|||
<mapper namespace="com.bonus.hnrn.rnbmw.person.dao.CertificateDao">
|
||||
|
||||
<insert id="addCertificateType">
|
||||
INSERT INTO `bm_certificate_type` ( NAME, is_upload, remark,certificate_version,review_num,one_review_interval,
|
||||
INSERT INTO `bns_smz_bm_certificate_type` ( NAME, is_upload, remark,certificate_version,review_num,one_review_interval,
|
||||
two_review_interval,three_review_interval)
|
||||
VALUES(#{name},#{isUpload},#{remark},#{certificateVersion},#{recheckNum},#{recheckInterval1},#{recheckInterval2},#{recheckInterval3})
|
||||
</insert>
|
||||
|
|
@ -43,7 +43,7 @@
|
|||
</insert>
|
||||
|
||||
<update id="updateCertificateType">
|
||||
UPDATE `bm_certificate_type`
|
||||
UPDATE `bns_smz_bm_certificate_type`
|
||||
SET NAME = #{name},
|
||||
is_upload = #{isUpload},
|
||||
remark = #{remark},
|
||||
|
|
@ -97,7 +97,7 @@
|
|||
</update>
|
||||
|
||||
<delete id="delCertificateTypeById">
|
||||
UPDATE `bm_certificate_type` SET
|
||||
UPDATE `bns_smz_bm_certificate_type` SET
|
||||
is_active = '0'
|
||||
WHERE
|
||||
id = #{id}
|
||||
|
|
@ -117,7 +117,7 @@
|
|||
SELECT
|
||||
count(1)
|
||||
FROM
|
||||
`bm_certificate_type`
|
||||
`bns_smz_bm_certificate_type`
|
||||
WHERE is_active = '1'
|
||||
<if test="params != null and params.size()>0">
|
||||
<if test="params.keyWord != null and params.keyWord !=''">
|
||||
|
|
@ -140,7 +140,7 @@
|
|||
two_review_interval as recheckInterval2,
|
||||
three_review_interval as recheckInterval3
|
||||
FROM
|
||||
`bm_certificate_type`
|
||||
`bns_smz_bm_certificate_type`
|
||||
WHERE is_active = '1'
|
||||
<if test="params != null and params.size()>0">
|
||||
<if test="params.keyWord != null and params.keyWord !=''">
|
||||
|
|
@ -164,7 +164,7 @@
|
|||
two_review_interval as recheckInterval2,
|
||||
three_review_interval as recheckInterval3
|
||||
FROM
|
||||
`bm_certificate_type`
|
||||
`bns_smz_bm_certificate_type`
|
||||
WHERE id = #{id} and is_active = '1'
|
||||
</select>
|
||||
|
||||
|
|
@ -714,7 +714,7 @@
|
|||
</select>
|
||||
|
||||
<select id="getCertificateTypeByName" resultType="java.lang.Integer">
|
||||
select count(1) from `bm_certificate_type` where `name` = #{name} and certificate_version = #{certificateVersion} and is_active = '1'
|
||||
select count(1) from `bns_smz_bm_certificate_type` where `name` = #{name} and certificate_version = #{certificateVersion} and is_active = '1'
|
||||
</select>
|
||||
<select id="getWorkerRecordLists"
|
||||
resultType="com.bonus.hnrn.rnbmw.person.entity.WorkerCertificateUploadBean">
|
||||
|
|
|
|||
|
|
@ -46,7 +46,7 @@
|
|||
pro_id,
|
||||
bmr.org_id
|
||||
FROM bns_smz_bm_worker_give bwg,
|
||||
bm_worker_record bmr
|
||||
bns_smz_bm_worker_record bmr
|
||||
WHERE
|
||||
bwg.IS_ACTIVE = '1'
|
||||
AND bmr.ID_NUMBER = bwg.id_number
|
||||
|
|
|
|||
|
|
@ -1,256 +0,0 @@
|
|||
2025-12-02 18:18:42,737 [main] ERROR o.s.b.d.LoggingFailureAnalysisReporter -[LoggingFailureAnalysisReporter.java:40]-
|
||||
|
||||
***************************
|
||||
APPLICATION FAILED TO START
|
||||
***************************
|
||||
|
||||
Description:
|
||||
|
||||
Field passwordEncoder in com.bonus.hnrn.rnmw.person.service.CompanyServiceImp required a bean of type 'org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder' that could not be found.
|
||||
|
||||
The injection point has the following annotations:
|
||||
- @org.springframework.beans.factory.annotation.Autowired(required=true)
|
||||
|
||||
|
||||
Action:
|
||||
|
||||
Consider defining a bean of type 'org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder' in your configuration.
|
||||
|
||||
2025-12-02 18:21:04,396 [main] ERROR o.s.b.d.LoggingFailureAnalysisReporter -[LoggingFailureAnalysisReporter.java:40]-
|
||||
|
||||
***************************
|
||||
APPLICATION FAILED TO START
|
||||
***************************
|
||||
|
||||
Description:
|
||||
|
||||
Field passwordEncoder in com.bonus.hnrn.rnmw.person.service.CompanyServiceImp required a bean of type 'org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder' that could not be found.
|
||||
|
||||
The injection point has the following annotations:
|
||||
- @org.springframework.beans.factory.annotation.Autowired(required=true)
|
||||
|
||||
|
||||
Action:
|
||||
|
||||
Consider defining a bean of type 'org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder' in your configuration.
|
||||
|
||||
2025-12-02 18:22:21,839 [main] ERROR o.s.b.w.e.tomcat.TomcatStarter -[TomcatStarter.java:61]- Error starting Tomcat context. Exception: org.springframework.beans.factory.BeanCreationException. Message: Error creating bean with name 'tokenFilter': Lookup method resolution failed; nested exception is java.lang.IllegalStateException: Failed to introspect Class [com.bonus.hnrn.rnmw.core.config.TokenFilter] from ClassLoader [sun.misc.Launcher$AppClassLoader@659e0bfd]
|
||||
2025-12-02 18:22:21,971 [main] ERROR o.s.boot.SpringApplication -[SpringApplication.java:843]- Application run failed
|
||||
org.springframework.context.ApplicationContextException: Unable to start web server; nested exception is org.springframework.boot.web.server.WebServerException: Unable to start embedded Tomcat
|
||||
at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.onRefresh(ServletWebServerApplicationContext.java:163)
|
||||
at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:577)
|
||||
at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.refresh(ServletWebServerApplicationContext.java:145)
|
||||
at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:754)
|
||||
at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:434)
|
||||
at org.springframework.boot.SpringApplication.run(SpringApplication.java:338)
|
||||
at org.springframework.boot.SpringApplication.run(SpringApplication.java:1343)
|
||||
at org.springframework.boot.SpringApplication.run(SpringApplication.java:1332)
|
||||
at com.bonus.hnrn.rnmw.RnmwApplication.main(RnmwApplication.java:12)
|
||||
Caused by: org.springframework.boot.web.server.WebServerException: Unable to start embedded Tomcat
|
||||
at org.springframework.boot.web.embedded.tomcat.TomcatWebServer.initialize(TomcatWebServer.java:142)
|
||||
at org.springframework.boot.web.embedded.tomcat.TomcatWebServer.<init>(TomcatWebServer.java:104)
|
||||
at org.springframework.boot.web.embedded.tomcat.TomcatServletWebServerFactory.getTomcatWebServer(TomcatServletWebServerFactory.java:450)
|
||||
at org.springframework.boot.web.embedded.tomcat.TomcatServletWebServerFactory.getWebServer(TomcatServletWebServerFactory.java:199)
|
||||
at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.createWebServer(ServletWebServerApplicationContext.java:182)
|
||||
at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.onRefresh(ServletWebServerApplicationContext.java:160)
|
||||
... 8 common frames omitted
|
||||
Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'tokenFilter': Lookup method resolution failed; nested exception is java.lang.IllegalStateException: Failed to introspect Class [com.bonus.hnrn.rnmw.core.config.TokenFilter] from ClassLoader [sun.misc.Launcher$AppClassLoader@659e0bfd]
|
||||
at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor.determineCandidateConstructors(AutowiredAnnotationBeanPostProcessor.java:289)
|
||||
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.determineConstructorsFromBeanPostProcessors(AbstractAutowireCapableBeanFactory.java:1284)
|
||||
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:1201)
|
||||
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:564)
|
||||
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:524)
|
||||
at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:335)
|
||||
at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:234)
|
||||
at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:333)
|
||||
at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:213)
|
||||
at org.springframework.boot.web.servlet.ServletContextInitializerBeans.getOrderedBeansOfType(ServletContextInitializerBeans.java:212)
|
||||
at org.springframework.boot.web.servlet.ServletContextInitializerBeans.addAsRegistrationBean(ServletContextInitializerBeans.java:175)
|
||||
at org.springframework.boot.web.servlet.ServletContextInitializerBeans.addAsRegistrationBean(ServletContextInitializerBeans.java:170)
|
||||
at org.springframework.boot.web.servlet.ServletContextInitializerBeans.addAdaptableBeans(ServletContextInitializerBeans.java:155)
|
||||
at org.springframework.boot.web.servlet.ServletContextInitializerBeans.<init>(ServletContextInitializerBeans.java:87)
|
||||
at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.getServletContextInitializerBeans(ServletWebServerApplicationContext.java:260)
|
||||
at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.selfInitialize(ServletWebServerApplicationContext.java:234)
|
||||
at org.springframework.boot.web.embedded.tomcat.TomcatStarter.onStartup(TomcatStarter.java:53)
|
||||
at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5219)
|
||||
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183)
|
||||
at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1396)
|
||||
at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1386)
|
||||
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
|
||||
at org.apache.tomcat.util.threads.InlineExecutorService.execute(InlineExecutorService.java:75)
|
||||
at java.util.concurrent.AbstractExecutorService.submit(AbstractExecutorService.java:134)
|
||||
at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:919)
|
||||
at org.apache.catalina.core.StandardHost.startInternal(StandardHost.java:835)
|
||||
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183)
|
||||
at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1396)
|
||||
at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1386)
|
||||
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
|
||||
at org.apache.tomcat.util.threads.InlineExecutorService.execute(InlineExecutorService.java:75)
|
||||
at java.util.concurrent.AbstractExecutorService.submit(AbstractExecutorService.java:134)
|
||||
at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:919)
|
||||
at org.apache.catalina.core.StandardEngine.startInternal(StandardEngine.java:263)
|
||||
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183)
|
||||
at org.apache.catalina.core.StandardService.startInternal(StandardService.java:432)
|
||||
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183)
|
||||
at org.apache.catalina.core.StandardServer.startInternal(StandardServer.java:927)
|
||||
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183)
|
||||
at org.apache.catalina.startup.Tomcat.start(Tomcat.java:486)
|
||||
at org.springframework.boot.web.embedded.tomcat.TomcatWebServer.initialize(TomcatWebServer.java:123)
|
||||
... 13 common frames omitted
|
||||
Caused by: java.lang.IllegalStateException: Failed to introspect Class [com.bonus.hnrn.rnmw.core.config.TokenFilter] from ClassLoader [sun.misc.Launcher$AppClassLoader@659e0bfd]
|
||||
at org.springframework.util.ReflectionUtils.getDeclaredMethods(ReflectionUtils.java:481)
|
||||
at org.springframework.util.ReflectionUtils.doWithLocalMethods(ReflectionUtils.java:321)
|
||||
at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor.determineCandidateConstructors(AutowiredAnnotationBeanPostProcessor.java:267)
|
||||
... 53 common frames omitted
|
||||
Caused by: java.lang.NoClassDefFoundError: com/bonus/hnrn/rnmw/core/entity/UserBean
|
||||
at java.lang.Class.getDeclaredMethods0(Native Method)
|
||||
at java.lang.Class.privateGetDeclaredMethods(Class.java:2701)
|
||||
at java.lang.Class.getDeclaredMethods(Class.java:1975)
|
||||
at org.springframework.util.ReflectionUtils.getDeclaredMethods(ReflectionUtils.java:463)
|
||||
... 55 common frames omitted
|
||||
Caused by: java.lang.ClassNotFoundException: com.bonus.hnrn.rnmw.core.entity.UserBean
|
||||
at java.net.URLClassLoader.findClass(URLClassLoader.java:387)
|
||||
at java.lang.ClassLoader.loadClass(ClassLoader.java:418)
|
||||
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:359)
|
||||
at java.lang.ClassLoader.loadClass(ClassLoader.java:351)
|
||||
... 59 common frames omitted
|
||||
2025-12-02 18:23:08,162 [main] ERROR o.s.b.d.LoggingFailureAnalysisReporter -[LoggingFailureAnalysisReporter.java:40]-
|
||||
|
||||
***************************
|
||||
APPLICATION FAILED TO START
|
||||
***************************
|
||||
|
||||
Description:
|
||||
|
||||
Field passwordEncoder in com.bonus.hnrn.rnmw.person.service.CompanyServiceImp required a bean of type 'org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder' that could not be found.
|
||||
|
||||
The injection point has the following annotations:
|
||||
- @org.springframework.beans.factory.annotation.Autowired(required=true)
|
||||
|
||||
|
||||
Action:
|
||||
|
||||
Consider defining a bean of type 'org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder' in your configuration.
|
||||
|
||||
2025-12-02 18:23:38,895 [main] ERROR o.s.b.d.LoggingFailureAnalysisReporter -[LoggingFailureAnalysisReporter.java:40]-
|
||||
|
||||
***************************
|
||||
APPLICATION FAILED TO START
|
||||
***************************
|
||||
|
||||
Description:
|
||||
|
||||
Field passwordEncoder in com.bonus.hnrn.rnmw.person.service.CompanyServiceImp required a bean of type 'org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder' that could not be found.
|
||||
|
||||
The injection point has the following annotations:
|
||||
- @org.springframework.beans.factory.annotation.Autowired(required=true)
|
||||
|
||||
|
||||
Action:
|
||||
|
||||
Consider defining a bean of type 'org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder' in your configuration.
|
||||
|
||||
2025-12-02 18:24:37,190 [main] ERROR o.s.b.d.LoggingFailureAnalysisReporter -[LoggingFailureAnalysisReporter.java:40]-
|
||||
|
||||
***************************
|
||||
APPLICATION FAILED TO START
|
||||
***************************
|
||||
|
||||
Description:
|
||||
|
||||
Field passwordEncoder in com.bonus.hnrn.rnmw.person.service.CompanyServiceImp required a bean of type 'org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder' that could not be found.
|
||||
|
||||
The injection point has the following annotations:
|
||||
- @org.springframework.beans.factory.annotation.Autowired(required=true)
|
||||
|
||||
|
||||
Action:
|
||||
|
||||
Consider defining a bean of type 'org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder' in your configuration.
|
||||
|
||||
2025-12-02 18:25:29,584 [main] ERROR o.s.b.d.LoggingFailureAnalysisReporter -[LoggingFailureAnalysisReporter.java:40]-
|
||||
|
||||
***************************
|
||||
APPLICATION FAILED TO START
|
||||
***************************
|
||||
|
||||
Description:
|
||||
|
||||
Field passwordEncoder in com.bonus.hnrn.rnmw.person.service.CompanyServiceImp required a bean of type 'org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder' that could not be found.
|
||||
|
||||
The injection point has the following annotations:
|
||||
- @org.springframework.beans.factory.annotation.Autowired(required=true)
|
||||
|
||||
|
||||
Action:
|
||||
|
||||
Consider defining a bean of type 'org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder' in your configuration.
|
||||
|
||||
2025-12-02 18:26:10,586 [main] ERROR o.s.b.d.LoggingFailureAnalysisReporter -[LoggingFailureAnalysisReporter.java:40]-
|
||||
|
||||
***************************
|
||||
APPLICATION FAILED TO START
|
||||
***************************
|
||||
|
||||
Description:
|
||||
|
||||
Field passwordEncoder in com.bonus.hnrn.rnmw.person.service.CompanyServiceImp required a bean of type 'org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder' that could not be found.
|
||||
|
||||
The injection point has the following annotations:
|
||||
- @org.springframework.beans.factory.annotation.Autowired(required=true)
|
||||
|
||||
|
||||
Action:
|
||||
|
||||
Consider defining a bean of type 'org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder' in your configuration.
|
||||
|
||||
2025-12-02 18:41:38,153 [main] ERROR o.s.b.d.LoggingFailureAnalysisReporter -[LoggingFailureAnalysisReporter.java:40]-
|
||||
|
||||
***************************
|
||||
APPLICATION FAILED TO START
|
||||
***************************
|
||||
|
||||
Description:
|
||||
|
||||
Field passwordEncoder in com.bonus.hnrn.rnmw.person.service.CompanyServiceImp required a bean of type 'org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder' that could not be found.
|
||||
|
||||
The injection point has the following annotations:
|
||||
- @org.springframework.beans.factory.annotation.Autowired(required=true)
|
||||
|
||||
|
||||
Action:
|
||||
|
||||
Consider defining a bean of type 'org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder' in your configuration.
|
||||
|
||||
2025-12-02 18:42:23,127 [main] ERROR o.s.b.d.LoggingFailureAnalysisReporter -[LoggingFailureAnalysisReporter.java:40]-
|
||||
|
||||
***************************
|
||||
APPLICATION FAILED TO START
|
||||
***************************
|
||||
|
||||
Description:
|
||||
|
||||
Field passwordEncoder in com.bonus.hnrn.rnmw.person.service.CompanyServiceImp required a bean of type 'org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder' that could not be found.
|
||||
|
||||
The injection point has the following annotations:
|
||||
- @org.springframework.beans.factory.annotation.Autowired(required=true)
|
||||
|
||||
|
||||
Action:
|
||||
|
||||
Consider defining a bean of type 'org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder' in your configuration.
|
||||
|
||||
2025-12-02 18:44:37,281 [main] ERROR o.s.b.d.LoggingFailureAnalysisReporter -[LoggingFailureAnalysisReporter.java:40]-
|
||||
|
||||
***************************
|
||||
APPLICATION FAILED TO START
|
||||
***************************
|
||||
|
||||
Description:
|
||||
|
||||
Web server failed to start. Port 1917 was already in use.
|
||||
|
||||
Action:
|
||||
|
||||
Identify and stop the process that's listening on port 1917 or configure this application to listen on another port.
|
||||
|
||||
|
|
@ -52,13 +52,13 @@ public class AuthFilter implements GlobalFilter, Ordered {
|
|||
|
||||
String url = request.getURI().getPath();
|
||||
//public 都是单独走的网关鉴权
|
||||
if(!PathMatchUtil.isPublicLoginPath(url)){
|
||||
// 跳过不需要验证的路径
|
||||
// if(!PathMatchUtil.isPublicLoginPath(url)){
|
||||
// // 跳过不需要验证的路径
|
||||
//
|
||||
// }
|
||||
if (StringUtils.matches(url, ignoreWhite.getWhites())) {
|
||||
return chain.filter(exchange);
|
||||
}
|
||||
}
|
||||
|
||||
String token = getToken(request);
|
||||
if (StringUtils.isEmpty(token) || "null".equals(token)) {
|
||||
return unauthorizedResponse(exchange, "令牌不能为空");
|
||||
|
|
|
|||
|
|
@ -2,7 +2,7 @@
|
|||
server:
|
||||
port: 18080
|
||||
servlet:
|
||||
context-path: bnscloud
|
||||
context-path: hncloud
|
||||
spring:
|
||||
cloud:
|
||||
nacos:
|
||||
|
|
@ -10,8 +10,12 @@ spring:
|
|||
# 服务注册地址
|
||||
server-addr: 127.0.0.1:8848
|
||||
namespace: 289db019-a290-4903-ac1a-5d341af8b272
|
||||
# server-addr: 192.168.0.14:18848
|
||||
# namespace: e0337b55-080d-456e-8449-46d68dceee5b
|
||||
config:
|
||||
# 配置中心地址
|
||||
# server-addr: 192.168.0.14:18848
|
||||
# namespace: e0337b55-080d-456e-8449-46d68dceee5b
|
||||
server-addr: 127.0.0.1:8848
|
||||
namespace: 289db019-a290-4903-ac1a-5d341af8b272
|
||||
# 配置文件格式
|
||||
|
|
@ -31,8 +35,8 @@ spring:
|
|||
datasource:
|
||||
ds1:
|
||||
nacos:
|
||||
server-addr: 192.168.87.190:8848
|
||||
namespace: e9abf140-675a-4d55-af3f-1f28a6186904
|
||||
server-addr: 192.168.0.14:18848
|
||||
namespace: e0337b55-080d-456e-8449-46d68dceee5b
|
||||
dataId: sentinel-bonus-gateway
|
||||
groupId: DEFAULT_GROUP
|
||||
data-type: json
|
||||
|
|
|
|||
|
|
@ -26,7 +26,12 @@
|
|||
<groupId>com.alibaba.cloud</groupId>
|
||||
<artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
|
||||
</dependency>
|
||||
|
||||
<!-- OpenFeign 依赖 -->
|
||||
<dependency>
|
||||
<groupId>org.springframework.cloud</groupId>
|
||||
<artifactId>spring-cloud-starter-openfeign</artifactId>
|
||||
<version>2.1.0.RELEASE</version>
|
||||
</dependency>
|
||||
<!-- spring-boot-devtools -->
|
||||
<dependency>
|
||||
<groupId>org.springframework.boot</groupId>
|
||||
|
|
|
|||
|
|
@ -0,0 +1,15 @@
|
|||
package com.bns.ldlz.config;
|
||||
|
||||
import feign.Request;
|
||||
import org.springframework.context.annotation.Bean;
|
||||
import org.springframework.context.annotation.Configuration;
|
||||
|
||||
@Configuration
|
||||
public class FeignTimeoutConfig {
|
||||
@Bean
|
||||
public Request.Options feignOptions() {
|
||||
// 连接超时 5 秒,读取超时 60 秒
|
||||
return new Request.Options(5000, 60000);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -52,6 +52,18 @@ public class PublicLoginController {
|
|||
return ajax;
|
||||
}
|
||||
|
||||
/**
|
||||
* loginForm
|
||||
* @param
|
||||
* @param response
|
||||
*/
|
||||
@PostMapping("innerLogin")
|
||||
public AjaxResult innerLogin(@RequestBody LoginForm loginForm) {
|
||||
AjaxResult ajax = AjaxResult.success();
|
||||
String token = loginService.innerLogin(loginForm);
|
||||
ajax.put(Constants.TOKEN, token);
|
||||
return ajax;
|
||||
}
|
||||
|
||||
@PostMapping("addUser")
|
||||
@ApiOperation(value = "新增用户")
|
||||
|
|
|
|||
|
|
@ -83,6 +83,31 @@ public class PublicLoginService {
|
|||
// 生成token
|
||||
return tokenService.createToken(userDetails);
|
||||
|
||||
}
|
||||
|
||||
public String innerLogin(LoginForm us) {
|
||||
String username = us.getUsername();
|
||||
SysUser user = userService.selectUserByUserName(us.getUsername());
|
||||
if (StringUtils.isNull(user))
|
||||
{
|
||||
log.info("登录用户:{} 不存在.", username);
|
||||
throw new ServiceException(MessageUtils.message("user.not.exists"));
|
||||
}
|
||||
else if (UserStatus.DELETED.getCode().equals(user.getDelFlag()))
|
||||
{
|
||||
log.info("登录用户:{} 已被删除.", username);
|
||||
throw new ServiceException(MessageUtils.message("user.password.delete"));
|
||||
}
|
||||
else if (UserStatus.DISABLE.getCode().equals(user.getStatus()))
|
||||
{
|
||||
log.info("登录用户:{} 已被停用.", username);
|
||||
throw new ServiceException(MessageUtils.message("user.blocked"));
|
||||
}
|
||||
LoginUser userDetails=new LoginUser(user.getUserId(), user.getDeptId(), user, permissionService.getMenuPermission(user));
|
||||
recordLoginInfo(userDetails.getUserId());
|
||||
// 生成token
|
||||
return tokenService.createToken(userDetails);
|
||||
|
||||
}
|
||||
/**
|
||||
* 记录登录信息
|
||||
|
|
|
|||
|
|
@ -8,11 +8,15 @@ spring:
|
|||
cloud:
|
||||
nacos:
|
||||
discovery:
|
||||
# server-addr: 192.168.0.14:18848
|
||||
# namespace: e0337b55-080d-456e-8449-46d68dceee5b
|
||||
server-addr: 127.0.0.1:8848
|
||||
namespace: 289db019-a290-4903-ac1a-5d341af8b272
|
||||
|
||||
# namespace: 07736b2e-9922-415e-8624-50b275be556e
|
||||
config:
|
||||
# server-addr: 192.168.0.14:18848
|
||||
# namespace: e0337b55-080d-456e-8449-46d68dceee5b
|
||||
server-addr: 127.0.0.1:8848
|
||||
namespace: 289db019-a290-4903-ac1a-5d341af8b272
|
||||
# namespace: 07736b2e-9922-415e-8624-50b275be556e
|
||||
|
|
|
|||
|
|
@ -306,12 +306,6 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
|||
order by u.leader_order_num asc
|
||||
</select>
|
||||
|
||||
<update id ="removeUserLeader" parameterType="Long">
|
||||
update bns_ldlz_sys_user set is_leader = '0' where user_id = #{userId}
|
||||
</update>
|
||||
<update id ="removeUserLeader" parameterType="Long">
|
||||
update bns_ldlz_sys_user set is_leader = '0' where user_id = #{userId}
|
||||
</update>
|
||||
<update id ="removeUsersLeader" parameterType="Long">
|
||||
update bns_ldlz_sys_user set is_leader = '0'
|
||||
<if test="array != null and array.length > 0">
|
||||
|
|
|
|||
|
|
@ -40,6 +40,7 @@
|
|||
<type>pom</type>
|
||||
<scope>import</scope>
|
||||
</dependency>
|
||||
|
||||
<!-- <dependency>-->
|
||||
<!-- <groupId>org.springframework.plugin</groupId>-->
|
||||
<!-- <artifactId>spring-plugin-core</artifactId>-->
|
||||
|
|
@ -67,7 +68,11 @@
|
|||
<groupId>com.alibaba.cloud</groupId>
|
||||
<artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
|
||||
</dependency>
|
||||
|
||||
<!-- OpenFeign 依赖 -->
|
||||
<dependency>
|
||||
<groupId>org.springframework.cloud</groupId>
|
||||
<artifactId>spring-cloud-starter-openfeign</artifactId>
|
||||
</dependency>
|
||||
<!-- spring-boot-devtools -->
|
||||
<dependency>
|
||||
<groupId>org.springframework.boot</groupId>
|
||||
|
|
|
|||
|
|
@ -4,6 +4,7 @@ import org.mybatis.spring.annotation.MapperScan;
|
|||
import org.springframework.boot.SpringApplication;
|
||||
import org.springframework.boot.SpringBootVersion;
|
||||
import org.springframework.boot.autoconfigure.SpringBootApplication;
|
||||
import org.springframework.cloud.openfeign.EnableFeignClients;
|
||||
import org.springframework.scheduling.annotation.EnableScheduling;
|
||||
|
||||
/**
|
||||
|
|
@ -13,6 +14,7 @@ import org.springframework.scheduling.annotation.EnableScheduling;
|
|||
@SpringBootApplication
|
||||
@MapperScan("com.bonus.hn.bearing.capacity.screen.*.dao")
|
||||
@EnableScheduling // 启动定时任务
|
||||
@EnableFeignClients
|
||||
public class CzlScreenApplication {
|
||||
|
||||
public static void main(String[] args) {
|
||||
|
|
|
|||
|
|
@ -13,6 +13,7 @@ import com.bonus.hn.bearing.capacity.screen.datainterface.entity.RealPersonBean;
|
|||
import com.bonus.hn.bearing.capacity.screen.manager.utils.Aes;
|
||||
import com.bonus.hn.bearing.capacity.screen.manager.utils.DateTimeHelper;
|
||||
import org.omg.Messaging.SYNC_WITH_TRANSPORT;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
|
|
@ -28,6 +29,7 @@ import java.util.Map;
|
|||
@Service("DataInterfaceService")
|
||||
public class DataInterfaceServiceImpl implements DataInterfaceService{
|
||||
|
||||
|
||||
//湖南承载力-查询工程
|
||||
private static String url = "http://140.210.209.102:1921/hnBmw/interface";
|
||||
|
||||
|
|
@ -42,16 +44,21 @@ public class DataInterfaceServiceImpl implements DataInterfaceService{
|
|||
//湖南承载力-查询实名制基本信息
|
||||
private static String getRealNameInfo = url+"/getRealNameInfo";
|
||||
|
||||
@Autowired
|
||||
private SmzServiceFeignClient smzServiceFeignClient;
|
||||
|
||||
@Resource
|
||||
private DataInterfaceDao dataInterfaceDao;
|
||||
|
||||
@Override
|
||||
public void getOwn(ProjectBean bean) {
|
||||
Map<String, String> headers = new HashMap<String, String>();
|
||||
headers.put("Content-Type","Application/json");
|
||||
HttpRequest request = HttpUtil.createPost(getOwn);
|
||||
request.addHeaders(headers);
|
||||
String result = request.execute().body();
|
||||
// Map<String, String> headers = new HashMap<String, String>();
|
||||
// headers.put("Content-Type","Application/json");
|
||||
// HttpRequest request = HttpUtil.createPost(getOwn);
|
||||
// request.addHeaders(headers);
|
||||
// String result = request.execute().body();
|
||||
|
||||
String result=smzServiceFeignClient.getOwn("","");
|
||||
result = Aes.aesDecrypt(result);
|
||||
JSONObject jsonObject = JSONObject.parseObject(result);
|
||||
String res = jsonObject.getString("res");
|
||||
|
|
@ -130,11 +137,12 @@ public class DataInterfaceServiceImpl implements DataInterfaceService{
|
|||
|
||||
@Override
|
||||
public void getRealNameInfo(ProjectBean bean) {
|
||||
Map<String, String> headers = new HashMap<String, String>();
|
||||
headers.put("Content-Type","Application/json");
|
||||
HttpRequest request = HttpUtil.createPost(getRealNameInfo);
|
||||
request.addHeaders(headers);
|
||||
String result = request.execute().body();
|
||||
// Map<String, String> headers = new HashMap<String, String>();
|
||||
// headers.put("Content-Type","Application/json");
|
||||
// HttpRequest request = HttpUtil.createPost(getRealNameInfo);
|
||||
// request.addHeaders(headers);
|
||||
// String result = request.execute().body();
|
||||
String result=smzServiceFeignClient.getRealNameInfo("");
|
||||
result = Aes.aesDecrypt(result);
|
||||
JSONObject jsonObject = JSONObject.parseObject(result);
|
||||
String res = jsonObject.getString("res");
|
||||
|
|
@ -192,11 +200,12 @@ public class DataInterfaceServiceImpl implements DataInterfaceService{
|
|||
|
||||
@Override
|
||||
public void getRealName(ProjectBean bean) {
|
||||
Map<String, String> headers = new HashMap<String, String>();
|
||||
headers.put("Content-Type","Application/json");
|
||||
HttpRequest request = HttpUtil.createPost(getRealName);
|
||||
request.addHeaders(headers);
|
||||
String result = request.execute().body();
|
||||
// Map<String, String> headers = new HashMap<String, String>();
|
||||
// headers.put("Content-Type","Application/json");
|
||||
// HttpRequest request = HttpUtil.createPost(getRealName);
|
||||
// request.addHeaders(headers);
|
||||
// String result = request.execute().body();
|
||||
String result=smzServiceFeignClient.getRealName("","");
|
||||
result = Aes.aesDecrypt(result);
|
||||
JSONObject jsonObject = JSONObject.parseObject(result);
|
||||
String res = jsonObject.getString("res");
|
||||
|
|
@ -255,11 +264,12 @@ public class DataInterfaceServiceImpl implements DataInterfaceService{
|
|||
@Override
|
||||
public void getProject(ProjectBean bean) {
|
||||
|
||||
Map<String, String> headers = new HashMap<String, String>();
|
||||
headers.put("Content-Type","Application/json");
|
||||
HttpRequest request = HttpUtil.createPost(getPro);
|
||||
request.addHeaders(headers);
|
||||
String result = request.execute().body();
|
||||
// Map<String, String> headers = new HashMap<String, String>();
|
||||
// headers.put("Content-Type","Application/json");
|
||||
// HttpRequest request = HttpUtil.createPost(getPro);
|
||||
// request.addHeaders(headers);
|
||||
// String result = request.execute().body();
|
||||
String result=smzServiceFeignClient.getPro("");
|
||||
result = Aes.aesDecrypt(result);
|
||||
JSONObject jsonObject = JSONObject.parseObject(result);
|
||||
String res = jsonObject.getString("res");
|
||||
|
|
|
|||
|
|
@ -0,0 +1,25 @@
|
|||
package com.bonus.hn.bearing.capacity.screen.datainterface.service;
|
||||
|
||||
import org.springframework.cloud.openfeign.FeignClient;
|
||||
import org.springframework.web.bind.annotation.PostMapping;
|
||||
import org.springframework.web.bind.annotation.RequestParam;
|
||||
|
||||
@FeignClient(value = "bonus-realname")
|
||||
public interface SmzServiceFeignClient {
|
||||
|
||||
|
||||
@PostMapping("interface/getPro")
|
||||
String getPro( String name);
|
||||
|
||||
|
||||
@PostMapping("interface/getRealName")
|
||||
String getRealName(@RequestParam(value = "startTime", required = false) String startTime,@RequestParam(value = "endTime", required = false) String endTime);
|
||||
|
||||
|
||||
@PostMapping("interface/getOwn")
|
||||
String getOwn(@RequestParam(value = "startTime", required = false) String startTime, @RequestParam(value = "endTime", required = false) String endTime);
|
||||
|
||||
|
||||
@PostMapping("interface/getRealNameInfo")
|
||||
String getRealNameInfo(String time);
|
||||
}
|
||||
|
|
@ -3,6 +3,7 @@ package com.bonus.hn.bearing.capacity.screen.login.controller;
|
|||
|
||||
import com.bonus.hn.bearing.capacity.screen.login.service.PublicLoginService;
|
||||
import com.bonus.hn.bearing.capacity.screen.login.vo.LoginForm;
|
||||
import com.bonus.hn.bearing.capacity.screen.manager.utils.AjaxRes;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.web.bind.annotation.PostMapping;
|
||||
import org.springframework.web.bind.annotation.RequestBody;
|
||||
|
|
@ -31,7 +32,10 @@ public class PublicLoginController {
|
|||
loginService.login(token,response);
|
||||
}
|
||||
|
||||
|
||||
@PostMapping("innerLogin")
|
||||
public AjaxRes innerLogin(@RequestBody LoginForm token) {
|
||||
return loginService.innerLogin(token);
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -11,6 +11,7 @@ import com.bonus.hn.bearing.capacity.screen.manager.model.SysUser;
|
|||
import com.bonus.hn.bearing.capacity.screen.manager.service.TokenService;
|
||||
import com.bonus.hn.bearing.capacity.screen.manager.service.UserService;
|
||||
import com.bonus.hn.bearing.capacity.screen.manager.utils.Aes;
|
||||
import com.bonus.hn.bearing.capacity.screen.manager.utils.AjaxRes;
|
||||
import com.bonus.hn.bearing.capacity.screen.manager.utils.ResponseUtil;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.beans.BeanUtils;
|
||||
|
|
@ -71,4 +72,35 @@ public class PublicLoginService {
|
|||
log.error(e.toString(),e);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 系统登录
|
||||
* @param us
|
||||
* @param response
|
||||
*/
|
||||
public AjaxRes innerLogin(LoginForm us) {
|
||||
AjaxRes aes=new AjaxRes();
|
||||
String username= us.getUsername();
|
||||
SysUser sysUser = userService.getUser(username);
|
||||
if (sysUser == null) {
|
||||
throw new AuthenticationCredentialsNotFoundException("用户名不存在");
|
||||
} else if (sysUser.getStatus() == SysUser.Status.LOCKED) {
|
||||
throw new LockedException("用户被锁定,请联系管理员");
|
||||
} else if (sysUser.getStatus() == SysUser.Status.DISABLED) {
|
||||
throw new DisabledException("用户已作废");
|
||||
}
|
||||
try {
|
||||
LoginUser loginUser = new LoginUser();
|
||||
BeanUtils.copyProperties(sysUser, loginUser);
|
||||
List<Permission> permissions = permissionDao.listByUserId(sysUser.getId());
|
||||
loginUser.setPermissions(permissions);
|
||||
Token token = tokenService.saveToken(loginUser);
|
||||
token.setCode("200");
|
||||
token.setUserame(username);
|
||||
aes.setSucceed(token);
|
||||
} catch (Exception e) {
|
||||
log.error(e.toString(),e);
|
||||
}
|
||||
return aes;
|
||||
}
|
||||
}
|
||||
|
|
@ -22,11 +22,15 @@ spring:
|
|||
username: nacos
|
||||
password: nacos
|
||||
discovery:
|
||||
# server-addr: 192.168.0.14:18848
|
||||
# namespace: e0337b55-080d-456e-8449-46d68dceee5b
|
||||
# nacos地址
|
||||
server-addr: 127.0.0.1:8848
|
||||
namespace: 289db019-a290-4903-ac1a-5d341af8b272
|
||||
# namespace: 07736b2e-9922-415e-8624-50b275be556e
|
||||
config:
|
||||
# server-addr: 192.168.0.14:18848
|
||||
# namespace: e0337b55-080d-456e-8449-46d68dceee5b
|
||||
server-addr: 127.0.0.1:8848
|
||||
namespace: 289db019-a290-4903-ac1a-5d341af8b272
|
||||
# namespace: 07736b2e-9922-415e-8624-50b275be556e
|
||||
|
|
|
|||
|
|
@ -1 +0,0 @@
|
|||
table.dataTable{clear:both;margin-top:6px !important;margin-bottom:6px !important;max-width:none !important;border-collapse:separate !important}table.dataTable td,table.dataTable th{-webkit-box-sizing:content-box;box-sizing:content-box}table.dataTable td.dataTables_empty,table.dataTable th.dataTables_empty{text-align:center}table.dataTable.nowrap th,table.dataTable.nowrap td{white-space:nowrap}div.dataTables_wrapper div.dataTables_length label{font-weight:normal;text-align:left;white-space:nowrap}div.dataTables_wrapper div.dataTables_length select{width:75px;display:inline-block}div.dataTables_wrapper div.dataTables_filter{text-align:right}div.dataTables_wrapper div.dataTables_filter label{font-weight:normal;white-space:nowrap;text-align:left}div.dataTables_wrapper div.dataTables_filter input{margin-left:0.5em;display:inline-block;width:auto}div.dataTables_wrapper div.dataTables_info{padding-top:8px;white-space:nowrap}div.dataTables_wrapper div.dataTables_paginate{margin:0;white-space:nowrap;text-align:right}div.dataTables_wrapper div.dataTables_paginate ul.pagination{margin:2px 0;white-space:nowrap}div.dataTables_wrapper div.dataTables_processing{position:absolute;top:50%;left:50%;width:200px;margin-left:-100px;margin-top:-26px;text-align:center;padding:1em 0}table.dataTable thead>tr>th.sorting_asc,table.dataTable thead>tr>th.sorting_desc,table.dataTable thead>tr>th.sorting,table.dataTable thead>tr>td.sorting_asc,table.dataTable thead>tr>td.sorting_desc,table.dataTable thead>tr>td.sorting{padding-right:30px}table.dataTable thead>tr>th:active,table.dataTable thead>tr>td:active{outline:none}table.dataTable thead .sorting,table.dataTable thead .sorting_asc,table.dataTable thead .sorting_desc,table.dataTable thead .sorting_asc_disabled,table.dataTable thead .sorting_desc_disabled{cursor:pointer;position:relative}table.dataTable thead .sorting:after,table.dataTable thead .sorting_asc:after,table.dataTable thead .sorting_desc:after,table.dataTable thead .sorting_asc_disabled:after,table.dataTable thead .sorting_desc_disabled:after{position:absolute;bottom:8px;right:8px;display:block;font-family:'Glyphicons Halflings';opacity:0.5}table.dataTable thead .sorting:after{opacity:0.2;content:"\e150"}table.dataTable thead .sorting_asc:after{content:"\e155"}table.dataTable thead .sorting_desc:after{content:"\e156"}table.dataTable thead .sorting_asc_disabled:after,table.dataTable thead .sorting_desc_disabled:after{color:#eee}div.dataTables_scrollHead table.dataTable{margin-bottom:0 !important}div.dataTables_scrollBody>table{border-top:none;margin-top:0 !important;margin-bottom:0 !important}div.dataTables_scrollBody>table>thead .sorting:after,div.dataTables_scrollBody>table>thead .sorting_asc:after,div.dataTables_scrollBody>table>thead .sorting_desc:after{display:none}div.dataTables_scrollBody>table>tbody>tr:first-child>th,div.dataTables_scrollBody>table>tbody>tr:first-child>td{border-top:none}div.dataTables_scrollFoot>table{margin-top:0 !important;border-top:none}@media screen and (max-width: 767px){div.dataTables_wrapper div.dataTables_length,div.dataTables_wrapper div.dataTables_filter,div.dataTables_wrapper div.dataTables_info,div.dataTables_wrapper div.dataTables_paginate{text-align:center}}table.dataTable.table-condensed>thead>tr>th{padding-right:20px}table.dataTable.table-condensed .sorting:after,table.dataTable.table-condensed .sorting_asc:after,table.dataTable.table-condensed .sorting_desc:after{top:6px;right:6px}table.table-bordered.dataTable th,table.table-bordered.dataTable td{border-left-width:0}table.table-bordered.dataTable th:last-child,table.table-bordered.dataTable th:last-child,table.table-bordered.dataTable td:last-child,table.table-bordered.dataTable td:last-child{border-right-width:0}table.table-bordered.dataTable tbody th,table.table-bordered.dataTable tbody td{border-bottom-width:0}div.dataTables_scrollHead table.table-bordered{border-bottom-width:0}div.table-responsive>div.dataTables_wrapper>div.row{margin:0}div.table-responsive>div.dataTables_wrapper>div.row>div[class^="col-"]:first-child{padding-left:0}div.table-responsive>div.dataTables_wrapper>div.row>div[class^="col-"]:last-child{padding-right:0}
|
||||
|
Before Width: | Height: | Size: 434 KiB |
|
|
@ -1,427 +0,0 @@
|
|||
/* 布局 */
|
||||
.site-inline{font-size: 0;}
|
||||
.site-tree, .site-content{display: inline-block; *display:inline; *zoom:1; vertical-align: top; font-size: 14px;}
|
||||
.site-tree{width: 220px; min-height: 900px; padding: 5px 0 20px;}
|
||||
.site-content{width: 899px; min-height: 900px; padding: 20px 0 10px 20px;}
|
||||
|
||||
/* 头部 */admin-side-toggle
|
||||
.header{height: 65px; border-bottom: 1px solid #404553; background-color: #393D49; color: #fff;}
|
||||
.logo{position: absolute; left: 0; top: 18px;}
|
||||
.logo img{width: 82px; height: 31px;}
|
||||
|
||||
.header .layui-nav{position: absolute; right: 0; top: 0; padding: 0; background: none;}
|
||||
.header .layui-nav .layui-nav-item{margin: 0 20px; line-height: 66px;}
|
||||
|
||||
.menu{position: absolute; right: 0; top: 0; line-height: 65px;}
|
||||
.menu a{display:inline-block; *display:inline; *zoom:1; vertical-align:top;}
|
||||
.menu a{position: relative; padding: 0 20px; margin: 0 20px; color: #c2c2c2; font-size: 14px;}
|
||||
.menu a:hover{color: #fff; transition: all .5s; -webkit-transition: all .5s}
|
||||
.menu a.this{color: #fff}
|
||||
.menu a.this::after{content: ''; position: absolute; left: 0; bottom: -1px; width: 100%; height: 5px; background-color: #5FB878;}
|
||||
|
||||
.header-index{background-color: #080018; border: none;}
|
||||
|
||||
.layui-layout-admin .header-demo{border-bottom-color: #1AA094; background-color: #fff;}
|
||||
.header-demo .logo{left: 40px;}
|
||||
.header-demo .layui-nav{top: 0;}
|
||||
.header-demo .layui-nav .layui-nav-item{margin: 0 10px; line-height: 65px;}
|
||||
.header-demo .layui-nav .layui-nav-item a{color: #999;}
|
||||
.header-demo .layui-nav .layui-this{background-color: #f2f2f2;}
|
||||
.header-demo .layui-nav .layui-nav-item a:hover,
|
||||
.header-demo .layui-nav .layui-this a{color: #000;}
|
||||
.header-demo .layui-nav .layui-this:after,
|
||||
.header-demo .layui-nav-bar{background-color: #393D49;}
|
||||
.header-demo .layui-nav .layui-this a{padding: 0 20px;}
|
||||
|
||||
/* 底部 */
|
||||
.footer{padding: 30px 0; line-height: 30px; text-align: center; background-color: #eee; color: #666; font-weight: 300;}
|
||||
body .layui-layout-admin .footer-demo{height: auto; padding: 5px 0; line-height: 26px;}
|
||||
.footer a{padding: 0 5px;}
|
||||
|
||||
/* 首页banner部分 */
|
||||
.site-banner{position: relative; height: 600px; text-align: center; overflow: hidden; background-color: #393D49;}
|
||||
.site-banner-bg
|
||||
,.site-banner-main{position: absolute; left: 0; top: 0; width: 100%; height: 100%;}
|
||||
.site-banner-bg{background-position: center 0;}
|
||||
|
||||
|
||||
.site-zfj{padding-top: 25px; height: 220px;}
|
||||
.site-zfj i{position: absolute; left: 50%; top: 25px; width: 200px; height: 200px; margin-left: -100px; font-size: 200px; color: #c2c2c2;}
|
||||
|
||||
@-webkit-keyframes site-zfj {
|
||||
0% {opacity: 1; -webkit-transform: translate3d(0, 0, 0) rotate(0deg) scale(1);}
|
||||
10% {opacity: 0.8; -webkit-transform: translate3d(-100px, 0px, 0) rotate(10deg) scale(0.7);}
|
||||
35% {opacity: 0.6; -webkit-transform: translate3d(100px, 0px, 0) rotate(30deg) scale(0.4);}
|
||||
50% {opacity: 0.4; -webkit-transform: translate3d(0, 0, 0) rotate(360deg) scale(0);}
|
||||
80% {opacity: 0.2; -webkit-transform: translate3d(0, 0, 0) rotate(720deg) scale(1);}
|
||||
90% {opacity: 0.1; -webkit-transform: translate3d(0, 0, 0) rotate(3600deg) scale(6);}
|
||||
100% {opacity: 1; -webkit-transform: translate3d(0, 0, 0) rotate(3600deg) scale(1);}
|
||||
}
|
||||
@keyframes site-zfj {
|
||||
0% {opacity: 1; transform: translate3d(0, 0, 0) rotate(0deg) scale(1);}
|
||||
10% {opacity: 0.8; transform: translate3d(-100px, 0px, 0) rotate(10deg) scale(0.7);}
|
||||
35% {opacity: 0.6; transform: translate3d(100px, 0px, 0) rotate(30deg) scale(0.4);}
|
||||
50% {opacity: 0.4; transform: translate3d(0, 0, 0) rotate(360deg) scale(0);}
|
||||
80% {opacity: 0.2; transform: translate3d(0, 0, 0) rotate(720deg) scale(1);}
|
||||
90% {opacity: 0.1; transform: translate3d(0, 0, 0) rotate(3600deg) scale(6);}
|
||||
100% {opacity: 1; transform: translate3d(0, 0, 0) rotate(3600deg) scale(1);}
|
||||
}
|
||||
|
||||
@-webkit-keyframes site-desc {
|
||||
0% { -webkit-transform: scale(1.1);}
|
||||
100% {opacity: 1; -webkit-transform: scale(1);}
|
||||
}
|
||||
@keyframes site-desc {
|
||||
0% { transform: scale(1.1);}
|
||||
100% {transform: scale(1);}
|
||||
}
|
||||
|
||||
.layui-anim-scaleSpring{-webkit-animation-name: layui-scale-spring; animation-name: layui-scale-spring}
|
||||
.site-zfj-anim i{-webkit-animation-name: site-zfj; animation-name: site-zfj; -webkit-animation-duration: 5s; animation-duration: 5s; -webkit-animation-timing-function: linear; animation-timing-function: linear;}
|
||||
|
||||
|
||||
.site-desc{position: relative; height: 70px; margin-top: 25px; background: url(../images/layui/desc.png) center no-repeat;}
|
||||
.site-desc-anim{-webkit-animation-name: site-desc; animation-name: site-desc;}
|
||||
|
||||
.site-desc cite{position: absolute; bottom: -40px; left: 0; width: 100%; color: #c2c2c2; font-style: normal;}
|
||||
.site-download{margin-top: 80px; font-size: 0;}
|
||||
.site-download a{position: relative; padding: 0 45px 0 90px; height: 60px; line-height: 60px; border: 1px solid #464B5B; font-size: 24px; color: #ccc; transition: all .5s; -webkit-transition: all .5s;}
|
||||
.site-download a:hover{border: 1px solid #778097; color: #fff; border-radius: 30px; }
|
||||
.site-download a cite{position: absolute; left: 45px; font-size: 30px;}
|
||||
.site-version{position: relative; margin-top: 15px; color: #ccc; font-size: 12px;}
|
||||
.site-version span{padding: 0 3px;}
|
||||
.site-version *{font-style: normal;}
|
||||
.site-version a{color: #e2e2e2; text-decoration: underline;}
|
||||
|
||||
.site-banner-other{position: absolute; left: 0; bottom: 32px; width: 100%; text-align: center;}
|
||||
.site-banner-other iframe{border: none;}
|
||||
|
||||
.site-idea{margin: 50px 0; font-size: 0; text-align: center; font-weight: 300;}
|
||||
.site-idea li{display: inline-block; vertical-align: top; *display: inline; *zoom:1; font-size: 14px; }
|
||||
.site-idea li{width: 298px; height: 150px; padding: 30px; line-height: 24px; margin-left: 30px; border: 1px solid #d2d2d2; text-align: left;}
|
||||
.site-idea li:first-child{margin-left: 0}
|
||||
.site-idea .layui-field-title{border-color: #d2d2d2}
|
||||
.site-idea .layui-field-title legend{margin: 0 20px 20px 0; padding: 0 20px; text-align: center;}
|
||||
|
||||
|
||||
/* 辅助 */
|
||||
.site-tips{margin-bottom: 10px; padding: 15px; border-left: 5px solid #0078AD; background-color: #f2f2f2;}
|
||||
body .site-tips p{margin: 0;}
|
||||
|
||||
/* 目录 */
|
||||
.site-dir{display: none;}
|
||||
.site-dir li{line-height: 26px; margin-left: 20px; overflow: visible; list-style-type: disc;}
|
||||
.site-dir li a{display: block;}
|
||||
.site-dir li a:active{color: #01AAED;}
|
||||
.site-dir li a.layui-this{color: #01AAED;}
|
||||
body .layui-layer-dir{box-shadow: none; border: 1px solid #d2d2d2;}
|
||||
body .layui-layer-dir .layui-layer-content{padding: 10px; max-height: 280px; overflow: auto;}
|
||||
.site-dir a em{padding-left: 5px; font-size: 12px; color: #c2c2c2; font-style: normal;}
|
||||
|
||||
/* 文档 */
|
||||
.site-tree{border-right: 1px solid #eee; }
|
||||
.site-tree .layui-tree{line-height: 32px;}
|
||||
.site-tree .layui-tree li i{position: relative; font-size: 22px; color: #000}
|
||||
.site-tree .layui-tree li a cite{padding: 0 8px;}
|
||||
.site-tree .layui-tree .site-tree-noicon a cite{padding-left: 15px;}
|
||||
.site-tree .layui-tree li a em{font-size: 12px; color: #bbb; padding-right: 5px; font-style: normal;}
|
||||
.site-tree .layui-tree li h2{line-height: 36px; border-left: 5px solid #009E94; margin: 15px 0 5px; padding: 0 10px; background-color: #f2f2f2;}
|
||||
.site-tree .layui-tree li ul{margin-left: 27px; line-height: 28px;}
|
||||
.site-tree .layui-tree li ul a,
|
||||
.site-tree .layui-tree li ul a i{color: #777;}
|
||||
.site-tree .layui-tree li ul a:hover{color: #333;}
|
||||
.site-tree .layui-tree li ul li{margin-left: 25px; overflow: visible; list-style-type: disc; /*list-style-position: inside;*/}
|
||||
.site-tree .layui-tree li ul li cite,
|
||||
.site-tree .layui-tree .site-tree-noicon ul li cite{padding-left: 0;}
|
||||
|
||||
.site-tree .layui-tree .layui-this a{color: #01AAED;}
|
||||
.site-tree .layui-tree .layui-this .layui-icon{color: #01AAED;}
|
||||
|
||||
.site-fix .site-tree{position: fixed; top: 0; bottom: 0; z-index: 666; min-height: 0; overflow: auto; background-color: #fff;}
|
||||
.site-fix .site-content{margin-left: 220px;}
|
||||
.site-fix-footer .site-tree{margin-bottom: 120px;}
|
||||
|
||||
|
||||
.site-title{ margin: 30px 0 20px;}
|
||||
.site-title fieldset{border: none; padding: 0; border-top: 1px solid #eee;}
|
||||
.site-title fieldset legend{margin-left: 20px; padding: 0 10px; font-size: 22px; font-weight: 300;}
|
||||
|
||||
.site-text a{color: #01AAED;}
|
||||
.site-h1{margin-bottom: 20px; line-height: 60px; padding-bottom: 10px; color: #393D49; border-bottom: 1px solid #eee; font-size: 28px; font-weight: 300;}
|
||||
.site-h1 .layui-icon{position: relative; top: 5px; font-size: 50px; margin-right: 10px;}
|
||||
.site-text{position:relative;}
|
||||
.site-text p{margin-bottom: 10px; line-height:22px;}
|
||||
.site-text em{padding: 0 3px; font-weight: 500; font-style: italic; color: #666;}
|
||||
.site-text code{margin:0 5px; padding: 3px 10px; border: 1px solid #e2e2e2; background-color: #fbfbfb; color: #666; border-radius: 2px;}
|
||||
|
||||
.site-table{width: 100%; margin: 10px 0;}
|
||||
.site-table thead{background-color:#f2f2f2; }
|
||||
.site-table th,
|
||||
.site-table td{padding: 6px 15px; min-height: 20px; line-height: 20px; border:1px solid #ddd; font-size: 14px; font-weight: 400;}
|
||||
.site-table tr:nth-child(even){background: #fbfbfb;}
|
||||
|
||||
.site-block{padding: 20px; border: 1px solid #eee;}
|
||||
.site-block .layui-form{margin-right: 200px;}
|
||||
|
||||
|
||||
/* 演示 */
|
||||
body .layui-layout-admin .site-demo{bottom: 82px; padding: 0;z-index:-1;}
|
||||
body .site-demo-nav .layui-nav-item{line-height: 40px}
|
||||
.layui-nav-item .layui-icon{position: relative; /*font-size: 20px;*/}
|
||||
.layui-nav-item a cite{padding: 0 10px;}
|
||||
.site-demo .layui-main{margin: 15px; line-height: 22px;}
|
||||
.site-demo-editor{position: absolute; top: 0; bottom: 0; left: 0; width: 50%; }
|
||||
.site-demo-area{position: absolute; top: 0; bottom: 90px; width: 100%;}
|
||||
.site-demo-editor textarea{position: absolute; width: 100%; height: 100%; padding: 15px; border: none; resize: none; /*background-color: #F7FBFF;*/ background-color: #272822; color: #CFBFAF; font-family: Courier New; font-size: 12px; -webkit-box-sizing: border-box !important; -moz-box-sizing: border-box !important; box-sizing: border-box !important;}
|
||||
.site-demo-btn{position: absolute; bottom: 100px; right: 20px;}
|
||||
.site-demo-zanzhu{position: absolute; bottom: 0; left: 0; width: 100%; height: 90px; text-align: center; background-color: #e2e2e2; overflow: hidden;}
|
||||
.site-demo-zanzhu>*{position: relative; z-index: 1;}
|
||||
.site-demo-zanzhu:before{content: ""; position: absolute; z-index: 0; top: 50%; left: 50%; width: 120px; margin: -10px 0px 0px -60px; text-align: center; color: rgb(170, 170, 170); font-size: 18px; font-weight: 300; }
|
||||
|
||||
.site-demo-result{position: absolute; right: 0; top: 0; bottom: 0; width: 50%;}
|
||||
.site-demo-result iframe{position: absolute; width: 100%; height: 100%;}
|
||||
|
||||
.site-demo-button{margin-bottom: 30px;}
|
||||
.site-demo-button div{margin: 20px 30px 10px;}
|
||||
.site-demo-button .layui-btn{margin-bottom: 10px;}
|
||||
|
||||
|
||||
.site-demo-laytpl{text-align: center;}
|
||||
.site-demo-laytpl textarea,
|
||||
.site-demo-laytpl div span{width: 40%; padding: 15px; margin: 0 15px;}
|
||||
.site-demo-laytpl textarea{height: 300px; border: none; background-color: #3F3F3F; color: #E3CEAB; font-family: Courier New; resize: none;}
|
||||
.site-demo-laytpl div span{display: inline-block; text-align: center; background: #101010; color: #fff;}
|
||||
.site-demo-tplres{margin: 10px 0; text-align: center}
|
||||
.site-demo-tplres .site-demo-tplh2,
|
||||
.site-demo-tplres .site-demo-tplview{display: inline-block; width: 50%;}
|
||||
.site-demo-tplres h2{padding: 15px; background: #e2e2e2;}
|
||||
.site-demo-tplres h3{font-weight: 700;}
|
||||
.site-demo-tplres div{padding: 14px; border: 1px solid #e2e2e2; text-align: left;}
|
||||
|
||||
.site-demo-upload,
|
||||
.site-demo-upload img{width: 200px; height: 200px; border-radius: 100%;}
|
||||
.site-demo-upload{position: relative; background: #e2e2e2;}
|
||||
.site-demo-upload .site-demo-upbar{position: absolute; top: 50%; left: 50%; margin: -18px 0 0 -56px;}
|
||||
.site-demo-upload .layui-upload-button{background-color: rgba(0,0,0,.2); color: rgba(255,255,255,1);}
|
||||
|
||||
.site-demo-util{position: relative; width: 300px;}
|
||||
.site-demo-util img{width: 300px; border-radius: 100%;}
|
||||
.site-demo-util span{position: absolute; left: 0; top: 0; width: 100%; height: 100%; background: #333; cursor: pointer;}
|
||||
@-webkit-keyframes demo-fengjie {
|
||||
0% {-webkit-filter: blur(0); opacity: 1; background: #fff; height: 300px; border-radius: 100%;}
|
||||
80% {-webkit-filter: blur(50px); opacity: 0.95;}
|
||||
100% {-webkit-filter: blur(20px); opacity: 0; background: #fff;}
|
||||
}
|
||||
@keyframes demo-fengjie {
|
||||
0% {filter: blur(0); opacity: 1; background: #fff; height: 300px; border-radius: 100%;}
|
||||
80% {filter: blur(50px); opacity: 0.95;}
|
||||
100% {filter: blur(20px); opacity: 0; background: #fff;}
|
||||
}
|
||||
.site-demo-fengjie{-webkit-animation-name: demo-fengjie; animation-name: demo-fengjie; -webkit-animation-duration: 5s; animation-duration: 5s;}
|
||||
|
||||
|
||||
.layui-layout-admin .site-demo-body{top: 117px;}
|
||||
.site-demo-title{position: fixed; left: 200px; right: 0; top: 76px;}
|
||||
.site-demo-code{position: absolute; left: 0; top: 0; width: 100%; height: 100%; border: none; padding: 10px; resize: none; font-size: 12px; background-color: #F7FBFF; color: #881280; font-family: Courier New;}
|
||||
|
||||
.site-demo-body .layui-elem-quote a{color: #01AAED;}
|
||||
.site-demo-body .layui-elem-quote a:hover{color: #FF5722;}
|
||||
|
||||
|
||||
/* 其它 */
|
||||
#trans-tooltip,
|
||||
#tip-arrow-bottom,
|
||||
#tip-arrow-top{display: none !important;}
|
||||
|
||||
|
||||
/* 独立组件 */
|
||||
.alone{width:730px; margin:200px auto;}
|
||||
.alone ul{margin-left:1px; font-size:0;}
|
||||
.alone li{display:inline-block; width:181px; font-size: 16px; text-align:center; line-height:80px; margin:0 1px 1px 0; background-color:#393D49; color:#fff;}
|
||||
.alone li:hover{opacity:0.8;}
|
||||
.alone li a{display:block; color:#fff;}
|
||||
|
||||
|
||||
/* 自定义css */
|
||||
.admin-header-item-mobile{
|
||||
position: absolute; right: 0px; height: 70px;line-height: 70px;
|
||||
padding: 0 20px; text-align: center; top:0;
|
||||
display: none;
|
||||
}
|
||||
|
||||
.admin-nav-tree .layui-nav-child a {
|
||||
padding-left: 30px;
|
||||
}
|
||||
|
||||
.layui-nav-child dd{position:relative;margin-left: 10px}
|
||||
|
||||
.admin{
|
||||
border: 0;
|
||||
margin: 0;
|
||||
box-shadow:none;
|
||||
}
|
||||
.admin-nav-card{
|
||||
margin-top: 5px;
|
||||
}
|
||||
.admin-nav-card .layui-icon{
|
||||
position: relative;
|
||||
}
|
||||
.admin-nav-card .layui-tab-item iframe{
|
||||
width: 100%;
|
||||
border: 0;
|
||||
height: 100%;
|
||||
}
|
||||
.admin-nav-card>.layui-tab-title{
|
||||
border-bottom: 1px solid #1AA094;
|
||||
}
|
||||
.admin-nav-card .layui-tab-title cite{
|
||||
font-style: normal;
|
||||
padding-left: 5px;
|
||||
}
|
||||
.admin-nav-card>.layui-tab-title .layui-this{
|
||||
color: white;
|
||||
background-color: #1AA094;
|
||||
}
|
||||
.admin-nav-card>.layui-tab-title .layui-this:after{
|
||||
border-bottom: 0;
|
||||
}
|
||||
.admin-header-user img{
|
||||
width: 40px; height: 40px; border-radius: 100%;
|
||||
/*position: relative;
|
||||
top: 15px;*/
|
||||
}
|
||||
.admin-header-user .layui-nav-more{
|
||||
top:33px;
|
||||
}
|
||||
.admin-header-user .layui-nav-mored{
|
||||
top: 26px;
|
||||
}
|
||||
|
||||
/*lock*/
|
||||
.admin-header-lock{
|
||||
width: 320px; height: 150px; padding: 20px; position: relative; text-align: center;
|
||||
}
|
||||
.admin-header-lock-img{
|
||||
width: 60px; height: 60px; margin: 0 auto;
|
||||
}
|
||||
.admin-header-lock-img img{
|
||||
width: 60px; height: 60px; border-radius: 100%;
|
||||
}
|
||||
.admin-header-lock-name{
|
||||
color: #009688;margin: 8px 0 15px 0;
|
||||
}
|
||||
.admin-header-lock-input{
|
||||
width: 150px; color: #FFFFFF; height: 30px; border: 0;background-color: #009688; padding: 0 7px; border-radius: 2px;
|
||||
}
|
||||
/*table*/
|
||||
.site-table tbody tr td {text-align: center;}
|
||||
.site-table tbody tr td .layui-btn+.layui-btn{margin-left: 0px;}
|
||||
.admin-table-page {position: fixed;z-index: 19940201;bottom: 0;width: 100%;background-color: #eee;border-bottom: 1px solid #ddd;left: 0px;}
|
||||
.admin-table-page .page{padding-left:20px;}
|
||||
.admin-table-page .page .layui-laypage {margin: 6px 0 0 0;}
|
||||
|
||||
/**/
|
||||
.admin-main {margin: 15px;}
|
||||
|
||||
.admin-side-toggle,.admin-side-full{
|
||||
position: absolute; cursor: pointer;
|
||||
z-index: 19940201;
|
||||
left: 200px;
|
||||
color: white;
|
||||
text-align: center;
|
||||
width: 30px;
|
||||
height: 30px;
|
||||
background-color: #1AA094;
|
||||
line-height: 30px;
|
||||
top: 25%;
|
||||
}
|
||||
.admin-side-toggle:hover{
|
||||
background-color: #5FB878;
|
||||
}
|
||||
.admin-side-full{
|
||||
left: 240px;
|
||||
}
|
||||
.admin-login-box{
|
||||
width: 185px; height: 70px; position: relative;
|
||||
}
|
||||
|
||||
.beg-navbar .layui-nav-child dd a{
|
||||
padding-left: 30px;
|
||||
}
|
||||
|
||||
|
||||
.admin-contextmenu{
|
||||
position: absolute;line-height: 36px;padding: 5px 0;
|
||||
border: 1px solid #d2d2d2;background-color: white;z-index: 19940201;border-radius: 2px;white-space: nowrap;top:30px;
|
||||
/*width: 100px;height: 200px; */
|
||||
}
|
||||
.admin-contextmenu ul li{
|
||||
padding: 0 15px;
|
||||
}
|
||||
.admin-contextmenu ul li:hover{
|
||||
background-color: #eee;
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
|
||||
/* 适配多设备 */
|
||||
@media screen and (max-width: 750px) {
|
||||
.layui-main{width: auto; margin: 0 10px;}
|
||||
.logo,
|
||||
.header-demo .logo{left: 10px;}
|
||||
|
||||
.site-nav-layim{display: none !important;}
|
||||
.header .layui-nav .layui-nav-item{margin: 0;}
|
||||
.header .layui-nav .layui-nav-item a{padding: 0 15px;}
|
||||
.site-banner{height: 300px;}
|
||||
.site-banner-bg{background-size: cover;}
|
||||
.site-zfj{height: 100px; padding-top: 5px;}
|
||||
.site-zfj i{top: 10px; width: 100px; height: 100px; margin-left: -50px; font-size: 100px;}
|
||||
.site-desc{background-size: 70%; margin: 0;}
|
||||
.site-desc cite{display: none;}
|
||||
.site-download{margin-top: 0; }
|
||||
.site-download a{height: 40px; line-height: 40px; padding: 0 25px 0 60px; border: 1px solid #778097; border-radius: 30px; color: #fff; font-size: 16px;}
|
||||
.site-download a cite{left: 20px;}
|
||||
.site-banner-other{bottom: 15px;}
|
||||
|
||||
.site-idea{margin: 20px 0;}
|
||||
.site-idea li{margin: 0 0 20px 0; width: 100%; height: auto; -webkit-box-sizing: border-box !important; -moz-box-sizing: border-box !important; box-sizing: border-box !important;}
|
||||
.site-hengfu img{max-width: 100%}
|
||||
|
||||
.layui-layer-dir{display: none;}
|
||||
.site-tree{position: fixed; top: 0; bottom: 0; min-height: 0; overflow: auto; z-index: 1000; left: -260px; background-color: #fff; transition: all .3s; -webkit-transition: all .3s;}
|
||||
.site-content{width: 100%; padding: 0; overflow: auto;}
|
||||
.site-content img{max-width: 100%;}
|
||||
.site-tree-mobile{display: block!important; position: fixed; z-index: 100000; bottom: 15px; left: 15px; width: 50px; height: 50px; line-height: 50px; border-radius: 2px; text-align: center; background-color: rgba(0,0,0,.7); color: #fff;}
|
||||
.site-home .site-tree-mobile{display: none!important;}
|
||||
.site-mobile .site-tree-mobile{display: none !important;}
|
||||
.site-mobile .site-tree{left: 0;}
|
||||
.site-mobile .site-mobile-shade{content: ''; position: fixed; top: 0; bottom: 0; left: 0; right: 0; background-color: rgba(0,0,0,.8); z-index: 9999;}
|
||||
.site-tree-mobile i{font-size: 20px;}
|
||||
.layui-code-view{-webkit-box-sizing: border-box; -moz-box-sizing: border-box; box-sizing: border-box;}
|
||||
|
||||
.layui-layout-admin .layui-side{position: fixed; top: 0; left: -260px; transition: all .3s; -webkit-transition: all .3s; z-index: 10000;}
|
||||
.layui-body{position: static; bottom: 0; left: 0;}
|
||||
.site-mobile .layui-side{left: 0;}
|
||||
body .layui-layout-admin .footer-demo{position: static;}
|
||||
|
||||
.site-demo-area,
|
||||
.site-demo-editor,
|
||||
.site-demo-result,
|
||||
.site-demo-editor textarea,
|
||||
.site-demo-result iframe{position: static; width: 100%;}
|
||||
.site-demo-editor textarea{height: 350px;}
|
||||
.site-demo-zanzhu{display: none;}
|
||||
.site-demo-btn{bottom: auto; top: 370px;}
|
||||
.site-demo-result iframe{height: 500px;}
|
||||
|
||||
.site-demo-laytpl textarea, .site-demo-laytpl div span{margin: 0;}
|
||||
.site-demo-tplres .site-demo-tplh2, .site-demo-tplres .site-demo-tplview{width: 100%; -webkit-box-sizing: border-box; -moz-box-sizing: border-box; box-sizing: border-box;}
|
||||
|
||||
.site-demo-title{position: static; left: 0;}
|
||||
body .layui-layout-admin .site-demo{}
|
||||
.site-demo-code{position: static; height: 350px;}
|
||||
|
||||
.admin-side-toggle ,.admin-header-item{display: none;}
|
||||
.admin-header-item-mobile{ display: block; }
|
||||
}
|
||||
|
|
@ -1,357 +0,0 @@
|
|||
*{
|
||||
font: 13px/1.5 '微软雅黑', Verdana, Helvetica, Arial, sans-serif;
|
||||
-webkit-box-sizing: border-box;
|
||||
-moz-box-sizing: border-box;
|
||||
-box-sizing: border-box;
|
||||
padding:0;
|
||||
margin:0;
|
||||
list-style:none;
|
||||
box-sizing: border-box;
|
||||
}
|
||||
|
||||
body,html{
|
||||
height:100%;
|
||||
overflow:hidden;
|
||||
}
|
||||
body{
|
||||
background:url(../img/home/bg.png) no-repeat ;
|
||||
background-size: cover;
|
||||
}
|
||||
|
||||
.time{
|
||||
position: absolute;
|
||||
right: 2%;
|
||||
font-size: 20px;
|
||||
letter-spacing: 2px;
|
||||
top: 2.5%;
|
||||
color: #19ECFF;
|
||||
}
|
||||
|
||||
|
||||
.tou{
|
||||
height: 100%;
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
.centers{
|
||||
display: flex;
|
||||
flex-direction: row;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
}
|
||||
|
||||
.head{
|
||||
height:10%;
|
||||
width: 100%;
|
||||
font-size: 40px;
|
||||
color: #19ECFF;
|
||||
letter-spacing: 10px;
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
.main{
|
||||
display: flex;
|
||||
height:90%;
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
.login{
|
||||
height: 56%;
|
||||
width: 30%;
|
||||
}
|
||||
|
||||
.title{
|
||||
color: #ffffff;
|
||||
font-size: 40px;
|
||||
font-weight: bold;
|
||||
letter-spacing: 10px;
|
||||
}
|
||||
|
||||
.info{
|
||||
flex:2;
|
||||
height: 100%;
|
||||
background:url(../img/home/infoBg.png) no-repeat;
|
||||
background-size: cover;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
}
|
||||
|
||||
.one{
|
||||
flex: 1;
|
||||
margin-top: 3%;
|
||||
margin-left: 10%;
|
||||
margin-right: 10%;
|
||||
color: #ffffff;
|
||||
letter-spacing: 2px;
|
||||
font-size: 18px;
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
.two{
|
||||
margin-bottom: 2%;
|
||||
display: flex;
|
||||
flex: 2;
|
||||
margin-left: 10%;
|
||||
margin-right: 6%;
|
||||
}
|
||||
|
||||
.four{
|
||||
margin-bottom: 2%;
|
||||
display: flex;
|
||||
flex: 4;
|
||||
margin-left: 10%;
|
||||
margin-right: 6%;
|
||||
}
|
||||
|
||||
.infoBg{
|
||||
flex: 1;
|
||||
flex-direction: column;
|
||||
color: #ffffff;
|
||||
padding-left: 2%;
|
||||
padding-top: 1%;
|
||||
letter-spacing: 1px;
|
||||
font-size: 16px;
|
||||
display: flex;
|
||||
}
|
||||
|
||||
.cursor{
|
||||
background-image: url(../img/home/cursor.png);
|
||||
background-size: cover;
|
||||
background-repeat: no-repeat;
|
||||
background-position: center center; /* 可选,用于居中背景图 */
|
||||
}
|
||||
|
||||
.board{
|
||||
background:url(../img/home/board.png);
|
||||
background-size: cover;
|
||||
background-repeat: no-repeat;
|
||||
background-position: center center; /* 可选,用于居中背景图 */
|
||||
}
|
||||
.blue{
|
||||
color: #01E2DE;
|
||||
font-size: 21px;
|
||||
font-weight: bold
|
||||
}
|
||||
|
||||
.green{
|
||||
color: #5CFEA7;
|
||||
font-size: 21px;
|
||||
font-weight: bold
|
||||
}
|
||||
|
||||
.red{
|
||||
color: #FF5C52;
|
||||
font-size: 21px;
|
||||
font-weight: bold
|
||||
}
|
||||
|
||||
.yellow{
|
||||
color: #FEDB65;
|
||||
font-size: 21px;
|
||||
font-weight: bold
|
||||
}
|
||||
|
||||
.ash{
|
||||
color: #C2C6D0;
|
||||
}
|
||||
|
||||
.ass{
|
||||
color: #40B284;
|
||||
}
|
||||
|
||||
.ye{
|
||||
color: #D3B95E;
|
||||
}
|
||||
|
||||
.resource{
|
||||
flex:3;
|
||||
height: 100%;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
}
|
||||
|
||||
.greens{
|
||||
height: 35px;
|
||||
width: 35px;
|
||||
background:url(../img/home/green.png);
|
||||
background-repeat: no-repeat;
|
||||
background-position: center center; /* 可选,用于居中背景图 */
|
||||
}
|
||||
|
||||
.blues{
|
||||
height: 35px;
|
||||
width: 35px;
|
||||
background:url(../img/home/blue.png);
|
||||
background-repeat: no-repeat;
|
||||
background-position: center center; /* 可选,用于居中背景图 */
|
||||
}
|
||||
|
||||
.yellows{
|
||||
height: 35px;
|
||||
width: 35px;
|
||||
background:url(../img/home/yellow.png);
|
||||
background-repeat: no-repeat;
|
||||
background-position: center center; /* 可选,用于居中背景图 */
|
||||
}
|
||||
|
||||
.text{
|
||||
flex: 1;
|
||||
color: #C3C5CF;
|
||||
}
|
||||
|
||||
.textFont{
|
||||
color: #00FFF4;
|
||||
font-size: 18px;
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
.textFonts{
|
||||
color: #FEDB65;
|
||||
font-size: 18px;
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
a.logo{
|
||||
display: block;
|
||||
height: 58px;
|
||||
width: 167px;
|
||||
margin: 0 auto 30px auto;
|
||||
background-size: 167px 42px;
|
||||
}
|
||||
.message {
|
||||
margin: 1% 0 0 0;
|
||||
text-align: center;
|
||||
color: #fff;
|
||||
font-size: 30px;
|
||||
letter-spacing: 3px;
|
||||
font-family: "Helvetica Neue", Helvetica, "PingFang SC", 微软雅黑, Tahoma, Arial, sans-serif;
|
||||
font-weight: 600;
|
||||
}
|
||||
|
||||
#login-form{
|
||||
margin-top: 15%;
|
||||
width: 70%;
|
||||
margin-left: 15%;
|
||||
}
|
||||
|
||||
.input-container{
|
||||
position: relative;
|
||||
}
|
||||
|
||||
.icon {
|
||||
position: absolute;
|
||||
top: 16px;
|
||||
left: 10px;
|
||||
width: 20px;
|
||||
height: 20px;
|
||||
}
|
||||
|
||||
.photo{
|
||||
background-image: url("../img/login/phone.png");
|
||||
}
|
||||
|
||||
.pwd{
|
||||
background-image: url("../img/login/pwd.png");
|
||||
}
|
||||
|
||||
.code{
|
||||
background-image: url("../img/login/code.png");
|
||||
}
|
||||
|
||||
.refresh{
|
||||
position: absolute;
|
||||
top: 20px;
|
||||
right: -20px;
|
||||
width: 25px;
|
||||
height: 25px;
|
||||
background-image: url("../img/login/refresh.png");
|
||||
}
|
||||
|
||||
::-webkit-input-placeholder{
|
||||
/*Webkit browsers*/
|
||||
color:#9FA6B4;
|
||||
font-size:16px;
|
||||
}
|
||||
::-moz-placeholder{
|
||||
/*Mozilla Firefox 4 to 8*/
|
||||
color:#9FA6B4;
|
||||
font-size:16px;
|
||||
}
|
||||
|
||||
::-moz-placeholder{
|
||||
/*Mozilla Firefox 19+*/
|
||||
color:#9FA6B4;
|
||||
font-size:16px;
|
||||
}
|
||||
::-ms-input-placeholder{
|
||||
/*Internet Explorer 10+*/
|
||||
color:#9FA6B4;
|
||||
font-size:16px;
|
||||
}
|
||||
|
||||
input[type=text],
|
||||
input[type=file],
|
||||
input[type=password],
|
||||
input[type=email], select {
|
||||
border: 1px solid #2AA0E6;
|
||||
vertical-align: middle;
|
||||
border-radius: 3px;
|
||||
height: 50px;
|
||||
padding: 0px 35px;
|
||||
font-size: 14px;
|
||||
color: #ffffff;
|
||||
outline:none;
|
||||
width:100%;
|
||||
background-color: transparent;
|
||||
}
|
||||
input[type=text]:focus,
|
||||
input[type=file]:focus,
|
||||
input[type=password]:focus,
|
||||
input[type=email]:focus, select:focus {
|
||||
border: 1px solid #27A9E3;
|
||||
}
|
||||
|
||||
|
||||
input[type=submit],
|
||||
button{
|
||||
display: inline-block;
|
||||
vertical-align: middle;
|
||||
padding: 12px 24px;
|
||||
margin: 0px;
|
||||
font-size: 18px;
|
||||
line-height: 24px;
|
||||
text-align: center;
|
||||
white-space: nowrap;
|
||||
vertical-align: middle;
|
||||
cursor: pointer;
|
||||
color: #ffffff;
|
||||
background-color: #189F92;
|
||||
border-radius: 3px;
|
||||
border: none;
|
||||
-webkit-appearance: none;
|
||||
outline:none;
|
||||
width:100%;
|
||||
}
|
||||
hr.hr15 {
|
||||
height: 15px;
|
||||
border: none;
|
||||
margin: 0px;
|
||||
padding: 0px;
|
||||
width: 100%;
|
||||
}
|
||||
hr.hr20 {
|
||||
height: 20px;
|
||||
border: none;
|
||||
margin: 0px;
|
||||
padding: 0px;
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
.copyright{
|
||||
font-size:14px;
|
||||
color:rgba(255,255,255,0.85);
|
||||
display:block;
|
||||
position:absolute;
|
||||
bottom:15px;
|
||||
right:15px;
|
||||
}
|
||||
|
|
@ -1,193 +0,0 @@
|
|||
*{
|
||||
font: 13px/1.5 '微软雅黑', Verdana, Helvetica, Arial, sans-serif;
|
||||
-webkit-box-sizing: border-box;
|
||||
-moz-box-sizing: border-box;
|
||||
-box-sizing: border-box;
|
||||
padding:0;
|
||||
margin:0;
|
||||
list-style:none;
|
||||
box-sizing: border-box;
|
||||
}
|
||||
|
||||
body,html{
|
||||
height:100%;
|
||||
overflow:hidden;
|
||||
}
|
||||
body{
|
||||
background:url(../img/login/bg.png) no-repeat center;
|
||||
background-size: cover;
|
||||
}
|
||||
a{
|
||||
color:#27A9E3;
|
||||
text-decoration:none;
|
||||
cursor:pointer;
|
||||
}
|
||||
|
||||
.centers{
|
||||
display: flex;
|
||||
flex-direction: row;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
}
|
||||
|
||||
.tou{
|
||||
height: 100%;
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
.login{
|
||||
height: 56%;
|
||||
width: 30%;
|
||||
}
|
||||
|
||||
.title{
|
||||
color: #ffffff;
|
||||
font-size: 40px;
|
||||
font-weight: bold;
|
||||
letter-spacing: 10px;
|
||||
}
|
||||
|
||||
a.logo{
|
||||
display: block;
|
||||
height: 58px;
|
||||
width: 167px;
|
||||
margin: 0 auto 30px auto;
|
||||
background-size: 167px 42px;
|
||||
}
|
||||
.message {
|
||||
margin: 1% 0 0 0;
|
||||
text-align: center;
|
||||
color: #fff;
|
||||
font-size: 30px;
|
||||
letter-spacing: 3px;
|
||||
font-family: "Helvetica Neue", Helvetica, "PingFang SC", 微软雅黑, Tahoma, Arial, sans-serif;
|
||||
font-weight: 600;
|
||||
}
|
||||
|
||||
#login-form{
|
||||
margin-top: 15%;
|
||||
width: 70%;
|
||||
margin-left: 15%;
|
||||
}
|
||||
|
||||
.input-container{
|
||||
position: relative;
|
||||
}
|
||||
|
||||
.icon {
|
||||
position: absolute;
|
||||
top: 16px;
|
||||
left: 10px;
|
||||
width: 20px;
|
||||
height: 20px;
|
||||
}
|
||||
|
||||
.photo{
|
||||
background-image: url("../img/login/phone.png");
|
||||
}
|
||||
|
||||
.pwd{
|
||||
background-image: url("../img/login/pwd.png");
|
||||
}
|
||||
|
||||
.code{
|
||||
background-image: url("../img/login/code.png");
|
||||
}
|
||||
|
||||
.refresh{
|
||||
position: absolute;
|
||||
top: 20px;
|
||||
right: -20px;
|
||||
width: 25px;
|
||||
height: 25px;
|
||||
background-image: url("../img/login/refresh.png");
|
||||
}
|
||||
|
||||
::-webkit-input-placeholder{
|
||||
/*Webkit browsers*/
|
||||
color:#9FA6B4;
|
||||
font-size:16px;
|
||||
}
|
||||
::-moz-placeholder{
|
||||
/*Mozilla Firefox 4 to 8*/
|
||||
color:#9FA6B4;
|
||||
font-size:16px;
|
||||
}
|
||||
|
||||
::-moz-placeholder{
|
||||
/*Mozilla Firefox 19+*/
|
||||
color:#9FA6B4;
|
||||
font-size:16px;
|
||||
}
|
||||
::-ms-input-placeholder{
|
||||
/*Internet Explorer 10+*/
|
||||
color:#9FA6B4;
|
||||
font-size:16px;
|
||||
}
|
||||
|
||||
input[type=text],
|
||||
input[type=file],
|
||||
input[type=password],
|
||||
input[type=email], select {
|
||||
border: 1px solid #2AA0E6;
|
||||
vertical-align: middle;
|
||||
border-radius: 3px;
|
||||
height: 50px;
|
||||
padding: 0px 35px;
|
||||
font-size: 14px;
|
||||
color: #ffffff;
|
||||
outline:none;
|
||||
width:100%;
|
||||
background-color: transparent;
|
||||
}
|
||||
input[type=text]:focus,
|
||||
input[type=file]:focus,
|
||||
input[type=password]:focus,
|
||||
input[type=email]:focus, select:focus {
|
||||
border: 1px solid #27A9E3;
|
||||
}
|
||||
|
||||
|
||||
input[type=submit],
|
||||
button{
|
||||
display: inline-block;
|
||||
vertical-align: middle;
|
||||
padding: 12px 24px;
|
||||
margin: 0px;
|
||||
font-size: 18px;
|
||||
line-height: 24px;
|
||||
text-align: center;
|
||||
white-space: nowrap;
|
||||
vertical-align: middle;
|
||||
cursor: pointer;
|
||||
color: #ffffff;
|
||||
background-color: #189F92;
|
||||
border-radius: 3px;
|
||||
border: none;
|
||||
-webkit-appearance: none;
|
||||
outline:none;
|
||||
width:100%;
|
||||
}
|
||||
hr.hr15 {
|
||||
height: 15px;
|
||||
border: none;
|
||||
margin: 0px;
|
||||
padding: 0px;
|
||||
width: 100%;
|
||||
}
|
||||
hr.hr20 {
|
||||
height: 20px;
|
||||
border: none;
|
||||
margin: 0px;
|
||||
padding: 0px;
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
.copyright{
|
||||
font-size:14px;
|
||||
color:rgba(255,255,255,0.85);
|
||||
display:block;
|
||||
position:absolute;
|
||||
bottom:15px;
|
||||
right:15px;
|
||||
}
|
||||
|
|
@ -1,493 +0,0 @@
|
|||
*{
|
||||
font: 13px/1.5 '微软雅黑', Verdana, Helvetica, Arial, sans-serif;
|
||||
-webkit-box-sizing: border-box;
|
||||
-moz-box-sizing: border-box;
|
||||
-box-sizing: border-box;
|
||||
padding:0;
|
||||
margin:0;
|
||||
list-style:none;
|
||||
box-sizing: border-box;
|
||||
}
|
||||
|
||||
body,html{
|
||||
height:100%;
|
||||
overflow:hidden;
|
||||
}
|
||||
body{
|
||||
background:url(../img/home/bg.png) no-repeat ;
|
||||
background-size: cover;
|
||||
}
|
||||
|
||||
.figure{
|
||||
position: absolute;
|
||||
left: 3%;
|
||||
font-size: 20px;
|
||||
letter-spacing: 2px;
|
||||
top: 2%;
|
||||
color: #19ECFF;
|
||||
width: 10%;
|
||||
height: 5%;
|
||||
}
|
||||
|
||||
.figures{
|
||||
height:100%;
|
||||
width: 100%;
|
||||
background:url(../img/home/button.png) no-repeat ;
|
||||
background-repeat: no-repeat;
|
||||
background-position: center center; /* 可选,用于居中背景图 */
|
||||
}
|
||||
|
||||
|
||||
.time{
|
||||
position: absolute;
|
||||
right: 2%;
|
||||
font-size: 20px;
|
||||
letter-spacing: 2px;
|
||||
top: 2.5%;
|
||||
color: #19ECFF;
|
||||
}
|
||||
|
||||
|
||||
.tou{
|
||||
height: 100%;
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
.centers{
|
||||
display: flex;
|
||||
flex-direction: row;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
}
|
||||
|
||||
.head{
|
||||
height:10%;
|
||||
width: 100%;
|
||||
font-size: 40px;
|
||||
color: #19ECFF;
|
||||
letter-spacing: 10px;
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
.main{
|
||||
height:90%;
|
||||
width: 98%;
|
||||
margin: 0 1% 0 1%;
|
||||
}
|
||||
|
||||
.login{
|
||||
height: 56%;
|
||||
width: 30%;
|
||||
}
|
||||
|
||||
.title{
|
||||
color: #ffffff;
|
||||
font-size: 40px;
|
||||
font-weight: bold;
|
||||
letter-spacing: 10px;
|
||||
}
|
||||
|
||||
.one{
|
||||
flex: 0;
|
||||
margin-top: 3%;
|
||||
color: #ffffff;
|
||||
letter-spacing: 2px;
|
||||
font-size: 18px;
|
||||
font-weight: bold;
|
||||
margin-left: 4%;
|
||||
margin-right: 0%;
|
||||
|
||||
}
|
||||
|
||||
.one span{
|
||||
border: 2px solid #1B9DFC;
|
||||
}
|
||||
|
||||
.two{
|
||||
margin-bottom: 2%;
|
||||
display: flex;
|
||||
flex: 2;
|
||||
margin-left: 6%;
|
||||
margin-right: 6%;
|
||||
}
|
||||
|
||||
.four{
|
||||
margin-bottom: 2%;
|
||||
display: flex;
|
||||
flex: 4;
|
||||
margin-left: 10%;
|
||||
margin-right: 6%;
|
||||
}
|
||||
|
||||
.infoBg{
|
||||
flex: 1;
|
||||
color: #F9F9FA;
|
||||
padding-top: 1%;
|
||||
letter-spacing: 1px;
|
||||
font-size: 18px;
|
||||
display: flex;
|
||||
}
|
||||
|
||||
.fonts{
|
||||
flex: 1;
|
||||
font-size: 16px;
|
||||
}
|
||||
|
||||
.cursor{
|
||||
height: 75px;
|
||||
background-image: url(../img/home/cursor.png);
|
||||
background-size: cover;
|
||||
background-repeat: no-repeat;
|
||||
background-position: center center; /* 可选,用于居中背景图 */
|
||||
}
|
||||
|
||||
.board{
|
||||
background:url(../img/home/board.png);
|
||||
background-size: cover;
|
||||
background-repeat: no-repeat;
|
||||
background-position: center center; /* 可选,用于居中背景图 */
|
||||
}
|
||||
.blue{
|
||||
color: #01E2DE;
|
||||
font-size: 21px;
|
||||
font-weight: bold
|
||||
}
|
||||
|
||||
.green{
|
||||
color: #5CFEA7;
|
||||
font-size: 21px;
|
||||
font-weight: bold
|
||||
}
|
||||
|
||||
.red{
|
||||
color: #FF5C52;
|
||||
font-size: 21px;
|
||||
font-weight: bold
|
||||
}
|
||||
|
||||
.yellow{
|
||||
color: #FEDB65;
|
||||
font-size: 21px;
|
||||
font-weight: bold
|
||||
}
|
||||
|
||||
.ash{
|
||||
color: #C2C6D0;
|
||||
}
|
||||
|
||||
.ass{
|
||||
color: #40B284;
|
||||
}
|
||||
|
||||
.ye{
|
||||
color: #D3B95E;
|
||||
}
|
||||
|
||||
.info{
|
||||
flex: 2.35;
|
||||
height: 100%;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
}
|
||||
|
||||
.resource{
|
||||
flex:3;
|
||||
height: 100%;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
}
|
||||
|
||||
.greens{
|
||||
display: block;
|
||||
height: 35px;
|
||||
width: 35px;
|
||||
background:url(../img/home/green.png);
|
||||
background-repeat: no-repeat;
|
||||
background-position: center center; /* 可选,用于居中背景图 */
|
||||
}
|
||||
|
||||
.blues{
|
||||
height: 35px;
|
||||
width: 35px;
|
||||
background:url(../img/home/blue.png);
|
||||
background-repeat: no-repeat;
|
||||
background-position: center center; /* 可选,用于居中背景图 */
|
||||
}
|
||||
|
||||
.yellows{
|
||||
height: 35px;
|
||||
width: 35px;
|
||||
background:url(../img/home/yellow.png);
|
||||
background-repeat: no-repeat;
|
||||
background-position: center center; /* 可选,用于居中背景图 */
|
||||
}
|
||||
|
||||
.text{
|
||||
flex: 1;
|
||||
color: #C3C5CF;
|
||||
}
|
||||
|
||||
.textFont{
|
||||
color: #00FFF4;
|
||||
font-size: 18px;
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
.textFonts{
|
||||
color: #FEDB65;
|
||||
font-size: 18px;
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
table {
|
||||
border-collapse: collapse;
|
||||
}
|
||||
table td {
|
||||
padding: 10px;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
.device table td {
|
||||
padding: 10px 10px 10px 25px;
|
||||
text-align: left;
|
||||
}
|
||||
tr:nth-child(odd) td {
|
||||
margin-top: 5px;
|
||||
background-color: #051845;
|
||||
border-bottom:1px solid #1B4F9A !important;
|
||||
border-left: none;
|
||||
border-right: none;
|
||||
}
|
||||
|
||||
tr:nth-child(even) td {
|
||||
margin-top: 5px;
|
||||
background-color: #051845;
|
||||
|
||||
border-bottom:1px solid #1B4F9A !important;
|
||||
border-left: none;
|
||||
border-right: none;
|
||||
}
|
||||
|
||||
.layui-table-page{
|
||||
border-top: 1px solid #1B4F9A !important;
|
||||
}
|
||||
|
||||
.layui-table-page .layui-laypage span{
|
||||
color: #ffffff;
|
||||
}
|
||||
|
||||
.layui-table-page .layui-laypage button{
|
||||
background-color: transparent;
|
||||
width: 80px;
|
||||
}
|
||||
|
||||
.layui-table-page .layui-laypage a, .layui-table-page .layui-laypage span{
|
||||
color: #ffffff;
|
||||
}
|
||||
|
||||
.layui-table-view select[lay-ignore]{
|
||||
background-color: #000B31;
|
||||
}
|
||||
|
||||
.layui-table-box, .layui-table-view{
|
||||
border: 0px;
|
||||
}
|
||||
|
||||
.layui-table-header{
|
||||
border: 0px;
|
||||
}
|
||||
|
||||
.layui-laypage .layui-laypage-curr .layui-laypage-em{
|
||||
background-color: #4477FD;
|
||||
}
|
||||
|
||||
.titles{
|
||||
font-size: 16px;
|
||||
letter-spacing: 2px;
|
||||
color: #ffffff;
|
||||
}
|
||||
|
||||
a.logo{
|
||||
display: block;
|
||||
height: 58px;
|
||||
width: 167px;
|
||||
margin: 0 auto 30px auto;
|
||||
background-size: 167px 42px;
|
||||
}
|
||||
.message {
|
||||
margin: 1% 0 0 0;
|
||||
text-align: center;
|
||||
color: #fff;
|
||||
font-size: 30px;
|
||||
letter-spacing: 3px;
|
||||
font-family: "Helvetica Neue", Helvetica, "PingFang SC", 微软雅黑, Tahoma, Arial, sans-serif;
|
||||
font-weight: 600;
|
||||
}
|
||||
|
||||
#login-form{
|
||||
margin-top: 15%;
|
||||
width: 70%;
|
||||
margin-left: 15%;
|
||||
}
|
||||
|
||||
.input-container{
|
||||
position: relative;
|
||||
}
|
||||
|
||||
.icon {
|
||||
position: absolute;
|
||||
top: 16px;
|
||||
left: 10px;
|
||||
width: 20px;
|
||||
height: 20px;
|
||||
}
|
||||
|
||||
.photo{
|
||||
background-image: url("../img/login/phone.png");
|
||||
}
|
||||
|
||||
.pwd{
|
||||
background-image: url("../img/login/pwd.png");
|
||||
}
|
||||
|
||||
.code{
|
||||
background-image: url("../img/login/code.png");
|
||||
}
|
||||
|
||||
.refresh{
|
||||
position: absolute;
|
||||
top: 20px;
|
||||
right: -20px;
|
||||
width: 25px;
|
||||
height: 25px;
|
||||
background-image: url("../img/login/refresh.png");
|
||||
}
|
||||
|
||||
/* 设置弹出的div的背景色为 #011F50 */
|
||||
#myDivContent {
|
||||
height: 100%;
|
||||
width: 100%;
|
||||
background-color: #011F50;
|
||||
}
|
||||
|
||||
/* 设置表头的背景色为 #011F50 */
|
||||
#myDivContent thead {
|
||||
height: 100%;
|
||||
width: 100%;
|
||||
background-color: #011F50;
|
||||
}
|
||||
|
||||
/* 设置表格内容的背景色为 #011F50 */
|
||||
#myDivContent tbody {
|
||||
height: 100%;
|
||||
width: 100%;
|
||||
background-color: #011F50;
|
||||
}
|
||||
|
||||
/* 弹出层标题栏背景色设置为 #011F50 */
|
||||
.layui-layer-title {
|
||||
background-color: #00A1AE !important;
|
||||
border-bottom: 0px solid #011F50 !important;
|
||||
color: #ffffff !important;
|
||||
}
|
||||
|
||||
/* 弹出层内容区域背景色设置为 #011F50 */
|
||||
.layui-layer-content {
|
||||
background-color: #00A1AE!important;
|
||||
border-bottom: 0px solid #011F50 !important;
|
||||
color: #ffffff !important;
|
||||
}
|
||||
|
||||
/* 弹出层标题栏关闭按钮的颜色设置为 #011F50 */
|
||||
.layui-layer-setwin .layui-layer-close {
|
||||
color: red !important;
|
||||
}
|
||||
|
||||
::-webkit-input-placeholder{
|
||||
/*Webkit browsers*/
|
||||
color:#9FA6B4;
|
||||
font-size:16px;
|
||||
}
|
||||
::-moz-placeholder{
|
||||
/*Mozilla Firefox 4 to 8*/
|
||||
color:#9FA6B4;
|
||||
font-size:16px;
|
||||
}
|
||||
|
||||
::-moz-placeholder{
|
||||
/*Mozilla Firefox 19+*/
|
||||
color:#9FA6B4;
|
||||
font-size:16px;
|
||||
}
|
||||
::-ms-input-placeholder{
|
||||
/*Internet Explorer 10+*/
|
||||
color:#9FA6B4;
|
||||
font-size:16px;
|
||||
}
|
||||
|
||||
input[type=text],
|
||||
input[type=file],
|
||||
input[type=password],
|
||||
input[type=email], select {
|
||||
border: 1px solid #2A91D3;
|
||||
vertical-align: middle;
|
||||
border-radius: 3px;
|
||||
height: 40px;
|
||||
padding: 0px 15px;
|
||||
font-size: 14px;
|
||||
color: #ffffff;
|
||||
outline:none;
|
||||
width:100%;
|
||||
background-color: transparent;
|
||||
}
|
||||
input[type=text]:focus,
|
||||
input[type=file]:focus,
|
||||
input[type=password]:focus,
|
||||
input[type=email]:focus, select:focus {
|
||||
border: 1px solid #27A9E3;
|
||||
}
|
||||
|
||||
|
||||
input[type=submit],
|
||||
button{
|
||||
display: inline-block;
|
||||
vertical-align: middle;
|
||||
padding: 12px 24px;
|
||||
margin: 0px;
|
||||
font-size: 18px;
|
||||
line-height: 24px;
|
||||
text-align: center;
|
||||
white-space: nowrap;
|
||||
vertical-align: middle;
|
||||
cursor: pointer;
|
||||
color: #ffffff;
|
||||
background-color: #189F92;
|
||||
border-radius: 3px;
|
||||
border: none;
|
||||
-webkit-appearance: none;
|
||||
outline:none;
|
||||
width:100%;
|
||||
}
|
||||
hr.hr15 {
|
||||
height: 15px;
|
||||
border: none;
|
||||
margin: 0px;
|
||||
padding: 0px;
|
||||
width: 100%;
|
||||
}
|
||||
hr.hr20 {
|
||||
height: 20px;
|
||||
border: none;
|
||||
margin: 0px;
|
||||
padding: 0px;
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
.copyright{
|
||||
font-size:14px;
|
||||
color:rgba(255,255,255,0.85);
|
||||
display:block;
|
||||
position:absolute;
|
||||
bottom:15px;
|
||||
right:15px;
|
||||
}
|
||||
|
|
@ -1,451 +0,0 @@
|
|||
*{
|
||||
font: 13px/1.5 '微软雅黑', Verdana, Helvetica, Arial, sans-serif;
|
||||
-webkit-box-sizing: border-box;
|
||||
-moz-box-sizing: border-box;
|
||||
-box-sizing: border-box;
|
||||
padding:0;
|
||||
margin:0;
|
||||
list-style:none;
|
||||
box-sizing: border-box;
|
||||
}
|
||||
|
||||
body,html{
|
||||
height:100%;
|
||||
overflow:hidden;
|
||||
}
|
||||
body{
|
||||
background:url(../img/home/bg.png) no-repeat ;
|
||||
background-size: cover;
|
||||
}
|
||||
|
||||
.figure{
|
||||
position: absolute;
|
||||
left: 3%;
|
||||
font-size: 20px;
|
||||
letter-spacing: 2px;
|
||||
top: 2%;
|
||||
color: #19ECFF;
|
||||
width: 10%;
|
||||
height: 5%;
|
||||
}
|
||||
|
||||
.figures{
|
||||
height:100%;
|
||||
width: 100%;
|
||||
background:url(../img/home/button.png) no-repeat ;
|
||||
background-repeat: no-repeat;
|
||||
background-position: center center; /* 可选,用于居中背景图 */
|
||||
}
|
||||
|
||||
|
||||
.time{
|
||||
position: absolute;
|
||||
right: 2%;
|
||||
font-size: 20px;
|
||||
letter-spacing: 2px;
|
||||
top: 2.5%;
|
||||
color: #19ECFF;
|
||||
}
|
||||
|
||||
|
||||
.tou{
|
||||
height: 100%;
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
.centers{
|
||||
display: flex;
|
||||
flex-direction: row;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
}
|
||||
|
||||
.head{
|
||||
height:10%;
|
||||
width: 100%;
|
||||
font-size: 40px;
|
||||
color: #19ECFF;
|
||||
letter-spacing: 10px;
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
.main{
|
||||
display: flex;
|
||||
height:90%;
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
.login{
|
||||
height: 56%;
|
||||
width: 30%;
|
||||
}
|
||||
|
||||
.title{
|
||||
color: #ffffff;
|
||||
font-size: 40px;
|
||||
font-weight: bold;
|
||||
letter-spacing: 10px;
|
||||
}
|
||||
|
||||
.one{
|
||||
flex: 0;
|
||||
margin-top: 3%;
|
||||
color: #ffffff;
|
||||
letter-spacing: 2px;
|
||||
font-size: 18px;
|
||||
font-weight: bold;
|
||||
margin-left: 4%;
|
||||
margin-right: 0%;
|
||||
|
||||
}
|
||||
|
||||
.one span{
|
||||
border: 2px solid #1B9DFC;
|
||||
}
|
||||
|
||||
.two{
|
||||
margin-bottom: 2%;
|
||||
display: flex;
|
||||
flex: 2;
|
||||
margin-left: 6%;
|
||||
margin-right: 6%;
|
||||
}
|
||||
|
||||
.four{
|
||||
margin-bottom: 2%;
|
||||
display: flex;
|
||||
flex: 4;
|
||||
margin-left: 10%;
|
||||
margin-right: 6%;
|
||||
}
|
||||
|
||||
.infoBg{
|
||||
flex: 1;
|
||||
color: #F9F9FA;
|
||||
padding-top: 1%;
|
||||
letter-spacing: 1px;
|
||||
font-size: 18px;
|
||||
display: flex;
|
||||
}
|
||||
|
||||
.fonts{
|
||||
flex: 1;
|
||||
font-size: 16px;
|
||||
}
|
||||
|
||||
.cursor{
|
||||
height: 75px;
|
||||
background-image: url(../img/home/cursor.png);
|
||||
background-size: cover;
|
||||
background-repeat: no-repeat;
|
||||
background-position: center center; /* 可选,用于居中背景图 */
|
||||
}
|
||||
|
||||
.board{
|
||||
background:url(../img/home/board.png);
|
||||
background-size: cover;
|
||||
background-repeat: no-repeat;
|
||||
background-position: center center; /* 可选,用于居中背景图 */
|
||||
}
|
||||
.blue{
|
||||
color: #01E2DE;
|
||||
font-size: 21px;
|
||||
font-weight: bold
|
||||
}
|
||||
|
||||
.green{
|
||||
color: #5CFEA7;
|
||||
font-size: 21px;
|
||||
font-weight: bold
|
||||
}
|
||||
|
||||
.red{
|
||||
color: #FF5C52;
|
||||
font-size: 21px;
|
||||
font-weight: bold
|
||||
}
|
||||
|
||||
.yellow{
|
||||
color: #FEDB65;
|
||||
font-size: 21px;
|
||||
font-weight: bold
|
||||
}
|
||||
|
||||
.ash{
|
||||
color: #C2C6D0;
|
||||
}
|
||||
|
||||
.ass{
|
||||
color: #40B284;
|
||||
}
|
||||
|
||||
.ye{
|
||||
color: #D3B95E;
|
||||
}
|
||||
|
||||
.info{
|
||||
flex: 2.35;
|
||||
height: 100%;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
}
|
||||
|
||||
.resource{
|
||||
flex:3;
|
||||
height: 100%;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
}
|
||||
|
||||
.greens{
|
||||
display: block;
|
||||
height: 35px;
|
||||
width: 35px;
|
||||
background:url(../img/home/green.png);
|
||||
background-repeat: no-repeat;
|
||||
background-position: center center; /* 可选,用于居中背景图 */
|
||||
}
|
||||
|
||||
.blues{
|
||||
height: 35px;
|
||||
width: 35px;
|
||||
background:url(../img/home/blue.png);
|
||||
background-repeat: no-repeat;
|
||||
background-position: center center; /* 可选,用于居中背景图 */
|
||||
}
|
||||
|
||||
.yellows{
|
||||
height: 35px;
|
||||
width: 35px;
|
||||
background:url(../img/home/yellow.png);
|
||||
background-repeat: no-repeat;
|
||||
background-position: center center; /* 可选,用于居中背景图 */
|
||||
}
|
||||
|
||||
.text{
|
||||
flex: 1;
|
||||
color: #C3C5CF;
|
||||
}
|
||||
|
||||
.textFont{
|
||||
color: #00FFF4;
|
||||
font-size: 18px;
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
.textFonts{
|
||||
color: #FEDB65;
|
||||
font-size: 18px;
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
table {
|
||||
border-collapse: collapse;
|
||||
}
|
||||
table td {
|
||||
padding: 10px;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
.device table td {
|
||||
padding: 10px 10px 10px 25px;
|
||||
text-align: left;
|
||||
}
|
||||
tr:nth-child(odd) td {
|
||||
background-color: #011F50;
|
||||
}
|
||||
|
||||
tr:nth-child(even) td {
|
||||
background-color: #001A45;
|
||||
}
|
||||
|
||||
.titles{
|
||||
font-size: 16px;
|
||||
letter-spacing: 2px;
|
||||
color: #ffffff;
|
||||
}
|
||||
|
||||
a.logo{
|
||||
display: block;
|
||||
height: 58px;
|
||||
width: 167px;
|
||||
margin: 0 auto 30px auto;
|
||||
background-size: 167px 42px;
|
||||
}
|
||||
.message {
|
||||
margin: 1% 0 0 0;
|
||||
text-align: center;
|
||||
color: #fff;
|
||||
font-size: 30px;
|
||||
letter-spacing: 3px;
|
||||
font-family: "Helvetica Neue", Helvetica, "PingFang SC", 微软雅黑, Tahoma, Arial, sans-serif;
|
||||
font-weight: 600;
|
||||
}
|
||||
|
||||
#login-form{
|
||||
margin-top: 15%;
|
||||
width: 70%;
|
||||
margin-left: 15%;
|
||||
}
|
||||
|
||||
.input-container{
|
||||
position: relative;
|
||||
}
|
||||
|
||||
.icon {
|
||||
position: absolute;
|
||||
top: 16px;
|
||||
left: 10px;
|
||||
width: 20px;
|
||||
height: 20px;
|
||||
}
|
||||
|
||||
.photo{
|
||||
background-image: url("../img/login/phone.png");
|
||||
}
|
||||
|
||||
.pwd{
|
||||
background-image: url("../img/login/pwd.png");
|
||||
}
|
||||
|
||||
.code{
|
||||
background-image: url("../img/login/code.png");
|
||||
}
|
||||
|
||||
.refresh{
|
||||
position: absolute;
|
||||
top: 20px;
|
||||
right: -20px;
|
||||
width: 25px;
|
||||
height: 25px;
|
||||
background-image: url("../img/login/refresh.png");
|
||||
}
|
||||
|
||||
/* 设置弹出的div的背景色为 #011F50 */
|
||||
#myDivContent {
|
||||
height: 100%;
|
||||
width: 100%;
|
||||
background-color: #011F50;
|
||||
}
|
||||
|
||||
/* 设置表头的背景色为 #011F50 */
|
||||
#myDivContent thead {
|
||||
height: 100%;
|
||||
width: 100%;
|
||||
background-color: #011F50;
|
||||
}
|
||||
|
||||
/* 设置表格内容的背景色为 #011F50 */
|
||||
#myDivContent tbody {
|
||||
height: 100%;
|
||||
width: 100%;
|
||||
background-color: #011F50;
|
||||
}
|
||||
|
||||
/* 弹出层标题栏背景色设置为 #011F50 */
|
||||
.layui-layer-title {
|
||||
background-color: #00A1AE !important;
|
||||
border-bottom: 0px solid #011F50 !important;
|
||||
color: #ffffff !important;
|
||||
}
|
||||
|
||||
/* 弹出层内容区域背景色设置为 #011F50 */
|
||||
.layui-layer-content {
|
||||
background-color: #00A1AE!important;
|
||||
border-bottom: 0px solid #011F50 !important;
|
||||
color: #ffffff !important;
|
||||
}
|
||||
|
||||
/* 弹出层标题栏关闭按钮的颜色设置为 #011F50 */
|
||||
.layui-layer-setwin .layui-layer-close {
|
||||
color: red !important;
|
||||
}
|
||||
|
||||
::-webkit-input-placeholder{
|
||||
/*Webkit browsers*/
|
||||
color:#9FA6B4;
|
||||
font-size:16px;
|
||||
}
|
||||
::-moz-placeholder{
|
||||
/*Mozilla Firefox 4 to 8*/
|
||||
color:#9FA6B4;
|
||||
font-size:16px;
|
||||
}
|
||||
|
||||
::-moz-placeholder{
|
||||
/*Mozilla Firefox 19+*/
|
||||
color:#9FA6B4;
|
||||
font-size:16px;
|
||||
}
|
||||
::-ms-input-placeholder{
|
||||
/*Internet Explorer 10+*/
|
||||
color:#9FA6B4;
|
||||
font-size:16px;
|
||||
}
|
||||
|
||||
input[type=text],
|
||||
input[type=file],
|
||||
input[type=password],
|
||||
input[type=email], select {
|
||||
border: 1px solid #2AA0E6;
|
||||
vertical-align: middle;
|
||||
border-radius: 3px;
|
||||
height: 50px;
|
||||
padding: 0px 35px;
|
||||
font-size: 14px;
|
||||
color: #ffffff;
|
||||
outline:none;
|
||||
width:100%;
|
||||
background-color: transparent;
|
||||
}
|
||||
input[type=text]:focus,
|
||||
input[type=file]:focus,
|
||||
input[type=password]:focus,
|
||||
input[type=email]:focus, select:focus {
|
||||
border: 1px solid #27A9E3;
|
||||
}
|
||||
|
||||
|
||||
input[type=submit],
|
||||
button{
|
||||
display: inline-block;
|
||||
vertical-align: middle;
|
||||
padding: 12px 24px;
|
||||
margin: 0px;
|
||||
font-size: 18px;
|
||||
line-height: 24px;
|
||||
text-align: center;
|
||||
white-space: nowrap;
|
||||
vertical-align: middle;
|
||||
cursor: pointer;
|
||||
color: #ffffff;
|
||||
background-color: #189F92;
|
||||
border-radius: 3px;
|
||||
border: none;
|
||||
-webkit-appearance: none;
|
||||
outline:none;
|
||||
width:100%;
|
||||
}
|
||||
hr.hr15 {
|
||||
height: 15px;
|
||||
border: none;
|
||||
margin: 0px;
|
||||
padding: 0px;
|
||||
width: 100%;
|
||||
}
|
||||
hr.hr20 {
|
||||
height: 20px;
|
||||
border: none;
|
||||
margin: 0px;
|
||||
padding: 0px;
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
.copyright{
|
||||
font-size:14px;
|
||||
color:rgba(255,255,255,0.85);
|
||||
display:block;
|
||||
position:absolute;
|
||||
bottom:15px;
|
||||
right:15px;
|
||||
}
|
||||
|
|
@ -1,28 +0,0 @@
|
|||
table.treetable span.indenter {
|
||||
display: inline-block;
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
text-align: right;
|
||||
|
||||
/* Disable text selection of nodes (for better D&D UX) */
|
||||
user-select: none;
|
||||
-khtml-user-select: none;
|
||||
-moz-user-select: none;
|
||||
-o-user-select: none;
|
||||
-webkit-user-select: none;
|
||||
|
||||
/* Force content-box box model for indenter (Bootstrap compatibility) */
|
||||
-webkit-box-sizing: content-box;
|
||||
-moz-box-sizing: content-box;
|
||||
box-sizing: content-box;
|
||||
|
||||
width: 19px;
|
||||
}
|
||||
|
||||
table.treetable span.indenter a {
|
||||
background-position: left center;
|
||||
background-repeat: no-repeat;
|
||||
display: inline-block;
|
||||
text-decoration: none;
|
||||
width: 19px;
|
||||
}
|
||||
|
|
@ -1,88 +0,0 @@
|
|||
table.treetable {
|
||||
border: 1px solid #888;
|
||||
border-collapse: collapse;
|
||||
font-size: 1.0em;
|
||||
line-height: 1;
|
||||
margin: .6em 0 1.8em 0;
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
table.treetable caption {
|
||||
font-size: .9em;
|
||||
font-weight: bold;
|
||||
margin-bottom: .2em;
|
||||
}
|
||||
|
||||
table.treetable thead {
|
||||
background: #aaa url(data:image/png;base64,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) repeat-x top left;
|
||||
font-size: .9em;
|
||||
}
|
||||
|
||||
table.treetable thead tr th {
|
||||
border: 1px solid #888;
|
||||
font-weight: normal;
|
||||
padding: .3em 1em .1em 1em;
|
||||
text-align: left;
|
||||
}
|
||||
|
||||
table.treetable tbody tr td {
|
||||
cursor: default;
|
||||
padding: .3em 1em;
|
||||
height: 35px;
|
||||
}
|
||||
|
||||
table.treetable span {
|
||||
background-position: center left;
|
||||
background-repeat: no-repeat;
|
||||
padding: .2em 0 .2em 1.5em;
|
||||
}
|
||||
|
||||
table.treetable span.file {
|
||||
background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAQAAAC1+jfqAAAABGdBTUEAAK/INwWK6QAAABl0RVh0U29mdHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAADoSURBVBgZBcExblNBGAbA2ceegTRBuIKOgiihSZNTcC5LUHAihNJR0kGKCDcYJY6D3/77MdOinTvzAgCw8ysThIvn/VojIyMjIyPP+bS1sUQIV2s95pBDDvmbP/mdkft83tpYguZq5Jh/OeaYh+yzy8hTHvNlaxNNczm+la9OTlar1UdA/+C2A4trRCnD3jS8BB1obq2Gk6GU6QbQAS4BUaYSQAf4bhhKKTFdAzrAOwAxEUAH+KEM01SY3gM6wBsEAQB0gJ+maZoC3gI6iPYaAIBJsiRmHU0AALOeFC3aK2cWAACUXe7+AwO0lc9eTHYTAAAAAElFTkSuQmCC);
|
||||
}
|
||||
|
||||
table.treetable span.folder {
|
||||
background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAAK/INwWK6QAAABl0RVh0U29mdHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAGrSURBVDjLxZO7ihRBFIa/6u0ZW7GHBUV0UQQTZzd3QdhMQxOfwMRXEANBMNQX0MzAzFAwEzHwARbNFDdwEd31Mj3X7a6uOr9BtzNjYjKBJ6nicP7v3KqcJFaxhBVtZUAK8OHlld2st7Xl3DJPVONP+zEUV4HqL5UDYHr5xvuQAjgl/Qs7TzvOOVAjxjlC+ePSwe6DfbVegLVuT4r14eTr6zvA8xSAoBLzx6pvj4l+DZIezuVkG9fY2H7YRQIMZIBwycmzH1/s3F8AapfIPNF3kQk7+kw9PWBy+IZOdg5Ug3mkAATy/t0usovzGeCUWTjCz0B+Sj0ekfdvkZ3abBv+U4GaCtJ1iEm6ANQJ6fEzrG/engcKw/wXQvEKxSEKQxRGKE7Izt+DSiwBJMUSm71rguMYhQKrBygOIRStf4TiFFRBvbRGKiQLWP29yRSHKBTtfdBmHs0BUpgvtgF4yRFR+NUKi0XZcYjCeCG2smkzLAHkbRBmP0/Uk26O5YnUActBp1GsAI+S5nRJJJal5K1aAMrq0d6Tm9uI6zjyf75dAe6tx/SsWeD//o2/Ab6IH3/h25pOAAAAAElFTkSuQmCC);
|
||||
}
|
||||
|
||||
table.treetable tr.collapsed span.indenter a {
|
||||
background-image: url(data:image/png;base64,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);
|
||||
}
|
||||
|
||||
table.treetable tr.expanded span.indenter a {
|
||||
background-image: url(data:image/png;base64,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);
|
||||
}
|
||||
|
||||
table.treetable tr.branch {
|
||||
background-color: #f9f9f9;
|
||||
}
|
||||
|
||||
table.treetable tr.selected {
|
||||
background-color: #3875d7;
|
||||
color: #fff;
|
||||
}
|
||||
|
||||
table.treetable tr span.indenter a {
|
||||
outline: none; /* Expander shows outline after upgrading to 3.0 (#141) */
|
||||
}
|
||||
|
||||
table.treetable tr.collapsed.selected span.indenter a {
|
||||
background-image: url(data:image/png;base64,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);
|
||||
}
|
||||
|
||||
table.treetable tr.expanded.selected span.indenter a {
|
||||
background-image: url(data:image/png;base64,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);
|
||||
}
|
||||
|
||||
table.treetable tr.accept {
|
||||
background-color: #a3bce4;
|
||||
color: #fff
|
||||
}
|
||||
|
||||
table.treetable tr.collapsed.accept td span.indenter a {
|
||||
background-image: url(data:image/x-png;base64,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);
|
||||
}
|
||||
|
||||
table.treetable tr.expanded.accept td span.indenter a {
|
||||
background-image: url(data:image/x-png;base64,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);
|
||||
}
|
||||
|
|
@ -1,28 +0,0 @@
|
|||
body {
|
||||
background: #ddd;
|
||||
color: #000;
|
||||
font-family: Helvetica, Arial, sans-serif;
|
||||
line-height: 1.5;
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
}
|
||||
|
||||
#main {
|
||||
background: #fff;
|
||||
border-left: 20px solid #eee;
|
||||
border-right: 20px solid #eee;
|
||||
margin: 0 auto;
|
||||
max-width: 800px;
|
||||
padding: 20px;
|
||||
}
|
||||
|
||||
pre.listing {
|
||||
background: #eee;
|
||||
border: 1px solid #ccc;
|
||||
margin: .6em 0 .3em 0;
|
||||
padding: .1em .3em;
|
||||
}
|
||||
|
||||
pre.listing b {
|
||||
color: #f00;
|
||||
}
|
||||
|
|
@ -1,19 +0,0 @@
|
|||
/*
|
||||
* It is advised not to edit the smartadmin_production.css
|
||||
* as this will override any changes you make in the
|
||||
* later versions of this theme.
|
||||
*
|
||||
* We advise that you use use this CSS to override
|
||||
* SmartAdmin styles.
|
||||
*
|
||||
* Rename the stylesheet to whatever your liking so it will stay
|
||||
* unique to you with each update of SmartAdmin.
|
||||
*/
|
||||
|
||||
/*
|
||||
* INDEX
|
||||
*
|
||||
* - HTML
|
||||
* - BODY
|
||||
* - CUSTOM STYLES
|
||||
*/
|
||||
|
|
@ -1,33 +0,0 @@
|
|||
html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, font, img, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td {
|
||||
margin: 0;padding: 0;border: 0;outline: 0;font-weight: inherit;font-style: inherit;font-size: 100%;font-family: inherit;vertical-align: baseline;}
|
||||
body {color: #2f332a;font: 15px/21px Arial, Helvetica, simsun, sans-serif;background: #f0f6e4 \9;}
|
||||
h1, h2, h3, h4, h5, h6 {color: #2f332a;font-weight: bold;font-family: Helvetica, Arial, sans-serif;padding-bottom: 5px;}
|
||||
h1 {font-size: 24px;line-height: 34px;text-align: center;}
|
||||
h2 {font-size: 14px;line-height: 24px;padding-top: 5px;}
|
||||
h6 {font-weight: normal;font-size: 12px;letter-spacing: 1px;line-height: 24px;text-align: center;}
|
||||
a {color:#3C6E31;text-decoration: underline;}
|
||||
a:hover {background-color:#3C6E31;color:white;}
|
||||
input.radio {margin: 0 2px 0 8px;}
|
||||
input.radio.first {margin-left:0;}
|
||||
input.empty {color: lightgray;}
|
||||
code {color: #2f332a;}
|
||||
.highlight_red {color:#A60000;}
|
||||
.highlight_green {color:#A7F43D;}
|
||||
li {list-style: circle;font-size: 12px;}
|
||||
li.title {list-style: none;}
|
||||
ul.list {margin-left: 17px;}
|
||||
|
||||
div.content_wrap {width: 600px;height:380px;}
|
||||
div.content_wrap div.left{float: left;width: 250px;}
|
||||
div.content_wrap div.right{float: right;width: 340px;}
|
||||
div.zTreeDemoBackground {width:250px;height:362px;text-align:left;}
|
||||
|
||||
ul.ztree {margin-top: 10px;border: 1px solid #617775;background: #f0f6e4;width:220px;height:360px;overflow-y:scroll;overflow-x:auto;}
|
||||
ul.log {border: 1px solid #617775;background: #f0f6e4;width:300px;height:170px;overflow: hidden;}
|
||||
ul.log.small {height:45px;}
|
||||
ul.log li {color: #666666;list-style: none;padding-left: 10px;}
|
||||
ul.log li.dark {background-color: #E3E3E3;}
|
||||
|
||||
/* ruler */
|
||||
div.ruler {height:20px; width:220px; background-color:#f0f6e4;border: 1px solid #333; margin-bottom: 5px; cursor: pointer}
|
||||
div.ruler div.cursor {height:20px; width:30px; background-color:#3C6E31; color:white; text-align: right; padding-right: 5px; cursor: pointer}
|
||||
|
Before Width: | Height: | Size: 601 B |
|
Before Width: | Height: | Size: 580 B |
|
Before Width: | Height: | Size: 570 B |
|
Before Width: | Height: | Size: 762 B |
|
Before Width: | Height: | Size: 399 B |
|
Before Width: | Height: | Size: 710 B |
|
Before Width: | Height: | Size: 432 B |
|
Before Width: | Height: | Size: 534 B |
|
Before Width: | Height: | Size: 529 B |
|
Before Width: | Height: | Size: 467 B |
|
Before Width: | Height: | Size: 45 B |
|
Before Width: | Height: | Size: 381 B |
|
Before Width: | Height: | Size: 5.4 KiB |
|
Before Width: | Height: | Size: 11 KiB |
|
|
@ -1,97 +0,0 @@
|
|||
/*-------------------------------------
|
||||
zTree Style
|
||||
|
||||
version: 3.4
|
||||
author: Hunter.z
|
||||
email: hunter.z@263.net
|
||||
website: http://code.google.com/p/jquerytree/
|
||||
|
||||
-------------------------------------*/
|
||||
|
||||
.ztree * {padding:0; margin:0; font-size:12px; font-family: Verdana, Arial, Helvetica, AppleGothic, sans-serif}
|
||||
.ztree {margin:0; padding:5px; color:#333}
|
||||
.ztree li{padding:0; margin:0; list-style:none; line-height:14px; text-align:left; white-space:nowrap; outline:0}
|
||||
.ztree li ul{ margin:0; padding:0 0 0 18px}
|
||||
.ztree li ul.line{ background:url(./img/line_conn.gif) 0 0 repeat-y;}
|
||||
|
||||
.ztree li a {padding:1px 3px 0 0; margin:0; cursor:pointer; height:17px; color:#333; background-color: transparent;
|
||||
text-decoration:none; vertical-align:top; display: inline-block}
|
||||
.ztree li a:hover {text-decoration:underline}
|
||||
.ztree li a.curSelectedNode {padding-top:0px; background-color:#FFE6B0; color:black; height:16px; border:1px #FFB951 solid; opacity:0.8;}
|
||||
.ztree li a.curSelectedNode_Edit {padding-top:0px; background-color:#FFE6B0; color:black; height:16px; border:1px #FFB951 solid; opacity:0.8;}
|
||||
.ztree li a.tmpTargetNode_inner {padding-top:0px; background-color:#316AC5; color:white; height:16px; border:1px #316AC5 solid;
|
||||
opacity:0.8; filter:alpha(opacity=80)}
|
||||
.ztree li a.tmpTargetNode_prev {}
|
||||
.ztree li a.tmpTargetNode_next {}
|
||||
.ztree li a input.rename {height:14px; width:80px; padding:0; margin:0;
|
||||
font-size:12px; border:1px #7EC4CC solid; *border:0px}
|
||||
.ztree li span {line-height:16px; margin-right:2px}
|
||||
.ztree li span.button {line-height:0; margin:0; width:16px; height:16px; display: inline-block; vertical-align:middle;
|
||||
border:0 none; cursor: pointer;outline:none;
|
||||
background-color:transparent; background-repeat:no-repeat; background-attachment: scroll;
|
||||
background-image:url("./img/zTreeStandard.png"); *background-image:url("./img/zTreeStandard.gif")}
|
||||
|
||||
.ztree li span.button.chk {width:13px; height:13px; margin:0 3px 0 0; cursor: auto}
|
||||
.ztree li span.button.chk.checkbox_false_full {background-position:0 0}
|
||||
.ztree li span.button.chk.checkbox_false_full_focus {background-position:0 -14px}
|
||||
.ztree li span.button.chk.checkbox_false_part {background-position:0 -28px}
|
||||
.ztree li span.button.chk.checkbox_false_part_focus {background-position:0 -42px}
|
||||
.ztree li span.button.chk.checkbox_false_disable {background-position:0 -56px}
|
||||
.ztree li span.button.chk.checkbox_true_full {background-position:-14px 0}
|
||||
.ztree li span.button.chk.checkbox_true_full_focus {background-position:-14px -14px}
|
||||
.ztree li span.button.chk.checkbox_true_part {background-position:-14px -28px}
|
||||
.ztree li span.button.chk.checkbox_true_part_focus {background-position:-14px -42px}
|
||||
.ztree li span.button.chk.checkbox_true_disable {background-position:-14px -56px}
|
||||
.ztree li span.button.chk.radio_false_full {background-position:-28px 0}
|
||||
.ztree li span.button.chk.radio_false_full_focus {background-position:-28px -14px}
|
||||
.ztree li span.button.chk.radio_false_part {background-position:-28px -28px}
|
||||
.ztree li span.button.chk.radio_false_part_focus {background-position:-28px -42px}
|
||||
.ztree li span.button.chk.radio_false_disable {background-position:-28px -56px}
|
||||
.ztree li span.button.chk.radio_true_full {background-position:-42px 0}
|
||||
.ztree li span.button.chk.radio_true_full_focus {background-position:-42px -14px}
|
||||
.ztree li span.button.chk.radio_true_part {background-position:-42px -28px}
|
||||
.ztree li span.button.chk.radio_true_part_focus {background-position:-42px -42px}
|
||||
.ztree li span.button.chk.radio_true_disable {background-position:-42px -56px}
|
||||
|
||||
.ztree li span.button.switch {width:18px; height:18px}
|
||||
.ztree li span.button.root_open{background-position:-92px -54px}
|
||||
.ztree li span.button.root_close{background-position:-74px -54px}
|
||||
.ztree li span.button.roots_open{background-position:-92px 0}
|
||||
.ztree li span.button.roots_close{background-position:-74px 0}
|
||||
.ztree li span.button.center_open{background-position:-92px -18px}
|
||||
.ztree li span.button.center_close{background-position:-74px -18px}
|
||||
.ztree li span.button.bottom_open{background-position:-92px -36px}
|
||||
.ztree li span.button.bottom_close{background-position:-74px -36px}
|
||||
.ztree li span.button.noline_open{background-position:-92px -72px}
|
||||
.ztree li span.button.noline_close{background-position:-74px -72px}
|
||||
.ztree li span.button.root_docu{ background:none;}
|
||||
.ztree li span.button.roots_docu{background-position:-56px 0}
|
||||
.ztree li span.button.center_docu{background-position:-56px -18px}
|
||||
.ztree li span.button.bottom_docu{background-position:-56px -36px}
|
||||
.ztree li span.button.noline_docu{ background:none;}
|
||||
|
||||
.ztree li span.button.ico_open{margin-right:2px; background-position:-110px -16px; vertical-align:top; *vertical-align:middle}
|
||||
.ztree li span.button.ico_close{margin-right:2px; background-position:-110px 0; vertical-align:top; *vertical-align:middle}
|
||||
.ztree li span.button.ico_docu{margin-right:2px; background-position:-110px -32px; vertical-align:top; *vertical-align:middle}
|
||||
.ztree li span.button.edit {margin-right:2px; background-position:-110px -48px; vertical-align:top; *vertical-align:middle}
|
||||
.ztree li span.button.remove {margin-right:2px; background-position:-110px -64px; vertical-align:top; *vertical-align:middle}
|
||||
|
||||
.ztree li span.button.ico_loading{margin-right:2px; background:url(./img/loading.gif) no-repeat scroll 0 0 transparent; vertical-align:top; *vertical-align:middle}
|
||||
|
||||
ul.tmpTargetzTree {background-color:#FFE6B0; opacity:0.8; filter:alpha(opacity=80)}
|
||||
|
||||
span.tmpzTreeMove_arrow {width:16px; height:16px; display: inline-block; padding:0; margin:2px 0 0 1px; border:0 none; position:absolute;
|
||||
background-color:transparent; background-repeat:no-repeat; background-attachment: scroll;
|
||||
background-position:-110px -80px; background-image:url("./img/zTreeStandard.png"); *background-image:url("./img/zTreeStandard.gif")}
|
||||
|
||||
ul.ztree.zTreeDragUL {margin:0; padding:0; position:absolute; width:auto; height:auto;overflow:hidden; background-color:#cfcfcf; border:1px #00B83F dotted; opacity:0.8; filter:alpha(opacity=80)}
|
||||
.zTreeMask {z-index:10000; background-color:#cfcfcf; opacity:0.0; filter:alpha(opacity=0); position:absolute}
|
||||
|
||||
/* level style*/
|
||||
/*.ztree li span.button.level0 {
|
||||
display:none;
|
||||
}
|
||||
.ztree li ul.level0 {
|
||||
padding:0;
|
||||
background:none;
|
||||
}*/
|
||||
|
Before Width: | Height: | Size: 3.1 KiB |
|
Before Width: | Height: | Size: 3.3 KiB |
|
Before Width: | Height: | Size: 9.4 KiB |
|
Before Width: | Height: | Size: 289 B |
|
Before Width: | Height: | Size: 62 KiB |
|
Before Width: | Height: | Size: 2.3 KiB |
|
Before Width: | Height: | Size: 294 B |
|
Before Width: | Height: | Size: 475 B |
|
Before Width: | Height: | Size: 6.1 KiB |
|
Before Width: | Height: | Size: 917 B |
|
Before Width: | Height: | Size: 424 B |
|
Before Width: | Height: | Size: 327 B |
|
Before Width: | Height: | Size: 252 B |
|
Before Width: | Height: | Size: 2.2 KiB |
|
Before Width: | Height: | Size: 479 B |
|
Before Width: | Height: | Size: 9.2 KiB |
|
Before Width: | Height: | Size: 2.9 KiB |
|
Before Width: | Height: | Size: 510 B |
|
Before Width: | Height: | Size: 496 B |
|
Before Width: | Height: | Size: 517 B |
|
Before Width: | Height: | Size: 511 B |
|
Before Width: | Height: | Size: 502 B |